首页 理论教育 单片机嵌入式系统学习指导及实验详解

单片机嵌入式系统学习指导及实验详解

时间:2023-10-18 理论教育 版权反馈
【摘要】:伪指令不翻译成机器码,它们用以指导汇编器如何将指令翻译成机器码。执行指令即指令系统给出的各种指令;伪指令由汇编程序规定,是提供汇编控制信息的指令。存放时一个字需2个单元,高8位先存,低8位后存,这和8051指令中的16位数据存放顺序是一致的。8051指令系统有如下7种寻址方式,每种方式都有其对应的有效寻址范围(空间)。

单片机嵌入式系统学习指导及实验详解

本章介绍了8051单片机的指令格式和寻址方式,讲述了数据传送、算术运算、逻辑运算及移位、位操作、控制转移指令,读者应对常用的指令熟练掌握,以便为程序设计打下必要的基础。

本章的重点是数据传送、算术与逻辑运算、位操作、控制转移指令,难点是算术与逻辑运算对程序状态字(PSW)的影响以及控制转移指令的用法。

汇编语言程序由一系列语句组成,包括指令和伪指令。指令由汇编器翻译成机器码。伪指令不翻译成机器码,它们用以指导汇编器如何将指令翻译成机器码。

1.汇编语言指令格式

汇编指令分为2类,执行指令和伪指令。执行指令即指令系统给出的各种指令;伪指令由汇编程序规定,是提供汇编控制信息的指令。

(1)汇编语言执行指令格式 一条汇编语言指令中最多包含如下4个区段:

标号:操作码 操作数;注释

4个区段之间要用分隔符分开,标号区段与操作码区段之间用冒号“:”隔开,操作码与操作数之间用空格隔开,操作数与注释区段之间用分号“;”隔开。如果操作数区段中有2个以上的操作数,则在操作数之间要用逗号“,”隔开。例如,把立即数0C0H送累加器的指令为:

(2)汇编语言伪指令 常用的伪指令有下列几种:

1)ORG伪指令总是出现在每段源程序或数据块的开始,它指明此语句后面的程序或数据块的起始地址。其一般格式为:

ORG nn (绝对地址或标号)

2)标号:DB字节常数或字符或表达式

其中,标号区段可有可无,字节常数或字符是指一个字节数据,或用逗号分开的字节串,或用引号括起来的ASCII码字符串(一个ASCII字符相当于一个字节)。此伪指令的功能是把字节常数或字节串存入内存连续单元中。

3)标号: DW 字或字串

DW伪指令的功能与DB相似,其区别在于DB是定义一个字节,而DW是定义一个字(规定为2个字节,即16位二进制数),故DW主要用来定义地址。存放时一个字需2个单元,高8位先存,低8位后存,这和8051指令中的16位数据存放顺序是一致的。

4)标号 EQU 操作数

EQU伪指令的功能是将操作数赋值于标号,使两边的两个量等值。例如语句

AREA EQU 2000H

即给标号AREA赋值为2000H。

5)END(汇编结束)(www.xing528.com)

标号:END 地址或标号

其中标号以及操作数字段的地址或标号不是必要的。

END伪指令是一个结束标志,用来指示汇编语言源程序段已结束。

2.寻址方式

在指令中操作数的存取方法就是寻址方式。不同的指令需要不同的寻址方式,不同的指令系统的寻址方式也不全相同。

8051指令系统有如下7种寻址方式,每种方式都有其对应的有效寻址范围(空间)。

寄存器寻址——对选中的寄存器中的数据进行处理。

直接寻址——又称为绝对寻址,按给出的地址数据直接对存储器单元访问。

立即寻址——直接进行给出的立即数处理。

寄存器间接寻址——用寄存器中的数据作存储器的单元地址来访问该存储单元

相对寻址——为解决程序转移而专门设置的,为转移指令所采用。

位寻址——8051共有211个可寻址位。

基址加变址寄存器间接寻址——用一个基址(基本地址指针)寄存器和一个偏移量地址寄存器分别存储基本地址和偏移量地址,用两者相加形成的数据作为存储单元的地址来访问该存储单元。

3.8051单片机指令分类

1)数据传送类。

2)算术运算类。

3)逻辑运算类。

4)控制转移类。

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈