第3章8086指令系统(上).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文档。上传文档
查看更多
④非压缩的BCD码除法调整指令 (P104) 格式:AAD(ASCII Adjust for Division) 功能:执行除法指令前,将AL(个位数)和AH(十位数)中的非压缩BCD码调整为二进制数,并存放在AL中。 (AL)←(AH)×0AH+(AL),(AH)←0。 * 【例3-26】 用十进制计算31÷7的程序段如下: MOV AX, 0301H MOV BL, 07H AAD ;(AX)=001FH DIV BL ;商(AL)=4,余数(AH)=3 * 3.3.3 逻辑运算与移位 (Logic and Shift)类指令 逻辑运算(布尔型)指令也是经常使用的一组重要指令,它包括逻辑与、逻辑或、逻辑非和异或指令等。 移位指令包括逻辑移位指令、算术移位指令和循环移位指令等。 * AND(and) 逻辑与 OR(or) 逻辑或 NOT(not) 逻辑非 XOR(exclusive or) 异或 TEST(test) 测试 1.布尔型指令 * 逻辑非指令:NOT OPR * OPR不能为立即数 执行操作: (OPR) ? ? (OPR) * 不影响标志位 逻辑与指令:AND DST, SRC 执行操作: (DST) ? (DST) ? (SRC) 逻辑或指令:OR DST, SRC 执行操作: (DST) ? (DST) ? (SRC) 异或指令: XOR DST, SRC 执行操作: (DST) ? (DST) ? (SRC) 测试指令: TEST OPR1, OPR2 执行操作: (OPR1) ? (OPR2) CF OF SF ZF PF AF 0 0 * * * 无定义 根据运算结果设置 * 注意: NOT指令不允许使用立即数作为操作数,其他指令的目的操作数不允许使用立即数,两个操作数不允许同时是存储器。 NOT指令不影响标志位,其他指令影响到的标志位有:CF、OF、PF、SF和ZF,对AF无定义。 * 用AND指令对指定位清零。 例如:AND AL, 0FH 将AL中高4位清零。 用OR指令对一些位置1。例如 OR AL,80H 用XOR指令对某些位取反。 例如 XOR AL,80H TEST指令和AND指令类似,都是执行逻辑与操作,但TEST指令不送回操作结果,仅影响标志位。例如: TEST AL,80H ;测AL最高位是否为1,若是, ;ZF=0, AL的内容为负数,否则, ;ZF=1,为正数。 * 2. 移位指令 移位指令包括算术移位指令、逻辑移位指令和循环移位指令,分别进行左移和右移操作。这些指令均有统一的语句格式: [标号:] 操作符 OPR,1 或 [标号:] 操作符 OPR,CL 其功能为将目的操作数的所有位按操作符规定的方式移动1位或按寄存器CL规定的次数(0~255)移动,结果送入目的地址。目的操作数是8位(或16位)的寄存器数据或存储器数据。 * ⑴ 移位指令 ①逻辑左移SHL(Shift Logical Left) ②逻辑右移SHR(Shift Logical Right) 它们的指令格式如下: SHL/SHR OPR, CL/I 受影响的标志位:CF、OF、PF、SF和ZF(AF无定义)。 逻辑左移/右移指令只有它们的移位方向不同,移位后空出的位都补0。 CF CF OPR 0 OPR 0 逻辑左移 逻辑右移 逻辑移位指令常用于无符号数*2或/2 * ③ 算术左移指令SAL ④ 算术右移指令SAR 它们的指令格式: SAL/SAR OPR, CL/I 受影响的标志位:CF、OF、PF、SF和ZF(AF无定义)。 功能: 算术左移SAL把目的操作数的低位向高位移,空出的低位补0; 算术右移SAR把目的操作数的高位向低位移,空出的高位用最高位(符号位)填补。 OPR 0 CF 算术左移 算术右移 算术移位指令常用于带符号数*2或/2 OPR CF * ① 循环左移指令ROL ② 循环右移指令ROR ROL/ROR OPR, CL/I 循环左移/右移指令只是移位方向不同,它们移出的位不仅要进入CF,而且还要填补空出的位。 ⑵ 循环移位指令 CF CF OPR OPR 循环左移 循环右移 * 指令的格式:RCL/RCR OPR, CL/I 受影响

文档评论(0)

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

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

1亿VIP精品文档

相关文档