- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第三章_指令系统new
第三章 MCS-51指令系统
MCS-51共有111种指令,其单字节指令49种,双字节
指令47种,三字节指令仅15种。从执行时间看,单周期
指令64种,双周期指令45种。只有乘除2条指令执行时间
为4个机器周期。
一、寻址方式
1、立即寻址
A、操作数包含在指令字节中。
B、例:MOV A,#70H
(注意:立即数前面必须有 “#”号)
2、寄存器寻址
A、操作数在某一寄存器中。
B、例:INC R0
3、直接寻址
A、操作数的地址包含在指令字节中。
B、例:MOV A,70H
(注意:直接寻址方式只能访问内部RAM单元和SFR)
4、寄存器间接寻址
A、操作数的地址在某一寄存器中。
B、例:ANL A,@R0 (寄存器间址必须带@号)
(注意:寄存器间接寻址方式既能访问内部RAM单元
又能访问外部RAM单元)
5、基址寄存器加变址寄存器间接寻址
A、程序存储器某一单元地址为基址寄存器(DPTR或PC)
的内容与变址寄存器(A)的内容之和。
B、例:MOVC A,@A+DPTR
设:DPTR=0400H,A=05H,则执行后将0405H单元
内容送A中。
6、相对寻址
A、操作数为转移地址的位移量,其转移地址=PC当
前值+位移量。
B、例:JC 80H
设指令地址为:1005H,
则转移地址为:1007+FF80=0F87
7、例:分析下面程序,说明源操作数寻址方式及指令执
行结果
MOV R0, #40H MOV A, 40H
MOV @R0,#30H MOV DPTR, #2400H
MOV P1, R0 MOVX @DPTR, A
MOV P2, P1
8、注意:MCS-51具有4个存储器空间(编程逻辑空间)。
程序存储器空间: 0000~FFFFH
内部RAM空间: 00~7FH
(含特殊功能寄存器空间: 80~FFH)
位地址空间: 00~FFH
外部RAM/IO空间: 0000~FFFFH
指令对哪一个存储器空间进行操作是由指令的操作
码和寻址方式确定的。
A 、对程序存储器只能采用基址寄存器加变址寄存器间
接寻址方式。
B、特殊功能寄存器只能采用寄存器寻址和直接寻址方
式,不能采用寄存器间接寻址方式。
C、MCS-52单片机内部RAM的高128B(80~FFH)只能采
用寄存器间接寻址方式,不能采用其它方式。
D、位操作指令只能对位寻址区操作。
E、外部扩展的数据存储器只能用MOVX指令访问。
F、内部RAM的低128B(00~7FH)既能用立即寻址,寄存器
寻址,直接寻址,又能用寄存器间接寻址,操作指令
最丰富。
二、专用寄存器
1、程序计数器PC (16位)
存放下一条要执行的指令地址(程序存储器地址)
2、累加器A (8位)
寄存器B (8位)用于乘除指令中,在其他指令中可
作一般RAM单元用。
3、栈指针SP (8位),SP指向栈底
4、数据指针DPTR (16位)
DPTR由两个8位寄存器DPH、DPL组成
用来保存16位地址,对外数据存储器可作为间址寄
存器用,对程序存储器可作为基址寄存器用。
【寄存器R0-R7为
文档评论(0)