第三章 指令系统;3.1 汇编语言;3.1 汇编语言;3.1 汇编语言;3.1 汇编语言;3.1 汇编语言;双字节指令(45条):分两种情况:
①指令中含有一个操作数.例如:
汇编格式: MOV A , #data
机器码: data 或: 78H、#data ;指令中含有一个8位的操作数的地址。
汇编格式: MOV A ,direct
机器码: E5H、direct
如: MOV A ,20H ;将RAM 20H中的数据送A;三字节指令(17条):
①指令中的操作数为双字节。 MOV DPTR,#data16 1001000B,data15-8,data7-0
②指令中分别包含1个字节的操作数和1个字节的操作数地址。MOV direct ,#data 举例:MOV 20H,#0FFH ;;所谓寻址方式,就是如何找到存放操作数的地址,把操作数提取出来的方法。
正确的理解、掌握寻址方式,是学习、使用指令的关键。
在51系列单片机中,共使用了七种寻址方式。; 1,寄存器寻址
2,直接寻址
3,立即数寻址
4,寄存器间接寻址
5,变址寻址
6,相对寻址
7,位寻址;1、寄存器寻址;例如:MOV A,R7 ;将寄存器R7中的内容送累加器A中
MOV 20H,R0 ;将寄存器R0中的数据送内存20H单元
【特点】:寄存器寻址方式的指令大多是单字节指令。寄存器的 3位代码与操作码OP共同占用一个指令字节。
以MOV A,R7为例,使用R7寄存器,所以rrr=111,既指令的机器码为:0EFH;2 直接寻址;使用直接寻址应注意的三个问题:;2,当直接地址时在工作寄存器区中时,可以使用两种寻址方式来访问。如:
MOV A,00H ;将RAM中00H单元数据送累加器A
MOV A,R0 ;将工作寄存器R0的内容送累加器A
这里使用了不同的寻址方式,其指令的结构也不相同。
前者是0E5H)00H) 双字节。
后者的机器码是0E8H) 单字节;
在物理结构上,R0与RAM的00H单元恰好是同一单元,所以不同的指令而执行结果是一样的。
类似的还有累加器A:
INC A 寄存器寻址方式(单字节);
INC 0E0H 直接寻址方式(双字节)。 ;3,在指令系统中:字节地址与位地址是完全不同的概念。
前者用direct表示,而后者用bit 表示,但在指令中都是用16进制表示的数。
如:
MOV A,20H ;将RAM的20H单元内容送A
MOV C,20H ;将位寻址区中的位地址为20H位内容送
PSW 中的Cy中。;3 立即寻址;【注意】:
MOV A,#30H MOV A,30H 两者的区别。
立即数寻址的指令长度为2或3个字节。;4 寄存器间接寻址; MOV R0,#30H ;立即数送R0寄存器
MOV A,@R0 ;从RAM的30H单元取数送累加器A
【注意】 MOV A,@R0 和 MOV A,R0 指令的区别。;使用间接寻址时应注意的几个问题:;间址可访问片内RAM,也是访问片外RAM唯一的方式。
①对于片内RAM使用Ri寄存器,寻址范围00H~FFH;
MOV A,@Ri 访问内部RAM单元
②对片外RAM可以:
使用Ri。寻址范围为00H~FFH(256字节);
使用DPTR做间址寄存器。寻址范围为0000H~FFFFH (64K)。
MOVX A,@Ri ;访问外RAM单元,范围256字节MOVX A,@DPTR ;访问外RAM单元,范围64K字节
【注意】: Ri、DPTR应事先装入地址。;间址方式不能访问SFR单元。如下面的程序是错误的:
MOV R1 , #80H
MOV A , @R1
因为80H为SFR的物理地址
对于SFR只能采用直接寻址的方式访问。;5 变址寻址;变址寻
您可能关注的文档
最近下载
- 重庆天齐锂电新材料有限公司新建1000吨_年高能锂电材料电池级金属锂项目环评报告.pdf VIP
- DB65T 3694-2015 现行哈萨克文与西里尔哈萨克文编码字符转换规则.docx VIP
- TGXAS 1044-2025《中医护理三级查房规范》(发布稿).pdf VIP
- 华为云服务登录.doc VIP
- 采砂场工业用水水资源论证论证表详解.doc VIP
- Onkyo安桥TX-NR828中文说明书.pdf
- 采砂场工业用水水资源论证论证表分析报告.doc
- 【中考】2025年广东佛山数学试卷(原卷+答案).docx VIP
- 2021年广东省佛山市中考数学真题及答案.pdf VIP
- SpaceX火星探索任务成本预算与风险管理分析报告.docx
原创力文档

文档评论(0)