linux中使用的AT&T格式的汇编指令,所以总结一下一些比较重要的指令。
1.寻址模式
有多种不同的寻址模式,允许不同形式的存储器引用。我们用符号Ea表示任意寄存器,R[Ea]表示它的值。M[addr]表示addr处地址的值。
题目:
答案:0x100,0xAB,0x108,0xFF,0x11,0x12,0xFF,0x11。
2.leal指令
加载有效地址指令其实是movl指令的变形。它的指令式是从存储器读数据到寄存器,但实际上它根本没有引用存储器。它的第一个操作数看上去是一个存储器引用,但该指令并不是从指定的位置读入数据,而是将有效地址写入到目的操作数。这条指令可以为后面的存储器引用产生指针。例如寄存器%edx的值为x,那么指令leal 7(%edx,%edx,4),%eax将设置寄存器%eax的值为5x+7
3.TEST S1,S1
通过计算S1&S2设置条件码
4.跳转指令
5.leave指令
恢复原ebp、esp的值,相当于:
movl %ebp,%esp;
popl %ebp;
AT&T汇编指令介绍
时间: 2024-11-07 08:14:44