免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 1762 | 回复: 0
打印 上一主题 下一主题

汇编-算术运算指令 [复制链接]

论坛徽章:
13
15-16赛季CBA联赛之八一
日期:2016-07-08 21:00:1415-16赛季CBA联赛之同曦
日期:2017-02-15 14:26:1515-16赛季CBA联赛之佛山
日期:2017-02-20 14:19:2615-16赛季CBA联赛之青岛
日期:2017-05-07 16:49:1115-16赛季CBA联赛之广夏
日期:2017-07-30 09:13:1215-16赛季CBA联赛之广东
日期:2018-07-05 22:34:3615-16赛季CBA联赛之江苏
日期:2018-09-03 12:10:2115-16赛季CBA联赛之上海
日期:2018-09-25 03:49:2215-16赛季CBA联赛之广东
日期:2018-09-25 04:09:12
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2016-01-06 10:29 |只看该作者 |倒序浏览
本帖最后由 _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
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP