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

第三章EM78指令系统及程序设计.docVIP

  1. 1、本文档共19页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第三章EM78指令系统及程序设计.doc

EM78指令系统 EM78指令概述 EM78 系列单片机共有的 47 条(EM78P447和451、458有48条) 指令,其寬度为 13 位。每一个指令码可分割成两部份,第一部分为标示指令功能的运算码( OPCODE ),第二部份則指出运算時所需之參数,亦即运算码( OPERAND )。而指令的类型大致可分为下列四种: (1)控制型指令( control operation ): 如 INT...等等。 (2)面向寄存器(字节操作)型指令( register oriented ): 如 MOV A, Reg_B ; move Reg_B to A ADD Reg_B, A ; add Reg_B with A, and ; save in Reg_B ... 等等。 (3)位操作型指令( bit oriented ): 如 BC,JBS...等等。 (4)常数型指令( constant operation ):如 MOV A, @0x55 ; move 0x55 to A XOR @0xFF ;Xor A with 0xFF 一般而言,EM78 系列八位微控制器除了對 PC (Program Counter)做 “写” 的指令如 (MOV PC, A),需二个指令周期外,其他的指令只需一个指令周期,。 EM78指令寻址方式 关于对寄存器的存取,必須要先说明寄存器的位址,说明暫存的位址的方式称做寻址方式,EM78的寻址方式有两种,一种为直接寻址,一种为間接寻址。 立即数寻址 这种方式就是操作数为立即数,可直接从指令中获取。 例:MOV A,@0x16 ;将常数0x16送给寄存器A 直接寻址 若是使用者要存取寄存器的内容,可以在运算码上直接描述。 例:將寄存器0X20的内容,COPY到寄存器0X21中。 MOV A, 0X20 MOV 0X21, A 间接寻址 这种寻址方式是通过寄存器R4来实现的,R4的bit0-5是用来选择寄存器(地址:00-06,0F-3F) 若是使用者所需要存取的寄存器,有位址相邻的特性,使用間接寻址是很方便的。 例:写一个程序,將寄存器0X20 ~ 0X3F的值都填0。 MOV A, @0X20 MOV 0X04, A AGAIN: CLR 0 INC 0X04 MOV A, 0X04 XOR A, 0X3F JBS 0X03, 2 JMP AGAIN END: 位寻址 这种位寻址是对寄存器中的任一位(bit)进行操作。 例:BS 0x12,2 ;将寄存器0x12的第2位置为“1”。 EM78指令说明 ADD 加 语法 ADD A,R 编码 0 0011 10rr rrrr 操作 A+R(A 对标志位影响 D,C,DC 说明 无 举例 实现A=R11+R12: MOV A,0X11 ADD A,0X12 语法 ADD R,A 编码 0 0011 11rr rrrr 操作 A+R(R 对标志位影响 Z,C,DC 说明 无 举例 实现R10=R11+R12: MOV A,0X11 MOV 0X10,A MOV A,0X12 ADD 0X10,A 语法 ADD A,K 编码 1 1111 kkkk kkkk 操作 A+K(A 对标志位影响 Z,C,DC 说明 无 举例 实现A=0X01+0X01: MOV A,@0X01 ADD A,@0X01 AND 与 语法 AND A,R 编码 0 0010 10rr rrrr 操作 AR(A 对标志位影响 Z 说明 无 举例 P6口和R10寄存器相与,结果输出至P6口: MOV A,0X6 ;P6口输入 AND A,0X10 ;相与 MOV 0X6,A ;P6口输出 语法 AND R,A 编码 0 0010 11rr rrrr 操作 AR(R 对标志位影响 Z 说明 无 举例 实现R10=R11R12: MOV A,0X11 MOV 0X10,A MOV A,0X12 AND 0X10,A 语法 AND A,K 编码 1 1010 kkkk kkkk 操作 AK(A 对标志位影响 Z 说明 无 举例 无 BC 位清0 语法 BC R,b 编码 0 100b bbrr rrrr 操作 0(R(b) 对标志位影响 无 说明 R寄存器第b位清0 举例 MOV A,@0X0F MOV 0X10,A ;R10BC 0X10,3 ;R10 BS 位置1 语法 BS R,b 编码 0

文档评论(0)

天马行空 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档