微机原理 算术运算指令.docVIP

  1. 1、本文档共4页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
微机原理 算术运算指令

二,算术运算指令 注:段寄存器不参加算数运算 1,加/减 每个指令都对无符号和带符号数有效 ADD/ SUB 字或字节操作 Add/ SUB a,b ;a(a +/- b 影响6个标志位 ADC/SBB 字或字节操作 ADC/SBB A,B ; A(A +/- B +/- (CF) 影响6个标志位 操作数:和ADD/ SUB相同 INC/DEC 字或字节操作 INC/NEG A ;A(A +/- 1 不影响CF,其他的影响 操作数:寄存器或存储器数 CMP 字或字节操作 CMP A,B ; A-B 影响6个标志位 操作数:和ADD/ SUB相同 结果:只是进行相减,不进行结果的储存,目的是为了影响标志位 NEG(求补运算) 字或字节操作 NEG A ;A(0-A 影响6个标志位 操作数:寄存器或存储器数 结果:与求补运算的原理一样,但是0向前有借位;计算机中带符号数都是以补码的形式存储和运算,所以结果是A为X的补码,求出来的A变成了-X的补码; 常用于求负数的绝对值 加/减的调整 跟在:ADD/ SUB, ADC/SBB后面 AAA/ASS (字节) 对非压缩BCD码操作 影响CF,AF 对非压缩BCD码操作(四位最大为9) 操作数:隐含为AL和AH 结果:AAA:将al中数据的低四位大于9的部分以1加到AH,并令AF=CF=1,al低四位中只保留小于等于9的部分,并且al以BCD码的形式存储 ASS: al低四位大于9,说明向前借位了,但是借以为在计算机中表示16D,在十进制中应该是10D,为了正确表示要将低四位减去6,且AH=AH-1,并令AF=CF=1,最终al以非压缩BCD码的形式存储 DAA /DAS (字节) 对压缩BCD码操作 影响6个标识符 操作数:隐含为AL,不改变AH 结果:DAA:将al中数据低四位大于9的以1加到高四位,并且AF=1,低四位中只保留小于等于9的部分;加了以后的高四位大于9的部分以1存在CF=1,小于等于9的保留在高四位 DAS: al低四位大于9,低四位减6,AF=1;被借位走的高四位大于9的部分也减去6,CF=1 2,乘/除 MUL 乘 字或字节操作(无符号数) MUL A ;(AX)(A*(AL) 字节操作 ;(DX:AX)(A*(AX) 字操作 影响CF=OF标志位 操作数:寄存器或存储器数 结果:8位乘数在AL中,结果放在AX中;16位乘数在AX中,结果在DX:AX中.如果结果中高半部分为0,说明无有效数字,即无进位和溢出,则CF=OF=0,否则为1 例:乘2的n次方时,可以将该数直接向左移位n就行,这样速度快 DIV 除 字或字节操作(无符号数) 操作数:寄存器或存储器数 不影响标志位 DIV A ;(AL)((AX)/A (AH)((AX)%A 字节操作,除数A为字节,被除数字在AX中 DIV A ;(AX)((DX:AX)/A (DX)((DX:AX)%A 字操作,除数A为字,被除数DX:AX为双字 注:被除数位数是除数的2倍,如果不是需要0扩展 出错:商大于AL/AX的无符号数表示范围,或除数为0,CPU产生中断 例:除2的n次方时,可以将该数直接向右移位n就行,这样速度快 IMUL 乘 字或字节操作(带符号数) IMUL A ;(AX)(A*(AL) 字节操作 ;(DX:AX)(A*(AX) 字操作 影响CF=OF标志位 操作数:寄存器或存储器数 结果:8位乘数在AL中,结果放在AX中;16位乘数在AX中,结果在DX:AX中.如果结果中高半部分为符号的扩展部分,说明无有效数字,即无进位和溢出,则CF=OF=0,否则为1 IDIV 除 字或字节操作(带符号数) 操作数:寄存器或存储器数 不影响标志位 IDIV A ;(AL)((AX)/A (AH)((AX)%A 字节操作,除数A为字节,被除数字在AX中 IDIV A ;(AX)((DX:AX)/A (DX)((DX:AX)%A 字操作,除数A为字,被除数DX:AX为双字 注:被除数位数是除数的2倍,如果不是需要符号扩展 余数符号和被除数相同 出错:商大于AL/AX的带符号数表示范围,或除数为0,CPU产生中断 乘/除的调整 跟在:MUL后 AAM 对非压缩BCD码 影响标志位SF,ZF,PF 操作数:隐含为AL和AH 结果:(AL)除以0A H(10D),商(十位)放在AH中,余数(个位)放AL,即积以非压缩BCD的形式放在AXZ中,且A

您可能关注的文档

文档评论(0)

xy88118 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档