- 1、本文档共11页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
3.4.2 算术运算指令
目的操作数 源操作数 1
算术加法 ⑴
算
术
加
法
指
令 ADD
目, 源 功能 目 ← 目 + 源
注意:
·参加运算的数可以是:无符号整数、带符号整数、压缩,非压缩BCD数
·目的操作数不能是立即数
·当有进位时,进位状态标志位CF=1。否则CF=0
·对带符号整数要考虑溢出问题,溢出时,OF=1
判断法则:在运算中,
标志位 OF =(数值位向前进位)?(最高位向前进位)=1时则判断有“溢出”。 ||
进位标志位CF
例 ADD AL, 12 H ⑵
带进位加法指令 ADC 目, 源 功能 目 ← 目 + 源 + CF
||
本指令执行前的进位状态标志
注意
·参加运算的数可以是:无符号整数、带符号整数、压缩,非压缩BCD数
·目的操作数不能是立即数
·当有进位时,进位状态标志位CF=1。否则CF=0
·两个带符号数操作要考虑溢出问题。OF=1
·需要完成32位或更多字节加法时用 例,
略 ⑶
加
1
指令 INC 目 功能 目 ← 目+1
注意
·参加运算的数可以是:无符号整数、带符号整数、压缩,非压缩BCD数
·目的操作数不能是立即数
·不影响进位状态标志位CF
·目的操作数为内存寻址时,须使用伪指令。 例
INC AX
INC BYTE PTR[BX] ⑷
对压缩B
C
D数加法操作的结果进行校正指令 DAA (隐含为AL) 功能 对AL寄存器的内容进行十进制数校正调整。
注意
· 操作数必须是压缩BCD数。
· 用在压缩BCD加法操作之后,且加法结果存在AL中。
· 压缩BCD加法校正方法(可略)
对于AL寄存器的低4位
对于AL寄存器的高4位
辅助进位
标志位AF
或
AL的低4位
进位标志位CF
或
AL的高4位
当
AF=1 。
即低4位向高4位有进位
超出范围。
即范围:0AH~0FH
CF=1
即最高位向前有进位
超出范围.
即范围:0AH~0FH
则
AL+ 06H
||
0000 0110 B
AL + 60H
||
0110 0000 B
AL + 6060H
||
0110 0110 B
且
AF置1
CF置1
例
MOV AL, 86H ( 86H=1000 0110 B= 1000 0110(BCD))
ADD AL, 96H ( 96H=1001 0110 B= 1001 0110 (BCD ))
DAA
⑸
对非压缩BCD数加法操作的结果进行校正指令
AAA AL(隐含) 功能
对AL寄存器的内容进行十进制数调整
注意
· 操作数必须是非压缩的BCD数。
· 用在非压缩BCD加法操作之后,且加法结果存在AL中。
· 应先将AH请零
· 校正方法(略)
Y
N
AL+06H
AH+1
AF置1
AL 高4位清零
AF位的值送入CF
例
MOV AX, 09
·09是十进制数,其BCD数位(0000 1001)BCD , 非压缩
·(AH)=0000,即已将AH请零
·(AL)=( 1001) BCD
ADD AL, 07
·07是十进制数,其BCD数位(0111)BCD ,非压缩
AAA (校正后) 2算术减法
⑴
算术减法指令 SUB 目
源 功能
目 ← 目 ? 源
注意:
·目的操作数不能是立即数
·当减法有借位时,进位状态标志位CF=1。否则CF=0
·两个无符号数减法,若CF=1,结果为补码。
·两个带符号数减法,要考虑溢出问
文档评论(0)