网站大量收购独家精品文档,联系QQ:2885784924

第4章MCS-51指令系统2.ppt

  1. 1、本文档共95页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第4章MCS-51指令系统2

* 西北农林科技大学水利与建筑工程学院 P1.7=ACC.0 *(B.0+P2.1)+/P3.2 MOV C,B.0 ;B.0→C ORL C,P2.1 ;C+P2.1→C ANL C,ACC.0 ;C与ACC.0→C,即ACC.0*(B.0+P2.1)→C ORL C,/P3.2 ;C或/P3.2,即ACC.0*(B.0+P2.1)+/P3.2→C MOV P1.7,C ;C →P1.7 * 西北农林科技大学水利与建筑工程学院 3.2.7 I/O口访问指令使用说明 4个口归结为专有寄存器,因此对专有寄存器的操作都适用于4个口。 1、对口进行操作的指令 可分为按口操作和按口线操作。按字节操作时一般为口,按位操作时一般为口线。 MOV Pm , A ;按口操作 MOV Pm.n ,C ;按口线操作 2、在使用输入指令前应先用指令把口线引脚置为高电平。 ORL P1, #03H ;将P1.0、P1.1置1,准备输入信号。 MOV A, P1.0 MOV B, P1.1 * 西北农林科技大学水利与建筑工程学院 3)加1指令(5条) 注意:以上指令结果除了第一个外,其它不影响程序状态字寄存器PSW。即使在加1过程中低8位有进位,也是直接进上高8位而不置进位标志CY。 例 分别指出指令INC R0和INC @R0的执行结果。设R0=30H,(30H)=00H。 解: INC R0 ;R0+1=30H+1=31H→R0,R0=31H INC @R0 ;(R0)+1=(30H)+1→(R0), (30H)=01H,R0中内容不变 * 西北农林科技大学水利与建筑工程学院 4)减1指令(4条)-Decrement/Decrease 注意:以上指令结果除第一项外不影响程序状态字寄存器PSW。没有DPTR减1指令。 例题: (A)=0FH;(R7)=19H,(30H)=00H,(R1)=40H,(40H)=0FFH DEC A ;(A)=0EH DEC R7 ;(R7)=18H DEC 30H ;(30H)=0FFH DEC @R1 ;(40H)=0FEH * 西北农林科技大学水利与建筑工程学院 5)乘法指令(1条)-Mulitply 注意:乘法结果影响程序状态字寄存器PSW的OV(积超过0FFH,则置1,否则为0)和Cy(总是清0)以及P标志。 例:(A)=50H,(B)=0A0H, MUL AB,(A)=00H,(B)=32H,CY=0,OV=1 例题:3-10 两乘数放入40H、41H,乘积放入43H、42H中。 ORG 1000H MOV R0,#40H MOV A,@R0 INC R0 MOV B,@R0 MUL AB INC R0 MOV @R0,A INC R0 MOV @R0,B END * 西北农林科技大学水利与建筑工程学院 6)除法指令(1条)-Divide/Division 除法注意: (1)除法结果影响程序状态字寄存器PSW的OV(除数为0,则置1,否则为0)和Cy(总是清0)以及P标志。 (2)当除数为0时结果不能确定。 * 西北农林科技大学水利与建筑工程学院 例题:累加器A中数0FEH,转化为3位BCD码。 百位-40H,十位-41H,个位-42H。 ORG 2000H MOV A,#0FEH MOV B,#100 DIV AB MOV 40H,A MOV A,B MOV B,#10 DIV AB MOV 41H,A MOV 42H,B END 此程序广泛应用于十六进制对十进制转化中。 * 西北农林科技大学水利与建筑工程学院 7)BCD码调整指令(1条)-decimal Adjustment BCD (Binary Coded Decimal)码用4位二进制码表示一位十进制数 的编码方式。 BCD调整的三种情况: ·A中低4位大于9或辅助进位位AC=1,则进行低4位加6。 A ? A+06H ·A中高4位大于9或CY=1,则进行高4位加6。 A ? A+60H ·A中高4位=9,低4位大于9,则高低4位都加6。 A ? A+66H 注意: (1) BCD码是用二进制形式表示十进制数,例如十进制数45,其BCD码形式为45H。BCD码只是一种表示形式,与其数值没有关系。 (2)结果影响程序状态字寄存器PSW的C

文档评论(0)

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

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

1亿VIP精品文档

相关文档