MCS51系列单片机的指令系统及汇编语言程序设计.ppt 立即下载
2024-12-16
约4.4千字
约48页
0
318KB
举报 版权申诉
预览加载中,请您耐心等待几秒...

MCS51系列单片机的指令系统及汇编语言程序设计.ppt

MCS51系列单片机的指令系统及汇编语言程序设计.ppt

预览

免费试读已结束,剩余 43 页请下载文档后查看

10 金币

下载文档

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

主要内容
寻址方式
指令系统
传送与交换指令
算术运算、逻辑运算指令
控制转移指令
位操作指令
伪指令
程序设计举例计算机通过执行程序完成人们指定的任务,程序由一条一条指令构成,能为CPU识别并执行的指令的集合就是该CPU的指令系统。
MCS-51单片机汇编语言指令格式:
		操作符目的操作数,源操作数
操作符指明该指令完成什么操作;
操作数是指明该指令的操作对象。
目的操作数是存放结果的。
指令中操作数提供的方式称为寻址方式。
	指令中的常用符号
Rn:表示当前工作寄存器R0~R7中的一个。
Ri:代表R0和R1寄存器中的一个,用作间接寻址寄存器。
dir:8位直接字节地址(片内RAM和SFR)
#data:8位立即数,即8位常数。可以为2进制(B)、10进制、16进制(H)、字符(‘’)
#data16:表示16位立即数,即16位常数,取值范围为:
#0000H~#0FFFFH
addr16:表示16位地址
addr11:表示11位地址
rel:相对偏移量(为一字节补码)用于相对转移指令中
bit:位地址,在位地址空间中。		
$:表示当前指令的地址。	指令中直接给出操作数的寻址方式。在51系列单片机的指令系统中,立即数用一个前面加“#”号的8位数(#data,如#30H)或16位数(#data16,如#2052H)表示。立即寻址中的数,称为立即数。
例如指令:MOVA,#58H;58H→A操作数的地址直接出现在指令中。	
寻址对象:
①内部数据存贮器:使用它的地址。
②特殊功能寄存器:既可使用它的地址,也可以直接使用寄存器名。
③位地址空间
④程序存储器空间
例:MOVA,40H;(40H)→A
MOV40H,41H;(41H)→(40H)
MOVP0,#45H;45H→P0
MOV80H,#45H;45H→P0
MOVC,18H;位地址18H→C	操作数存放在寄存器中。
寻址对象:A,B,C,DPTR,R0~R7。
B仅在乘除法指令中为寄存器寻址,在其他指令中为直接寻址。
A可以寄存器寻址又可以直接寻址,直接寻址时写作ACC
	例如:MOVA,R0;R0→A
MULAB;A*B→BA
ADDA,ACC;A+A→A	操作数存放在以寄存器内容为地址的单元中,用做间址的寄存器为Ri(i=0,1)、DPTR。
①对片内的间接寻址用Ri(i=0,1)
如:MOVR0,#20H
MOV@R0,A;A→(20H)
②对片外的间接寻址可用Ri(i=0,1)或DPTR
如:MOVX@DPTR,A;A→以DPTR的内容为地址的外部RAM中
MOVX@R1,A;A→以P2R1内容为地址的外部RAM中
③PUSH和POP指令的源操作数是以SP间接寻址
注意:寄存器间接寻址不能访问SFR
MOVR1,#81H
MOVA,@R1;不能访问SP,只能用MOVA,SP	变址寻址只能访问程序存储器。操作数所在位置的地址由DPTR或PC寄存器与A的内容相加后形成。其中累加器A内容是可变的。变址寻址只有三条指令。	
MOVCA,@A+DPTR;(A+DPTR)→A
MOVCA,@A+PC;(A+PC)→A
JMP@A+DPTR;A+DPTR→PC
注意:①A的内容是无符号数。
②PC值是指令的当前PC值,即下条指令的PC值3.1.6相对寻址对可位寻址的位地址寻址。包括片内RAM的位地址空间和可位寻址的SFR(地址能被8整除)
	如:MOVC,20H;位寻址
MOVA,20H;字节寻址
以上两条指令究竟是位寻址还是字节寻址,根据两操作数类型一致的原则,由另一个操作数决定。dir例R1=20H,(20H)=55H,
MOVA,@R1执行后,A=55H。
例(40H)=30H,
MOVR7,40H执行后,R7=30H。
例MOVR7,#40H执行后,R7=40H。@Ri,A@DPTR,A
A,@RiA,@DPTR
利用MOVX实现片外数据存储器数据传送(2000H)→(2100H)利用Ri间址来实现将(2000H)→(2100H)
MOVP2,#20H	;高位地址
MOVR0,#00	;低位地址
MOVXA,@R0	;读片外RAM
MOVP2,#21H	;改变高位地址
MOVX@R0,A	;写片外RAM利用MOVC指令实现查表功能注:①只能从程序存储器读取数据到A累加器。②只能使用变址间接寻址方式例查表法求Y=X2。设X(0≤X≤15)在片内RAM20H单元,要求将查表求Y,存入片内RAM21H单元指令地址	源程序
							ORG0100H	;程序起始地址
			0100H	SQU:MOVA,20H	;取X
		0102H	ADDA,#3	;修正偏移量
			0104H		MOVCA,@A+PC;查表求Y=X2
			0105H	MOV21H,A	;存结果
查看更多
王子****青蛙
实名认证
内容提供者
单篇购买
VIP会员(1亿+VIP文档免费下)

扫码即表示接受《下载须知》

MCS51系列单片机的指令系统及汇编语言程序设计

文档大小:318KB

限时特价:扫码查看

• 请登录后再进行扫码购买
• 使用微信/支付宝扫码注册及付费下载,详阅 用户协议 隐私政策
• 如已在其他页面进行付款,请刷新当前页面重试
• 付费购买成功后,此文档可永久免费下载
全场最划算
12个月
199.0
¥360.0
限时特惠
3个月
69.9
¥90.0
新人专享
1个月
19.9
¥30.0
24个月
398.0
¥720.0
6个月会员
139.9
¥180.0

6亿VIP文档任选,共次下载特权。

已优惠

微信/支付宝扫码完成支付,可开具发票

VIP尽享专属权益

VIP文档免费下载

赠送VIP文档免费下载次数

阅读免打扰

去除文档详情页间广告

专属身份标识

尊贵的VIP专属身份标识

高级客服

一对一高级客服服务

多端互通

电脑端/手机端权益通用