欢迎来到天天文库
浏览记录
ID:43055635
大小:337.90 KB
页数:11页
时间:2019-09-24
《上海工程技术大学微机原理与接口技术复习题2算术运算指令》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、3.4.2算术运算指令目的操作数源操作数1算术加法⑴算术加法指令ADD目,源功能目一目+源注意:•参加运算的数可以是:无符号整数、带符号整数、压缩,非压缩BCD数・目的操作数不能是立即数•当有进位时,进位状态标志位CF=k否则CF=O•对带符号整数要考虑溢出问题,溢出时,OF=1判断法则:在运算中,标志位OF=(数值位向前进位)V(最高位向前进位)=1时则判断有“溢出”。II进位标志位CF例ADDAL,12H⑵带进位加法指令ADC目,源功能目一目+源+CFII本指令执行前的进位状态标志注意•参加运算的数可以是:无符号整数、带符号整数、压缩,非压缩BCD数・目的操作数不能是立即数•当有进位时,
2、进位状态标志位CF=k否则CF=0•两个带符号数操作要考虑溢出问题。OF=1・需要完成32位或更多字节加法时用例,略⑶加1指令1NCH功能目一0+1注意•参加运算的数可以是:无符号整数、带符号整数、压缩,非压缩BCD数・目的操作数不能是立即数・不影响进位状态标志位CF•目的操作数为内存寻址时,须使用伪指令。例INCAXINCBYTEPTR[BX](4)DAA对压缩功能BCD数加法操作的结果进行校正指令(隐含为AL)对AL寄存器的内容进行十进制数校正调整。注意・操作数必须是压缩BCD数。・用在压缩BCD加法操作Z后,且加法结果存在AL中。・压缩BCD加法校正方法(可略)对于AL寄存器的低4位
3、对于AL寄存器的高4位辅助进位标志位AF或AL的低4位进位标志位CF或AL的高4位当AF=1。即低4位向高4位有进位超出范围。即范围:0AH-0FHCF二1即最高位向前有进位超出范围.即范围:0AH-0FH则AL+06HII00000110BAL+60HII01100000BAL+6060HII01100110B且AF置1CF置1例MOVAL,86HADDAL,96HDAA(86H=10000110B=10000110(BCD))(96H=10010110B=10010110(BCD))⑸对非压缩BCD数加法操作的结果进行校正指令AAA功能AL(隐含)对AL寄存器的内容进行十进制数调整注意・
4、操作数必须是非压缩的BCD数。・用在非压缩BCD加法操作之后,且加法结果存在AL中。・应先将All请零・校正方法(略)AL+06HAH+1AF置1AL高4位清零AF位的值送入CF例MOVAX,09•09是十进制数,其BCD数位(00001001)bcd,非压缩・(AH)二0000,即已将AH请零・(AL)=(1001)bcdADDAL,07・07是十进制数,其BCD数位(0111)bcd,非压缩AAA(校正后)2算术减法⑴术减法抬令SUB目源功能目一目—源注意:・目的操作数不能是立即数•当减法有借位时,进位状态标志位CF=lo否则CF=()•两个无符号数减法,若CF=1,结果为补码。•两个带
5、符号数减法,要考虑溢出问题时。例SUBAX,BXSUBBYTEPTR[SI],2456H⑵带进位算术减法抬令SBB目,源功能目一目一源一CFII本指令执行前的进位状态标志注意:・在需要完成多字节减法时使用・目的操作数不能是立即数•两个无符号数减法,若CF=1,结果为补码・两个带符号数减法要考虑溢出问题时。例略⑶减1指令DEC目功能目一冃一1注意:・目的操作数不能是立即数・不影响进位状态标志位CF・目的操作数为内存寻址时,须使用伪指令。例DECCXDECWORDPTR[BX]⑷对压缩BCD数减法操作的结果进行校正指令DAS(隐含为AL)功能对AL寄存器的内容进行十进制数调整。注意:・操作数必须
6、是压缩BCD数。・用在压缩BCD减法操作之后,且加法结果存在AL中。・校正方法(略)对于AL寄存器的低4位对于AL寄存器的高4位辅助进位标志位AF或AL的低4位进位标,忐位CF或AL的高4位当AF=1。即低4位向高4位有借位超出范围。即范ffl:0AH-0FHCF=1即最高位向前有借位超出范围.即范宦1:0AH〜0FH则AL-06HII00000110BAL一60HII01100000BAL一6060HII01100110B且AF置1CF置1例MOVAL,86HADDAL,54HDAS⑸对非n<缩BCD数加法操作的结果进行ASS(隐含为AL)功能对AL寄存器的内容进行十进制数调整注意:・操
7、作数必须是非压缩的BCD数。・用在非压缩BCD加法操作之后,且加法结果存在AL中。•先将AH请零・校正方法(略)校正指令AL-06HAH-1AF置1]—AL高4位清零AF位的值送入CFMOVAX.09SUBAL,07AAS⑹比较指令CMP目,执行“冃-源”,但不产生运算结果,仅影响标志位。完成两个操作的比较。・目的操作数不能是立即数・两个操作数不能同吋为存储器操作⑺取补指令即绝对取补指令NEG功能目一0-目注
此文档下载收益归作者所有