第7章.MCS-51指令系统.ppt

  1. 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第7章 MCS-51指令系统 概述 寻址方式 分类指令介绍 7.1 指令系统概述 7.1.1指令分类 MCS-51的指令系统使用42种助记符,表达33种功能,共由111条指令构成。 按指令编码的字节数分类: 1字节(49条)、2字节(45条)、3字节(17条)。 按指令的机器周期数分类: 1个机器周期(64条); 2个机器周期(45条); 4个机器周期(2条,乘、除各1条) 实际应用中最频繁的指令,为单周期指令,故fosc=12MHz,T=1?s。——速度指标为1MIPS 指令的类别及其要素 数据传送类30条 算术运算类24条 逻辑运算类35条 转移操作类22条 布尔指令类位操作子集 指令的功能 指令的寻址方式 指令对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 寻址方式(Addressing Mode) 寻找操作数(数据,指令的处理对象)的方式 寄存器寻址 直接寻址 立即寻址 寄存器间接寻址 变址寻址 寻找目标地址(程序流程控制)的方式 相对寻址 绝对寻址 隐含寻址 位寻址 寄存器寻址(Registor Addressing) 寄存器操作数,寻址范围: (1)4组R0 ~ R7共32个工作寄存器 (2)部分特殊功能寄存器,例如A、B 以及数据指针寄存器DPTR等。 例: MOV A,Rn ;(Rn)→A,n = 0~7 MOV B, A 直接寻址(Direct Addressing) 存储器操作数,其地址直接编码到指令中 寻址范围: (1) 内部RAM的低128个单元(00-7FH) 例 MOV A,40H (2) 特殊功能寄存器。 例 MOV A,80H ;地址码形式 MOV A,P0 ;SFR符号形式 两者的机器码完全一致,后者便于记忆。 累加器的两种寻址方式 寄存器 A INC A ;寄存器寻址 特殊功能寄存器Acc(E0H) INC ACC ;直接寻址,名称符号 或 INC 0E0H ;直接寻址,地址码 指令都使累加器中内容加1。但是寻址方式不同,指令编码字节数也不同。 立即寻址(Immediate addressing) 常数操作数,编码在指令中(取指完成,操作数立即得到,因此得名),立即数有前缀标志“#”。 例 MOV A,#40H 在表示法中,记为 #data——8位立即数; #datal6——16位立即数。 区别: MOV A,#3AH ;立即寻址 MOV A,3AH ;直接寻址 寄存器间接寻址 (Registor Indirect Addressing) 存储器操作数,地址在寄存器中 寄存器名加前缀 “@”标志 例 MOV A,@R0 间接寻址空间及范围 例: MOV A, @R0 例: MOVX @DPTR, A 需先向间址寄存器写入地址码 基址变址寻址(Based Indexed Addressing) 基址寄存器: DPTR或PC (含16位地址) 变址寄存器: A (含8位地址) 两寄存器内容相加,作为16位存储器地址,在代码空间访问操作数(常数)或目标地址(转移) 仅有3条这样的指令: MOVC A,@A+DPTR MOVC A,@A+PC JMP @A+DPTR 前两条为查表指令,后一条实现散转。 相对寻址 相对寻址不用于操作数的寻址,只用于控制转移指令,是程序目标地址的形成

文档评论(0)

飞扬的岁月 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档