9.4 重复汇编伪指令
优质
小牛编辑
138浏览
2023-12-01
9.4.2 伪指令IRP
伪指令IRP的作用是用每个参数创建一组语句,其重复次数由伪指令后面参数表中参数的个数来确定。其一般使用格式如下:
IRP | 形式参数, <实参1, 实参2, ……, 实参n> | |
重复的语句组 | ||
ENDM |
例9.11 把16位通用寄存器之值相加,并把结果存入寄存器AX。
解:由于16位通用寄存器名是一些不同的符号,不能用计数的方法来依次访问它们,所以,我们需要用伪指令IRP来实现。
IRP | REG, <BX, CX, DX, SP, BP, SI, DI> | |
ADD AX, REG | ||
ENDM |
9.4.3 伪指令IRPC
伪指令IRPC的作用与IRP相似,其实参表是一个字符串,并对字符串中的每个字符创建一组语句,所以,其重复次数是由该字符串中的字符数来确定。其一般使用格式如下:
IRPC | 形式参数, 字符串 | |
重复的语句组 | ||
ENDM |
例9.12 定义10个字节存储单元,保存数字0~9的平方数。
解:
IRPC | X, 0123456789 | |
DB X*X | ||
ENDM |
例9.13 把16位数据寄存器之值相加,并把结果存入寄存器DI。
解:由于16位数据寄存器是AX、BX、CX和DX,它们的名称中只有第一个字符不同,所以,可以用伪指令IRPC来实现。
XOR | DI, DI | |
IRPC | REG, ABCD | |
ADD DI, REG&X;符号&是连接运算符 | ||
ENDM |