- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
实用标准文案
文档大全
寻址方式表2-1
寻址方式
定义
例子
使用范围
备注
寄存器寻址
直接用寄存器名称作为操作数进行寻址
MOV A,R0
MOV P1,A
就是A到P1口
ADD A,R0
当前工作寄存器组R0~R7
A
B
C
DPTR
直接寻址
操作数为片内RAM单元的地址
MOV A,3AH
MOV A,P1
MOV A,90H
包括32个工作寄存器组在内片内RAM低128字节
SFR
SFR(只能用直接寻址)
立即数寻址
直接一字节或两字节的数,用#来标明
如:MOV DPTR,#DATA16
MOV DPTR,#2000H
MOV R0,#31H
ROM
寄存器间接寻址
用给出寄存器内的内容作为地址所指向的寄存器中内容为操作数,用@表明
MOV A,@R0
MOV A,@DPTR
R0或R1可以间接寻址片内RAM低128字节地址和片外RAM的低128字节地址。
SP(仅是PUSH和POP)
间接寻址64KB片外RAM。
不可以SFR
片外RAM可以利用R0,R1,DPTR
变址寻址
以PC或DPTR中的内容作为基地址,以A中内容作为地址偏移量
两者相加得到操作数地址
MOVC A,@A+DPTR
只能访问ROM
范围为64KB
只能读取
不能写入
多用于查表
相对寻址
以PC的值为源地址
与给出的偏移量rel相加得到目的地址
JC rel
如果CY=1,
(PC)+2+rel
SJMP 55H
ROM
256字节范围内
rel范围是-128~127
正向:rel=目的地址-源地址-2
反向:rel=(目的地址-(源地址+2))的补码=FEH-|地址差|
寻址方式表2-2
寻址方式
定义
例子
使用范围
备注
位寻址
对某一位寻址bit
CLR bit
片内RAM中20H~2FH共128位
字节地址可以被8整除的SFR
可以直接用位地址
也可以用寄存器名字加位数表
如PSW.3
89C51 指令系统可分为5 大类:
数据传送指令(28 条) ;
算术运算指令(24 条) ;
逻辑运算及移位指令(25 条) ;
控制转移指令(17 条) ;
位操作指令或布尔操作(17 条)。
传送指令2-1
类型
助记符
用途
格式
例子
备注
数据传送
移动MOV
目的地址为累加器A
4个
MOV A,Rn
MOV A,direct
MOV A,@Ri
MOV A,#data
只影响PSW的P标志位
目的地址为寄存器Rn
3个
MOV Rn,A
MOV Rn,direct
MOV Rn,#data
MOV R5,A
MOV R5,70H
MOV R5,#A3H
没有MOV Rn,Rn
目的地址为直接地址
5个
MOV direct,A
MOV direct,Rn
MOV direct,direct
MOV direct,@Ri
MOV direct,#data
MOV direct,direct
前为源地址
后为目的地址
目的地址为间接地址
3个
MOV @Ri,A
MOV @Ri,direct
MOV @Ri,#data
图1-1
16位立即数
1个
MOV DPTR,#data16
MOV DPTR,#1234H
dataH到DPH
dataL到DPL
唯一的16位立即数传送
MOVC
查找表
2个
MOVC A,@A+DPTR
MOVC A,@A+PC
(PC)+1到PC后,((A)+(PC))到A
图1-2
传送指令2-2
类型
助记符
用途
格式
例子
备注
数据传送
MOVX
累加器A与片外RAM之间传送
4个
MOVX A,@Ri
MOVX A,@DPTR
MOVX @Ri,A
MOVX @DPTR,A
前两个使/RD=0
后两个使/WR=0
@Ri寻址片外RAM 0~255字节
@DPTR寻址片外RAM 0~64KB
栈指令PUSH
入栈
1个
PUSH direct
(SP)+1→(SP)
(direct) →(SP)
栈指令
POP
出栈
1个
POP direct
((SP)) →direct
(SP)-1→(SP)
先进后出
交换指令XCH
字节交换
3个
XCH A,Rn
XCH A,direct
XCH A,@Ri
交换指令XCHD
半字节交换
1个
XCHD A,@Ri
低位互换,高位不变
图1-1间接寻址
图1-2查找表
算术运算指令2-1
类型
助记符
用途
格式
例子
备注
算术运算指令
ADD
8位无符号二进制数和累加器A中的数相加
不加进位
4条
ADD A,Rn
ADD A,direct
ADD A,@Ri
ADD A,#data
结果存于A中
第3位进位AC置1否则为0
第7位进位CY置1,否则为0
同时影响溢出OV和奇偶P标志位
OV=7位和6位异或
ADDC
同上
不同的是结果
文档评论(0)