- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
【例3-17】已知A=8CH,R0=9AH,指出执行指令ANL A, R0后的结果。 解: 1000 1100B ∧ 1001 1010B 1000 1000B 执行结果:A=88H,R0中的内容不变,仍为9AH。 2.“或”操作指令(6条) ORL A,Rn ;A∨ Rn→A, 如ORL A,R4 ORL A,@Ri ;A∨ (Ri)→A, 如ORL A,@R1 ORL A,#data ;A∨ data→A, 如ORL A,#45H ORL A,direct ;A∨ (direct)→A, 如ORL A,43H ORL direct,A ;(direct)∨ A→direct, 如ORL 34H,A ORL direct,#data ;(direct)∨ data→direct, 如ORL 76H,#45 说明: (1)这组指令中的前4条指令是将A中的内容和指定单元中的内容或立即数按“位”进行逻辑“或”操作,结果存在A中。仅影响P标志。 (2)后2条指令是将直接地址单元内容与A或立即数按“位”进行逻辑“或”操作,结果存在该地址单元中,若直接地址为P0~P3端口时,则该指令是对端口进行“读—修改—写”操作。 【例3-18】已知41H和40H单元中分别存放了一个非压缩BCD码,要求编写程序将其合并压缩,41H中的BCD码为高位,并存放到40H中,示意图如图3-11所示。 图3-11 示意图 解: MOV A, 41H SWAP A ORL 40H, A 3.“异或”操作指令(6条) XRL A,Rn ;A⊕ Rn→A, 如XRL A,R4 XRL A,@Ri ;A⊕(Ri)→A, 如XRL A,@R1 XRL A,#data ;A⊕ data→A, 如XRL A,#45H XRL A,direct ;A⊕(direct)→A, 如XRL A,43H XRL direct,A ;(direct)⊕ A→direct, 如XRL 34H,A XRL direct,#data ;(direct)⊕ data→direct,如XRL 76H,#45 说明: (1)这组指令中的前4条指令是将A中的内容和指定单元中的内容或立即数按“位”进行逻辑“异或”操作,结果存在A中。仅影响P标志。 (2)后2条指令是将直接地址单元内容与A或立即数按“位”进行逻辑“异或”操作,结果存在该地址单元中,若直接地址为P0~P3端口时,则该指令是对端口进行“读—修改—写”操作。 【例3-19】已知A=9CH,指出执行指令XRL A,#9CH后的结果。 解: 1001 1100B ⊕ 1001 1100B 0000 0000B 执行后:A=00H,可见两个相同的数异或,其结果为0。 4.清零和取反指令(2条) CLR A ;0→A CPL A ;→A 只影响P标志位。 5.循环移位指令 循环左移:RL A 带Cy循环左移:RLC A 循环右移:RR A 带Cy循环右移:RRC A 循环移位示意图如图3-12所示。 说明: (1)“RL A”和“RLC A”指令的相同之处在于两者都是使A中的内容左移一位,而且两者的不同点在于“RLC A”将Cy连同A中的内容一起循环左移,A7的内容进入Cy,原来Cy内容进入A0,但不对其他标志位产生影响。 (2)“RR A”和“RRC A”指令的异同点类似于“RL A”和“RLC A”,仅是A中的数据移位方向向右。 (3)当A中最高位不为“1”时,可以采用“RL A”指令对A中的内容做乘2运算。 (4)当A中最高位为“1”时,采用“RLC A”指令对A中的内容做乘2运算,只是在乘前必须将Cy位清零,此时的数据实际是包括Cy内的“9”位数据。 (5)当A中最低位不为“1”时,可采用“RR A”指令对A中的内容做除以2运算。 (6)当A中最高低位为“1”时,采用“RRC A”指令对A中的内容做除以2运算,只是在运算前必须将Cy位清零,Cy相当于小数位。 【例3-20】已知R1=12H,R2=93H,R3=34H,R4=25H,Cy=1,指出执行下列指令后的结果。 MOV A, R1 ;A=12H RL A ;A=24H(乘2的结果,没有超过低8位) MOV R1, A ;R1=24H MOV PSW, #00H ;Cy=0 MOV A, R2 ;A=93H RLC A ;A=26H,Cy=1(乘2的结果,低8
原创力文档


文档评论(0)