第3章 80X86的寻址方式 及指令系统.pptVIP

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

哈哈 第3章 80X86的寻址方式 及指令系统 本章要点 80X86系统的各种寻址方式 标志位的符号表示 3.1 8086的寻址方式(addressing mode) 3.2 8086/8088的指令系统 3.4 小 结 5,符号扩展指令 CBW ;将AL中的字节数符号扩展成AX中的字. CWD ;将AX中的字符号扩展成DX与AX中的双字. 扩展时:正数扩0, 负数扩1 已知 AL=85H, BX=0345H,求BX+AL的和 执行 CBW ;85H是负数,得到 AX=0FF85H ADD AX,BX ;0FF85H+0345H = 02CAH 得到 AX=02CAH 例 6,BCD数调整指令 操作数使用隐含寻址,且规定为AL或AX (1) 针 对 组 合 BCD 数 组合BCD数的加法调整指令,半字节1位BCD 相加,超过9或有进位,要加6调整,低半字节 调整后有进位,高半字节再调整。表示为: 若 AL0FH9 或 AF=1, 则 AL+6?AL,1 ?AF 若 AL0F0H90H 或 CF=1, 则 AL+60H?AL,1?CF DAA ① (1) 针 对 组 合 BCD 数 组合BCD数的减法调整指令,半字节1位BCD 相减,有借位,要减6调整。表示为: 若 AL0FH9 或 AF=1,则 AL-6?AL, 1 ? AF 若 AL9FH 或 CF=1, 则 AL-60H?AL, 1 ? CF DAS ② (1) 针 对 分 离 BCD 数 AAA 分离BCD数的加法调整指令,只取低半字节, 其余同组合BCD数。表示为: 若 AL0FH9 或 AF=1, 则AL+6?AL, AH+1?AH, 1?AF ; AF?CF, AL0FH?AL (只取低4位) ① (1) 针 对 分 离 BCD 数 AAS 分离BCD数的减法调整指令,只取低半字节, 其余同组合BCD数。表示为: 若 AL0FH9 或 AF=1, 则AL-6?AL, AH-1?AH, 1?AF ; AF?CF, AL0FH?AL (只取低4位) ② (1) 针 对 分 离 BCD 数 AAM 分离BCD数的乘法调整指令,两个BCD数相乘, 结果在AL中,除以10后商在AH中,余数在AL中。 表示为: AL/0AH?AH (商) AL MOD 0AH?AL (余) ③ (1) 针 对 分 离 BCD 数 AAD 分离BCD的除法调整指令,先将两个BCD码 转为一字节二进制(用高位*10+低位),得到被 除数放于AL中,并把AH清零,运算后, 商-AL,余数-AH 表示为: AH*0AH+AL?AL,0?AH; 先调整再做除法,商到AL中,余数到AH中。 ④ 3.2.3 位操作指令 1、逻辑运算类指令: 参与运算的操作数可以是字节或字 AND DST,SRC ; DST∧SRC?DST,清CF、OF ;根据结果置SF、ZF和PF,标志AF不定 OR DST,SRC ; DST∨SRC?DST,标志位设置同上 XOR DST,SRC ; DST 异或SRC-?DST, 标志位设置同上 TEST DST,SRC ; DST∧SRC,仅置标志位,标志位设置同上 NOT DST ; DST中各位取反?DST,不影响标志位 OR CL,03H ;置位CL的D0、D1 AND AL,0F5H ;清AL的D1、D3 XOR AH,0FH ; AH的低半字节取反 TEST AL,02H ;判断AL的D1是否为0, ;是,ZF=1,否则,ZF=0 XOR AL,TEST_CODE ; 当AL与TEST_CODE相同时,ZF=1,否则,ZF=0 逻辑运算指令经常用来对寄存器或存储单元的某 些位进行置位(1)或者清零(0)的操作。 例:

文档评论(0)

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

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

1亿VIP精品文档

相关文档