1.传送指令
-通用数据传送指令
MOV:一般传送,movb、movw、movl等(b是8位,w是16位,l是32位)。
MOVS:符号扩展传送,movsbw(比如把char型赋值给int型,高8位就用char型变量第一位的符号进行扩展)、movswl。
MOVZ:零扩展传送,movzwl、movzbl等。
XCHG:数据交换
PUSH/POP:出栈/入栈,pushl、popw等
-地址传送指令
LEA:加载有效地址,leal(%edx,%eax),%eax的功能是把eax基址寄存器内容加上eax变址寄存器内容传给eax。
2.定点算法运算指令
3.控制转移指令
-无条件转移指令
JMP DST:无条件转移到目标指令DST 处执行
-条件转移
Jcc DST:cc为条件码
-调用和返回指令
CALL DST:返回地址RA入栈,转DST处执行
RET:从栈中取出返回地址RA,转到RA处执行
-
CF(进位标志) =1 算术操作最高位产生了进位或借位 =0 最高位无进位或借位 ;
-
PF(奇偶标志) =1 数据最低8位中1的个数为偶数 =0 数据最低8位中1的个数为奇数;
-
AF(辅助进位标志) =1 D3→D4位产生了进位或借位 =0 D3→D4位无进位或借位;
-
ZF(零标志) =1 操作结果为0 =0 结果不为0;
-
SF(符号标志) =1 结果最高位为1 =0 结果最高位为0;
-
OF(溢出标志) =1 此次运算发生了溢出 =0 无溢出。