- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第三章 MCS-51单片机的寻址方式和指令系统 内容: 3.1 概述 3.2 寻址方式 3.3 指令系统 3.1 概述 指令:是计算机按人的要求执行某种操作的命令。 指令系统:某种计算机所执行的全部指令的集合。(指令系统功能决定计算机的智能,一般说指令系统越丰富,计算机的功能也越强。) 指令代码(机器码):在计算机中指令都是以二进制代码形式表示和存放的,这种二进制代码称为指令代码。 5、指令格式:一条指令对应着一种基本操作,因此指令通常包含操作码和操作数两部分。 操作码 [操作数1] [,操作数2] [,操作数3] ① [ ]表示其中内容可以没有。 ② 操作码:指明执行什么性质和类型的操作。 ③ 操作数:指明参与操作的数或数的存放地址。 6、指令的三种格式: 单字节指令 (两种格式) 3.2 寻址方式 一、立即数寻址 二、直接寻址 三、寄存器寻址 四、寄存器间接寻址 一、立即数寻址 操作数放在指令中,紧跟在操作码后面, 用“#”号表示 。 例1:MOV A,# 60H ;A←#60H 例2:MOV DPTR,# 3400H; 功能: DPTR←#3400H 二、直接寻址 指令直接给出操作数的有效地址,不用“#”号表示。 能进行直接寻址的存储空间有: 1、内部数据RAM,地址00H~7FH 2、SFR寄存器,地址80H~FFH 至少是双字节指令 例1:MOV A,3AH ;(3AH) →A 表示把片内RAM中3AH单元的内容送累加器A。 例2:MOV A,P1 ;(P1)→A 表示把P1口的内容送到A。 也可写成 MOV A,90H ,其中90H是P1口的地址。 三、寄存器寻址 指出某一寄存器的内容作为操作数 寄存器指A、B 、DPTR、CY以及R0~R7 R0~R7用寄存器的编码000~111选定 A、B 、DPTR、CY隐含在操作码中 例1、MOV A,R0 ;(R0)→A 例2、ADD A,R1 ;(A)+(R1)→A 例3、INC R0 ; (R0)+1→(R0) 例3、INC R0 ; (R0)+1→(R0) 四、寄存器间接寻址 指令指出某一寄存器的内容作为操作数的地址,用符号@表示。 操作数的地址要事先放在指定的寄存器中。 R0、R1、DPTR、SP为间址寻址寄存器 能进行寄存器间接寻址寻址的存储空间有: @R0、@R1寻址片内RAM的128字节单元 @DPTR、@R0、@R1寻址片外64kB存储器空间 SP寻址堆栈区的单元 例1:MOV @R0, A 例2:MOV A,@R1 已知: (R1)=10H, (10H)=45H MOVX @DPTR,A 五、基址+变址寻址 是指基址寄存器内容加上变址寄存器内容之和作为操作数的有效地址。两者之和为16位的地址 基址寄存器:PC或DPTR 变址寄存器:累加器A (A为无符号数) 能进行基址+变址寻址的存储空间只有: 程序存储器中数据 由于程序存储器是只读的,因此基址+变址寻址只有读操作而无写操作。 例如指令: 1、MOVC A,@A+PC ; ((A)+(PC))→A 2、MOVC A,@A+DPTR; ((A)+(DPTR))→A 指令MOVC A,@A+DPTR;执行示意图 六、相对寻址 以当前PC的内容为基准,加上指令给出的偏移量(rel)形成新的PC值(转移地址)的寻址方式。 转移地址=当前(PC)+rel 相对偏移量(rel)是一带符号的8位二进制数,以补码形式出现。 所以程序转移范围:以PC的当前值为起始地址,相对转移在+127~ -128之间 仅出现在转移指令中,用于修改PC值,主要用于实现程序的分支转移。 例如,SJMP 08H 功能:PC←PC+2+08H 已知:(PC)=2000H (rel)=08H 转移地址:(PC)=200AH 相对寻址示意图 七、位寻址 位寻址只能对有位地址的单元作位寻址操作。 位寻址其实是一种直接寻址方式,不过其地址是位地址。 例如: MOV 32H,C ;32H←进位C 补充作业: 3.3 指令系统 按照指令的功能,可以把MSC-51的111条指令分成五类。 按字节数分:单字节49条,双字节45条,三字节17条。 按执行时间分:单周期64条,双周期45条,四周期2调 若fosc=12MHz,大多指令执行仅1μs 按照指令的功能分5大类 一、数据传送类指令(29条) 二、算术运算类指令(24条) 三、逻辑操作类指令(24条) 四、控制转移类指令(17条) 五、位操作类指令 (17条) 在描述指令系
您可能关注的文档
最近下载
- GB50709-2011 钢铁企业管道支架设计规范.pdf VIP
- 压力性损伤护理与管理能力提升题库答案-2025年华医网继续教育.docx VIP
- 基因多态性与疾病易感性-洞察及研究.docx VIP
- 三位一体煅烧炉生产无水氟化铝工艺说明 .pdf VIP
- 卵巢囊肿蒂扭转急诊护理查房.pptx VIP
- 《中华人民共和国国歌》PPT课件.ppt VIP
- 2025年航空货运行业市场规模及未来五到十年发展趋势报告.docx
- 初中八年级全套体育教案(共36课).docx VIP
- 50045 GBJ45-82 高层民用建筑设计防火规范.pdf VIP
- 股市主力操盘盘 口摩斯密码(原创内容,侵权必究).pptx
文档评论(0)