- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
机电系统讲义——指令系统
1
MCS-51指令系统
指令系统概述
寻址方式
指令系统
2
MCS-51系列单片机指令基本情况
51系列单片机指令集含有111条指令
每条指令在程序存储器ROM中占据一定空间,以字节为单位
按指令所占字节数分类:
单字节(49条);双字节(46条);3字节(16条)
每条指令在执行时要花去一定的时间,以机器周期为单位
按指令执行时间分类:
单周期(64条);双周期(45条);4周期(2条)
按指令的功能分类,可分为5大类: 数据传送类(29条);算术运算类(24条) 逻辑运算及移位类(24);控制转移类(17条) 位操作类(17条)
MCS-51指令系统
3
ASM-51指令格式
51系列单片机采用ASM-51指令格式,格式如下:
[标号:]操作码 [目的操作数][,源操作数][;注释]
其中包含:
方括符[ ]表示可选项
标号代表指令所在地址,1-8个字母/数字,“:”结尾
操作码就是指令功能助记符,指令实体
目的操作数
源操作数
注释,以“;”开头
4
MCS-51系列单片机寻址方式
寻址方式:计算机指令中操作数(按地址)获取的方式
MCS-51系列单片机提供了7种寻址方式,如果一条指令中包含多个操作数,就可能用到一种以上的寻址方式
1、立即寻址
2、直接寻址
3、寄存器寻址
4、寄存器间接寻址
5、变址寻址
6、相对寻址
7、位寻址
5
1、立即寻址(一)
在指令中直接给出操作数的寻址方式称为立即寻址。这个操作数叫立即数,如指令:
MOV A, #3AH
该指令是将立即数3AH送累加器,由于MCS-51单片机的片内存储器是8位存储器,因此立即数一般为8位二进制数。在MCS-51的指令系统中,用#来识别立即数。
74H
A
操作码
立即数
程序存储器
PC
PC+1
3AH
3AH
6
1、立即寻址(二)
在有的指令中,也会用到16位立即数,如:
MOV DPTR, #0123H
该指令是将16位立即数0123H送数据指针DPTR(用于对16位地址的存储器寻址),DPTR由两个特殊功能寄存器DPH和DPL组成,在后面的寻址方式中会使用到DPTR。
90H
PC
PC+1
PC+2
操作码
高位立即数
低位立即数
程序存储器
SFR
DPH
DPL
7
2、直接寻址
在指令中直接给出操作数地址的寻址方式称为直接寻址,直接寻址何以寻址特殊功能寄存器、内部RAM(128字节)和位地址,如:
MOV A, 70H; A←(70H)
该指令是将RAM单元70H(地址)的内容送累加器。
74H
70H
PC
PC+1
操作码
直接地址
程序存储器
内部RAM
70H
A
XX
XX
8
3、寄存器寻址
在指令的操作码中包含了某一工作寄存器的地址(Rn:R0—R7),而操作数则存放在该寄存器中,如:
MOV A, R5; A←(R5)
该指令是将R5的内容送累加器。
101
PC
操作码
程序存储器
内部RAM
R5
A
XX
XX
R6
R7
1101
9
4、寄存器间接寻址
在指令的操作码中包含了某一工作寄存器的地址(可用作地址指针的工作寄存器是@Ri:R0、R1),而操作数地址则存放在该寄存器中,如:
MOV A, @R1; A←((R1))
该指令是将R1的内容送作为地址,将该地址所对应的RAM单元的内容送累加器。
1
PC
操作码
程序存储器
内部RAM
R1
A
XX
68H
111001
XX
68H
10
5、变址寻址
将PC或DPTR的值作为基地址,将Acc的值作为变址地址,二者向加得到的值作为操作数的地址,如:
MOV A, @A+DPTR; A←((A)+(DPTR))
这种寻址方式一般用于常数表,DPTR的内容为表头地址,Acc的内容就是数据在表中的位置。
PC
操作码
程序存储器
SFR
A1EH
02H
030FH
XX
F1H
02F1H
02F1H
+1EH=030FH
XX
11
6、相对寻址(一)
相对寻址以PC当前值(PC当前值是执行完指令后的值,也就是当前指令的PC值+指令所占的字节数)作为基地址,与指令中给定的偏移量rel相加,所得的结果作为程序的转移地址,指令中的偏移量rel是一个用补码表示的8位带符号数。相对寻址用于相对转移指令中,如:
JZ 30H; 当A=0时,PC←PC+2+rel
当A≠0时,PC←PC+2 //程序顺序执行
12
6、相对寻址(一)
该指令以累加器Acc的值是否为0为转移条件,如果为Acc的值0则转移,如果Acc的值不为0则程序顺序执行。程序的执行过程见相对寻址(二)。
在M
文档评论(0)