|
知识路径: > 嵌入式系统软件基础知识 > 嵌入式系统程序设计 > 嵌入式程序设计语言 > 汇编语言(指令系统、寻址方式、伪指令、宏指令等) > 汇编语言程序设计 > 汇编语言程序 > 汇编语言源程序中的指令 >
|
相关知识点:3个
|
|
|
|
伪指令语句指示汇编程序在对源程序进行汇编时完成某些工作。例如,给变量分配存储单元地址,给某个符号赋一个值等。伪指令语句与指令语句的区别是:伪指令语句经汇编后不产生机器代码,而指令语句经汇编后要产生相应的机器代码。另外,伪指令语句所指示的操作是在源程序被汇编时完成的,而指令语句的操作必须在程序运行时完成。
|
|
|
通常,汇编语言都应设立常数定义、存储定义、汇编控制、开始和结束等伪指令。
|
|
|
(1)常数定义伪指令。例如,在ARM汇编语言中定义常数的格式为:
|
|
|
|
其中,EQU是语句的记忆码,x是用户定义的常数。这条语句的功能是定义标记符x的值为50。
|
|
|
(2)存储定义伪指令。例如,ARM汇编语言使用DCB来定义内存单元。
|
|
|
|
这条语句用于指示分配一片连续的字节存储单元并进行初始化,str表示被分配的存储区域的起始地址。
|
|
|
(3)汇编控制伪指令,用于控制汇编程序的执行流程。
|
|
|
例如,在ARM汇编语言中,常用的汇编控制伪指令包括:
|
|
|
|
|
(4)开始伪指令。例如,在ARM中可以使用ENTRY伪指令来指定汇编程序的入口点。
|
|
|
(5)结束伪指令。例如,在ARM中END伪指令用于通知编译器已经到了源程序的结尾。
|
|
|
对于每一条汇编指令语句,它由四个部分组成,或者说,被划分为4个区,依次是标号区、操作码区、操作数区和注释区。各个区域之间用确定的符号分隔开。标号区中的标号用于指示一条汇编指令语句,它实际上代表该指令的内存单元地址。操作码区是该语句的指令助记符,它可以是机器指令助记符、伪指令码等。操作数区指出本条汇编指令所操作的运算对象,用寻址方式指定操作数的来源,常用的是寄存器操作数和内存单元操作数。
|
|
|