内容正文:
第三章 MCS-51 系列单片机指令系统
3.8 伪指令
《单片机技术与应用》 高教版 第二版 魏寿明
CONTENTS
目录
01
学习目标
02
新课引入
03
新课教学
04
师生互动
05
课堂练习
06
课堂小结
学习目标
CATALOGUE
一
掌握伪指令的概念和作用
熟悉常见的伪指令及其使用方法
理解伪指令在编程中的重要性
学习目标
新课引入
CATALOGUE
二
伪指令(Pseudo-instruction)是一种在汇编语言中使用的特殊指令,它并不是真正的机器指令,而是由汇编器在汇编过程中被转换成一系列真正的机器指令。
伪指令的背景和起源可以追溯到早期的汇编语言发展阶段。在早期的计算机系统中,汇编语言是主要的编程语言,用于编写底层的机器代码。然而,由于不同的计算机系统具有不同的指令集架构和机器指令格式,编写可移植的汇编程序变得非常困难。
为了解决这个问题,汇编器引入了伪指令的概念。伪指令是一种特殊的指令,它不是真正的机器指令,而是由汇编器在汇编过程中被转换成一系列真正的机器指令。通过使用伪指令,程序员可以使用一种通用的汇编语言编写程序,而无需关心底层的机器指令细节。
伪指令的背景和起源
新课教学
CATALOGUE
三
伪指令定义
伪指令是一种在汇编语言中用于给汇编器提供指令的特殊指令。它不是直接控制硬件的机器指令,而是由汇编器在编译时根据伪指令的含义将其翻译成相应的机器指令。
伪指令分类
根据其作用和功能,伪指令可以分为条件汇编、宏处理、文件包含、符号定义等类型。
伪指令的作用和意义
伪指令在汇编语言中起着非常重要的作用,它们使得汇编语言的编程更加灵活和方便。通过使用伪指令,程序员可以简化代码、提高代码可读性和可维护性,同时减少重复的代码编写,提高编程效率。
伪指令定义
伪指令的作用和意义
提高代码可读性和可维护性
通过使用伪指令,可以将一些复杂的操作或重复的代码块抽象为简单的符号或指令,使得代码更加简洁明了,易于阅读和维护。
简化编程
在一些复杂的汇编语言编程任务中,使用伪指令可以大大简化编程过程,减少错误和冗余代码的出现。
提高编程效率
通过使用伪指令,可以避免重复编写相同的代码块,提高编程效率,同时减少出错的可能性。
增强程序的可扩展性和可重用性
通过使用宏处理和条件汇编等类型的伪指令,可以在一定程度上实现程序的可扩展性和可重用性,使得程序更加灵活和易于修改。
设置目标程序起始地址伪指令org
格式如下:
[符号:] ORG 地址(用十六进制数表示)
该伪指令的功能是规定其后面的目标程序或数据块的起始地址。例如:
ORG 2000H START:MOV A,#30H表明标号为START的目标程序从2000H 单元开始存放,标号START也具有2000H 地址值。
一般在一个汇编语言源程序的开始,都用一条 ORG伪指令来规定该程序存放的起始位置。在一个源程序中,可以多次使用ORG 指令,以规定不同程序段的起始位置。但所规定的地址 应从小到大,不允许不同的程序段之间有重叠。一个源程序若不用 ORG 指令开始,则从0000H 单元开始存放目标代码。
org伪指令的作用是设置程序的起始地址,确保程序能够从正确的位置开始加载和执行。
它对于程序的正确加载和执行至关重要,因为程序的起始地址决定了程序在内存中的位置和执行的起始点。
如果org伪指令设置不正确,可能会导致程序加载错误、执行异常或出现其他不可预测的行为。因此,在使用org伪指令时需要特别小心,确保所指定的地址是正确的。
org伪指令的作用和影响
格式如下:
[符号:] END
END 是汇编语言源程序的结束标志。在 END以后所写的指令都不予处理。 一个源程序只 能有一个 END命令,否则就有一部分指令不能执行。
结束汇编伪指令 end
定义字节伪指令 db
格式如下:
[标号:] DB项或项表
该伪指令的功能是把项或项表的数据存入从标号地址开始的连续存储单元中。例如:
ORG 2000H TAB1: DB 30H,8AH,7FH,73 DB'5','A','BCD'
由 ORG2000H 得 TAB1的地址为2000H, 因此,以上伪指令经汇编后,将对2000H 开始 的连续存储单元赋值。
使用db伪指令可以定义任意数量的字节数据,并将其存储在内存中。这对于初始化变量或定义数据结构非常有用。
作用
使用db伪指令会影响程序的内存占用和运行时行为。通过定义适当的字节数据,可以控制程序的初始状态和行为。
影响
db伪指令的作用和影响
定义字伪指令 dw
格式如下:
[标号:] DW项或项表DW 伪指令与 DB 相似,但用于定义字的内容。汇编时