- 论坛徽章:
- 13
|
本帖最后由 _nosay 于 2016-01-06 14:19 编辑
1. add oprd1, oprd2
功能:
oprd1与oprd2相加,赋给oprd1,oprd1←oprd1+oprd2。
标志寄存器影响:
CF:最高位产生进位时,CF=1
OF:带符号数运算结果溢出时,OF=1
PF:运算结果含1个数为偶数时,PF=1
SF:运算结果最高位为1时,SF=1
ZF:运算结果为0时,ZF=1
AF:字节运算bit3产生进位,或字运算bit7产生进位时,AF=1
使用注意:
参考“mov指令”。
opcode:
无0F前缀:00~05
有0F前缀:无
adc oprd1, oprd2
功能:
oprd1←oprd1+oprd2+cf。
标志寄存器影响:
同“add指令”。
使用注意:
同“add指令”。
opcode:
无0F前缀:10~15
有0F前缀:无
inc oprd
功能:
将oprd加1,oprd←oprd+1。
标志寄存器影响:
OF:带符号数运算结果溢出时,OF=1
PF:运算结果含1个数为偶数时,PF=1
SF:运算结果最高位为1时,SF=1
ZF:运算结果为0时,ZF=1
AF:字节运算bit3产生进位,或字运算bit7产生进位时,AF=1
使用注意:
oprd为寄存器或内存。
opcode:
无0F前缀:40~47
有0F前缀:无
2. sub oprd1, oprd2
功能:
oprd1与oprd2相减,赋给oprd1,oprd1←oprd1-oprd2。
标志寄存器影响:
CF:最高位产生借位时,CF=1
OF:带符号数运算结果溢出时,OF=1
PF:运算结果含1个数为偶数时,PF=1
SF:运算结果最高位为1时,SF=1
ZF:运算结果为0时,ZF=1
AF:字节运算bit3产生借位,或字运算bit7产生借位时,AF=1
使用注意:
同“add指令”。
opcode:
无0F前缀:28~2D
有0F前缀:无
sbb oprd1, oprd2
功能:
oprd1←oprd1-oprd2-cf。
标志寄存器影响:
同“sub指令”。
使用注意:
同“sub指令”。
opcode:
有0F前缀:18~1D
无0F前缀:无
dec oprd
功能:
将oprd减1,oprd←oprd-1。
标志寄存器影响:
OF:带符号数运算结果溢出时,OF=1
PF:运算结果含1个数为偶数时,PF=1
SF:运算结果最高位为1时,SF=1
ZF:运算结果为0时,ZF=1
AF:字节运算bit3产生借位,或字运算bit7产生借位时,AF=1
使用注意:
oprd为寄存器或内存。
opcode:
有0F前缀:48~4F
无0F前缀:无
cmp oprd1, oprd2
功能:
oprd1与oprd2相减,oprd1-oprd2。
标志寄存器影响:
同“sub指令”。
使用注意:
同“sub指令”。
opcode:
有0F前缀:38
无0F前缀:无
neg oprd
功能:
oprd←0-oprd。
标志寄存器影响:
同“sub指令”。
使用注意:
oprd为寄存器或内存。
opcode:
3. mul oprd
功能:
AX←AL*字节操作数
DX:AX←AX*字操作数
标志寄存器影响:
结果的高半部分(即字节乘时AH,字乘时DX)为0,则OF、CF为0,否则为1 。
使用注意:
oprd为字节,隐含被乘数为AL,结果在AX;oprd为字,隐含被乘数为AX,结果在DX:AX。
opcode:
有0F前缀:69
无0F前缀:AF
imul oprd1[, oprd2[, oprd3]]
功能:
imul oprd1: AX←AL*oprd1 或 DX:AX←AX*oprd1
imul oprd1, oprd2:oprd1←oprd1*oprd2 (类似“add指令”)
imul oprd1, oprd2, oprd3:oprd1←oprd2*oprd3
使用注意:
标志寄存器影响:
opcode:
4. div oprd
功能:
AX/字节除数:AL←商,AH←余数;
DX:AX/字除数:AX←商,DX←余数。
标志寄存器影响:
使用注意:
oprd为字节,隐含被除数为AX,结果在AL、AH;oprd为字,隐含被除数为DX:AX,结果在AX、DX。
opcode:
idiv oprd
功能:
同“div指令”,只是将除数、被除数的最高位当作符号。
标志寄存器影响:
使用注意:
oprd为寄存器或内存。
opcode:
cbw、cwd
功能:
cbw:AL最高位为0,AH←0;AL最高位为1,AH←0FFH;
cbd:AX最高位为0,DX←0;AX最高位为1,DX←0FFFFH。
标志寄存器影响:
无
使用注意:
隐含操作数为AX或DX:AX。
opcode:
cbw无0F前缀:98
cwd无0F前缀:99
5. AAA、AAS、AAM、AAD、DAA、DAS
http: //bbs.chinaunix.net/thread-4193368-1-1.html |
|