- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
ch07-MCS51指令系统
第7章 MCS-51指令系统 概述 寻址方式 分类指令介绍 一、指令系统概述 1、指令分类 MCS-51的指令系统使用42种助记符,表达 33种功能,共由111条指令构成。 按指令编码的字节数分类: 1字节(49条)、2字节(45条)、3字节(17条) 按指令的机器周期数分类: 1个机器周期(64条) 2个机器周期(45条) 4个机器周期(2条,乘、除各1条) 指令的类别及其要素 数据传送类28条 算术运算类24条 逻辑运算类25条 转移操作类17条 布尔指令类17条 指令的功能 指令的寻址方式 指令对PSW的影响 指令的编码字节数 指令的机器周期 7.1.2 书写格式与缩略符 在程序行中,指令语句按如下形式书写: [标号:] 助记符 [操作数1],[操作数2],[操作数3] [;注释] 标号于程序行中,代表指令所在的地址——符号地址; 在指令功能解释阶段不使用标号; 两个操作数的情况比较多,常写成如下: 操作码 目的操作数,源操作数 或 op_code dst, src 寻址方式常用符号说明 Rn------当前组的通用寄存器,n = 0~7。 Ri-----0或1,R0或R1作间接寻址寄存器。 direct-----8位内部单元的地址,即直接地址。 #data,#data16------分别为8位和16位立即数。 addr16-----16位目的地址。 addr11-----11位目的地址。 rel------8位带符号的补码偏移量。 bit----内部RAM可位寻址的位地址。 / -----表示取反操作。 (X)---X单元中的内容。 ((X))----以X单元内容为地址的单元的内容。 @---间接寄存器或基址寄存器的前缀。 7.1.3 寻址方式 寻找操作数(数据,指令的处理对象)的方式 寄存器寻址 直接寻址 立即寻址 寄存器间接寻址 变址寻址 寻找目标地址(程序流程控制)的方式 相对寻址 绝对寻址 位寻址 寄存器寻址 寄存器操作数,寻址范围: (1)4组R0 ~ R7共32个工作寄存器; (2)部分特殊功能寄存器,例如A、B、C(进位位) 以及DPTR等。 例: MOV A,Rn ;(Rn)→A,n = 0~7 直接寻址 操作数的地址直接编码到指令中。 寻址范围: (1) 内部RAM的低128个单元(00-7FH) 例 MOV A,40H (2) 特殊功能寄存器 例 MOV A,80H ;地址码形式 MOV A,P0 ;SFR符号形式 两者的机器码完全一致,后者便于记忆。 直接寻址方式是SFR区的唯一寻址方式。 累加器的两种寻址方式 寄存器 A INC A ;寄存器寻址 特殊功能寄存器ACC(E0H) INC ACC ;直接寻址,名称符号 或 INC 0E0H ;直接寻址,地址码 指令都使累加器中内容加1。但是寻址方式不同,指令编码字节数也不同。 立即寻址 常数操作数,编码在指令中(取指完成,操作数立即得到),立即数有前缀标志“#”。 例 MOV A,#40H 在表示法中,记为 #data——8位立即数 #datal6——16位立即数 区别: MOV A,#3AH ;立即寻址 MOV A,3AH ;直接寻址 寄存器间接寻址 存储器操作数,地址在寄存器中 寄存器名加前缀 “@”标志 例 MOV A,@R0 寻址空间及范围 例: MOV A, @R0 例: MOVX @DPTR, A 需先向间址寄存器写入地址码 基址变址寻址 基址寄存器: DPTR或PC (含16位地址) 变址寄存器: A (含8位地址) 两寄存器内容相加,作为16位存储器地址,为操作数地址,在代码空间访问操作数(常数)或目标地址(转移),特适用于查表操作。 仅有3条这样的指令: MOVC A,@A+DPTR MOVC A,@A+PC JMP @A+DPTR 前两条为查表指令,后一条实现散转。 位寻址 指令中给出可寻址位的位地址。 位寻址范围包括: (1)内部RAM中的可位寻址区 字节地址20-2FH,128个位,位地址00-7FH (2)SFR的可寻址位 字节地址能被8整除,位地址在80-FFH内 例: MOV C,20H 例: SETB F0 位地址表示法 直接位地址:如D5H,表示PSW的D5位; “.”操作符法:PSW.5 20H.1 ACC.7; 位名称法:P ,C, F0,
文档评论(0)