对于以下AT&T格式汇编指令,根据操作数的长度确定对应指令助记符中的长度后缀,并说明每条指令中源操作数和目的操作数的寻址方式。(1)mov_ 8(%ebp, %ebx, 4) , %ax (2)mov_ %al, 12(%ebp) (3)add_(, %ebx, 4),%ebx (4)or_(%ebx),%dh (5)push_ S0xF8 (6)mov_ $0xFFFO, %eak (7)test_%cx, %Cx (8)lea_ 8(%cbx, %es) ,%eax
时间: 2024-03-04 16:53:27 浏览: 270
AT&T 汇编指令说明
(1) movw: 源操作数为内存地址在 %ebp 和 %ebx 寄存器的和再加上 8,目的操作数为寄存器 %ax。源操作数寻址方式为基址加变址,目的操作数寻址方式为寄存器直接寻址。
(2) movb: 源操作数为寄存器 %al,目的操作数为内存地址在 %ebp 寄存器的值再加上 12。源操作数寻址方式为寄存器直接寻址,目的操作数寻址方式为基址寻址。
(3) addl: 源操作数为内存地址在 %ebx 寄存器的值,目的操作数为寄存器 %ebx。源操作数寻址方式为寄存器寻址,目的操作数寻址方式为寄存器直接寻址。
(4) orb: 源操作数为内存地址在 %ebx 寄存器的值,目的操作数为寄存器 %dh。源操作数寻址方式为寄存器寻址,目的操作数寻址方式为寄存器直接寻址。
(5) pushw: 操作数为内存地址 S0xF8 的值。操作数寻址方式为直接寻址。
(6) movl: 源操作数为立即数 0xFFFO,目的操作数为寄存器 %eax。源操作数寻址方式为立即数寻址,目的操作数寻址方式为寄存器直接寻址。
(7) testw: 源操作数为寄存器 %cx,目的操作数为寄存器 %cx。源操作数和目的操作数寻址方式均为寄存器直接寻址。
(8) leal: 源操作数为内存地址在 %cbx 和 %es 寄存器的和再加上 8,目的操作数为寄存器 %eax。源操作数寻址方式为基址加变址,目的操作数寻址方式为寄存器直接寻址。
阅读全文