第三章 80868088指令系统.pptVIP

  1. 1、本文档共181页,可阅读全部内容。
  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文档。上传文档
查看更多
3.1 概述 作业 P78-3、4、5 作业 P78-6、7、8、9 作业 P79-11、12、25 作业 P80-14、21、22、23 (3) XOR d, s 功能:s 和 d 按位相 “异或”,结果送 d 。 XOR 操作经常用于将某些位取反,其它位不变。 0101,0101,0101,0101B 0000,1111,0000,1111B 0101,1010,0101,1010B XOR 例: (4) NOT d 功能:将 d 按位求反后送回。 (5) TEST d, s 功能:s 和 d 按位相 “与”,但不送结果,只根据结果设置标志位。 TEST 指令通常用于测试某些位是为0还是为1。 2. 移位指令和循环移位指令 (1) 算术移位 a. 算术左移 CF 0 1 0 1 1 0 1 0 1 0 CF 0 0 1 1 0 1 0 1 0 1 左移 1 次: SAL d, 1 左移多次: SAL d, CL (CL中为移位次数) 例:MOV BL, SAL BL, 1 结果: CF = 1,BL = 0 CF 注:移位多次时,移位次数必须预先置入CL中。 右移 1 次: SAR d, 1 右移多次: SAR d, CL b. 算术右移 CF 符号位 (2) 逻辑移位 a. 逻辑左移 SHL与SAL等价。 b. 逻辑右移 SHR d, 1 SHR d, CL CF 0 (3) 循环左移 不带进位循环左移 ROL d, 1 ROL d, CL CF (4) NEG d 功能:对d进行求补运算后送回 (按位求反再加1)。 例:MOV AL,7FH NEG AL 结果:AL=7F按位求反+1=80H+1=81H (5) 比较指令 CMP d, s 功能:作一次减法运算d–s,但不回送结果,只根据结果设置标志位。 比较指令往往用于判断两数是否相等,或两数大小关系。若相等,则零标志ZF=1。 3. 乘法指令 乘法指令在指令中只出现一个操作数s (乘数),另一个操作数固定在累加器(AX或AL)中。 (1) MUL s 功能:无符号数乘法指令 a. 8位乘法 被乘数=AL,乘数=s 积(16位)=AH:AL中,即在AX中 AH为高8位,AL为低8位。 AL (8位) s (8位) ? AH AL (16位) b. 16位乘法 被乘数=AX,乘数=s 积(32位)=DX:AX DX为高16位,AX为低16位。 AX (16位) s (16位) ? DX AX (32位) 例:MUL BX 若执行前 AX=0012H,BX=0066H 则执行后 DX=0000H,AX=072CH (2) IMUL s 功能:有符号数乘法指令 8086规定,有符号数一般采用补码表示。故有符号数作乘法运算时,必须先把它们转变为原码数相乘,积也为原码数,再将原码数转变为补码数。这个工作由CPU自动完成。 例:MOV AL,88H; 88H为 –120的补码 MOV BL,2 IMUL BL 结果:AX=FF10H ;FF10H为–240的补码 若直接用MUL BL指令,则AX=0110H 4. 除法指令 (1) DIV s 功能:无符号数相除 a. 字节除 被除数=AX,除数=s (s?0) 结果:商=AL,余数=AH AL AH AL (8位) (16位) ... AH (8位) s(8位) 商 余数 b. 字除 被除数=DX:AX,除数= s (s?0) 结果:商=AX,余数=DX AX DX AX (16位) (32位) ... DX (16位) s (16位) 商 余数 注:如果除数太小,使得商超出了一个字节或字所能表示的范围,则会产生“被0除”错误。 例:MOV AX,800H MOV BL,2 DIV BL 结果错误,“被0除” (2) IDIV s 功能:带符号数除法 采用的固定寄存器与DIV相同。 (3) CBW和CWD CBW:字节除法的符号扩展指令 功能:若AL为正数(D7=0) 则 AH=00H AL为负数(D7=1) 则 AH=FFH CWD:字除法的符号扩展指令 功能:若AX为正数(D15=0) 则 DX=0000H AX为负数(D15=1) 则 DX=FFFFH CBW和CWD一般用于带符号数除法指令之前。 5. 十进制调整指令 运算器按二进制规律进行运算,如果参与运算的是BCD码数,则需要对结果进行调整。 1000 1001 0000 1001

文档评论(0)

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

文档有任何问题,请私信留言,会第一时间解决。

版权声明书
用户编号:7043023136000000

1亿VIP精品文档

相关文档