ARM汇编程序设计之:ARM汇编器所支持的伪操作
5.协处理器寄存器名称定义伪操作CN
(1)语法格式
CN伪操作为协处理器寄存器定义名称。
语法格式如下。
NameCNexpr
①Name
定义的协处理器寄存器的名称。
注意 | 该名称不能和已经定义寄存器或协处理器名称相同。 |
②expr
协处理器寄存器编号。
(2)使用说明
协处理器寄存器编号的数值范围为0~15。避免使用不同的名称定义同一物理寄存器。
注意 | 协处理器寄存器的名称不能被定义为c0~c15,这些名称已经被汇编器预定义。 |
(3)示例
将协处理器寄存器6命名为Power。
PowerCN6
6.协处理器名称定义伪操作CP
(1)语法格式
CP伪操作为指定的协处理器定义名称。
语法格式如下。
NameCPexpr
①Name
定义的协处理器名称。
注意 | 该名称不能和已经定义寄存器或其他协处理器名称相同。 |
②expr
协处理器编号。
(2)使用说明
协处理器编号范围为0~15。
使用CP伪操作为协处理器定义一个方便记忆的名称,可以使程序员更高效地编写代码。
注意 | 协处理器寄存器的称不能被定义为p0~p15,这些名称已经被汇编器预定义。 |
(3)示例
将协处理器6命名为Dmu。
DmuCP6
7.VFP寄存器名称定义伪操作DN/SN
(1)语法格式
DN伪操作为双精度(double-precision)VFP寄存器定义名称。D0~D15是汇编器预先定义的,用户不能使用。
SN伪操作为单精度(single-precision)VFP寄存器定义名称。S0~S31是汇编器预先定义的,用户不能使用。
语法格式如下。
NameDNexpr
NameSNexpr
①Name
指定的VFP寄存器的名称。
注意 | 该名称不能和已经定义寄存器或其他协处理器名称相同。 |
②expr
指定VFP寄存器编号。对于双精度寄存器编号范围为0~15;对于单精度寄存器编号范围为0~31。
(2)示例
①将VFP双精度寄存器6定义为energy。
energyDN6
②将VFP单精度寄存器16定义为mass。
massSN16
8.浮点寄存器名称定义伪操作FN
(1)语法格式
FN为一个FPA浮点寄存器定义名称。F0~F7是汇编器预先定义的,用户不能使用。
注意 | FPA的使用在ARM公司新发布的编译器RVCT中已不再支持。 |
语法格式如下。
NameFNexpr
①Name
指定的浮点寄存器的名称。
注意 | 该名称不能和已经定义寄存器或其他协处理器名称相同。 |
②expr
指定浮点寄存器编号。编号范围为0~7。
(2)示例
为浮点寄存器6指定名称为Energy。
EnergyFN6
评论