- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
微型计算机原理 第3章 80868088的寻址方式和指令系统
数据传送指令小节 MOV PUSH POP XCHG IN OUT XLAT LEA LDS LES LAHF SAHF PUSHF POPF 算术运算指令小节 ADD ADC INC SUB SBB DEC NEG CMP MUL IMUL DIV IDIV CBW CWD DAA DAS AAA AAS AAM AAD 逻辑运算指令小节 AND TEST OR XOR NOT SHL SHR SAL SAR ROL ROR RCL RCR (4)AAS 减法ASCII 调整指令 格式:AAS 执行的操作: (AL)←把AL中的差调整为非压缩的BCD码格式 (AH)←(AH)-调整产生的借位值 该指令执行之前必须执行SUB或SBB指令,减法指令必须把两个非压缩的BCD码相减,并把结果放在AL中。 该指令的调整方法如下: ① 如AL的低4位在0~9之间,且AF位为0,则跳过第②步,执行第③步; ② 如AL的低4位在十六进制数A~F之间或AF位为1,则AL的内容减06H,AH的内容减1,并将AF位置1; ③ 清除AL的高4位; ④ AF位的值送CF位。 (5)AAM 乘法ASCII调整指令 格式:AAM 执行的操作: (AX)←把AL中的乘积调整为非压缩的BCD码格式 (6)AAD 除法ASCII调整指令 格式:AAD AAD指令执行的操作是: (AL)←(AH)×0AH+(AL),(AH)←0 该指令根据AL的内容设置SF、ZF、PF,对OF、CF、AF没有定义。 该指令执行之前必须执行MUL指令,乘法指令必须把两个非压缩的BCD码相乘(此时要求高4位为0),并把结果放在AL中。该指令的调整方法是:把AL的内容除以0AH,商放到AH中,余数放到AL中。该指令根据AL的内容设置SF、ZF、PF,对OF、CF、AF没有定义。 3.2.3 逻辑运算和移位指令 1.逻辑运算指令 (1)AND 逻辑“与”指令 格式:AND dest, src 执行的操作:(dest)←(dest)∧(src) 对指定的两个操作数按位进行逻辑“与”运算。 使用AND指令,注意以下三点: ① “与”指令中操作数不能同时为存储器; ② 该指令执行后CF=OF=0,AF未定义,SF、ZF、PF根据运算结果设置; ③ “与”指令一般用来对一个数据的指定位清0,而其余位保持不变。 例如:AND AL,0F0H (2)TEST 测试指令 格式:TEST dest , src 执行的操作:(dest)∧(src) 完成AND指令同样的操作,但不送回“与”操作结果,只是使结果反映在标志位上(对标志位的影响同AND指令)。 TEST指令常常用来检测指定位是1还是0。 使用OR指令,注意以下三点: ① “或”指令中操作数不能同时为存储器; ② 该指令执行后CF=OF=0,AF未定义,SF、ZF、PF根据运算结果设置; ③ “或”指令一般用来对一个数据的指定位置1,而其余位保持不变。 (3)OR 逻辑“或”指令 格式:OR dest, src 执行的操作:(dest)←(dset)∨(src) 该指令对指定的两个操作数按位进行逻辑“或”运算。 例如:OR AL,0F0H 使用XOR指令,注意以下三点: ① “异或”指令是使操作数初值清0的有效方法; ② 该指令执行后CF=OF=0,AF未定义,SF、ZF、PF根据运算结果设置; ③ “异或”指令一般用来对一个数据的指定位变反,而其余位保持不变。 (4)XOR 逻辑“异或”指令 格式:XOR dest , src 执行的操作:(dest)←(dest)⊕(src) 该指令对指定的两个操作数按位进行逻辑“异或”运算,即进行“异或”运算的两位不相同时(即一个为0,另一个为1), “异或”的结果为1,否则为0。 例如:XOR AL,0F0H (5)NOT 逻辑“非”指令 格式:NOT dest 执行的操作: 字节求反:(dest)←0FFH-(dest) 字求反: (dest)←0FFFFH-(dest) 对操作数按位求反,操作数中原来是0的位变成1,原来是1的位变成0。它对标志位没有影
文档评论(0)