第四章简单程序设计.ppt

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
河南师范大学计算机与信息技术学院 * * 非压缩BCD码指令举例-3 例6: ;实现非压缩BCD码乘法:8×9=72 mov ax , 0608h ;ax=0608h,非压缩BCD码表示真值68 mov bl , 09h ;bl=09h,非压缩BCD码表示真值9 mul bl ;二进制乘法:al=08h×09h=0048h aam ;十进制调整:ax=0702h 河南师范大学计算机与信息技术学院 * * 非压缩BCD码指令举例-4 例7: ;实现非压缩BCD码除法: 68÷9=7(余5) mov ax , 0608h ;ax=0608h,非压缩BCD码表示真值68 mov bl , 09h ;bl=09h,非压缩BCD码表示真值9 aam ;二进制扩展:ax=68=0044h div bl ;除法运算:商al=07h,余数ah=05h 河南师范大学计算机与信息技术学院 * * AND指令举例 例3.57 要求屏蔽0、1两位,可用AND指令并设置常数0FCH。 MOV AL , 0BFH AND AL , 0FCH 这两条指令执行的结果使(AL)=0BCH。 1011 1111 AND 1111 1100 1011 1100 AND指令可用于屏蔽某些位(同0相与),不影响其他位。 河南师范大学计算机与信息技术学院 * * OR指令举例 例3.58 要求第5位置1,可用OR指令 MOV AL , 43H OR AL , 20H 这两条指令执行后,(AL)=63H OR指令可用于置位某些位(同1相或),不影响其他位。 0100 0011 OR 0010 0000 0110 0011 河南师范大学计算机与信息技术学院 * * XOR指令举例-1 例3.61 要使操作数的某些位变反,可以使用XOR指令,只要把源操作数的立即数字段的相应位置成1即可。如果求第0、1位变反,可使用如下指令: MOV AL , 11H XOR AL , 3 则指令执行后,(AL)=12H,达到第0、1位变反而其他位不变的目的。 XOR指令可用于求反某些位 (与1相异或),不影响其他位。 河南师范大学计算机与信息技术学院 * * XOR指令举例-2 例3.62 XOR指令还可以用来测试某一操作数是否与另一确定的操作数相等。这种操作在检验地址是否匹配时常用。 XOR AX , 042EH JZ MATCH MATCH: … 这两条指令用来检查AX的内容是否等于042EH,若相等则转到MATCH去执行程序,否则执行JZ指令下面的程序。 河南师范大学计算机与信息技术学院 * * TEST指令举例-1 例3.59 要测试操作数的某些位是否为0,可用TEST指令,同样把TEST指令的源操作数设置成一个立即数,其中要测试的位应设置为1。 MOV AL , 40H TEST AL , 0AFH 这两条指令执行后 CF=OF=0,SF=0,ZF=1, 说明所需测试的位均为0。 该指令后可跟条件转移指 令,根据测试的情况,转 向不同的处理。 TEST指令通常用于检测一些条件是否满足,但又不希望改变源操作数的情况。 0100 0000 TEST 1010 1111 0000 0000 河南师范大学计算机与信息技术学院 * * TEST指令举例-2 例3.60 要测试操作数的某位是否为1,可先把该操作数求反,然后用TEST指令测试。如要测试AL寄存器中第2位是否为1,若为1则转移到EXIT去执行,可用下列指令序列: MOV DL , AL NOT DL TEST DL , 0000 0100B JE EXIT EXIT: … 若(AL)=0FH,则执行完TEST指令后,因结果全为0而有ZF=1,则转到EXIT去执行。 河南师范大学计算机与信息技术学院 * * SHL逻辑左移指令执行 河南师范大学计算机与信息技术学院 * * SHR逻辑右移指令执行 河南师范大学计算机与信息技术学院 * * SAR算术右移指令执行 河南师范大学计算机与信息技术学院 * * ROL循环左移指令执行 河南师范大学计算机与信息技术学院 * * ROR循环右移指令执行 河南师范大学计算机与信息技术学院 * * RCL带进位循环左移指令执行 河南师范大学计算机与信息技术学院 * * RCR带进位循环右移指令执行 河南

文档评论(0)

35425 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档