相对于硬指令,伪指令完成诸如程序存储模式、主存变量、子程序、宏及段定义等一些不产生CPU动作的说明性工作,正确透彻的理解伪指令,对于理解汇编程序,程序结构,运行机制等至关重要。
一、参数、变量和标号
在源程序语句格式的4个组成部分中,参数是指令的操作对象,参数之间用逗号分隔。,汇编语言中,指令参数有数值型,它的主要形式是常数和数值表达式;还有地址型,主要形式是标号和名字(变量名、段名、过程名等)。我们知道,硬指令的参数有立即数、寄存器和存储单元,其中立即数要用数值型参数表达式,存储单元应该用地址型参数。
1、常数:表示一个固定的数值,分多种形式:
(1)十进制常数——0~9组成,以字母D或d结尾
(2)十六进制常数——0~9、A~F组成,以字母H或h结尾
(3)二进制常数——0~1组成,以字母B或b结尾
(4)八进制常数——0~7组成,以字母Q或q结尾
MASM默认不加后缀字母的是十进制,但是提供了.RADIX伪指令改变默认进制,格式如下:
.RADIX n
其中n为2~16范围内的任何数值
(5)字符串常数——利用一个标识符表达的一个数值。常数若使用有意义的符号名来表达可以提高程序的可读性,同时更具有通用性。MASM提供等价机制,用来为常量定义符号名,符号定义伪指令有等价EQU和等号=伪指令。他们的格式为:
符号名 EQU 数值表达式
符号名 EQU <字符串>
符号名 = 数值表达式
EQU用于数值等价时不能重复定义符号名,但=允许有重复值。如:
x = 7 ;同样x EQU 7是正确的
x = x + 5 ;但是x EQU x + 5是错误的
2、数值表达式
是指由运算符(MASM统称为操作符Operator)连接的各种常数所构成的表达式。汇编程序在汇编过程中计算表达式,最终得到一个数值,因为在运行前就已经计算出了,所以不影响程序的运行速度,程序的可读性却增强了。
阅读(2214) | 评论(0) | 转发(0) |