马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?注册
x
(13)NOFP 使用NOFP伪操作禁止源程序中包含浮点运算指令。 语法格式 NOFP 当系统中没有硬件或软件仿真支持浮点运算指令时,使用NOFP伪操作禁止在源程序中使用浮点运算指令。这时如果源程序中包含浮点运算指令,或者在浮点运算指令的后面使用NOFP伪操作,编译器将会报告错误。 (14)REQUIRE REQUIRE伪操作用于指定段之间的相互依赖关系。 语法格式 REQUIRE label 其中:label为所需要的标号的名称。 使用说明 当进行链接处理包含有“REQUIRE label”伪操作的源文件时,定义label的源文件也将被包含。 (15)REQUIRE8及PRESERVE8 REQUIRE8伪操作指示当前代码中要求数据栈8字节对齐。 PRESERVE8伪操作表示当前代码中数据栈是8字节对齐的。 语法格式 REQUIRE8 PRESERVE8 使用说明 LDRD及STRD指令要求内存单元地址是8字节对齐的。当在程序中使用这些指令在数据栈中传送数据时,要求该数据栈是8字节对齐的,这时就需要用REQUIRE8伪操作来说明。 链接器要保证要求8字节对齐的数据栈代码只能被数据栈是8字节对齐的代码调用。 (16)RN RN伪操作为一个特定的寄存器定义名称。 语法格式 name RN expr 其中:expr为某个寄存器的编码;name为本伪操作给寄存器expr定义的名称。 使用说明 RN伪操作用于给一个寄存器定义名称,以方便记忆该寄存器的功能。 示例44 RN伪操作举例。 COUNT RN 6 ;定义寄存器R6为COUNT CHOOSE RN 9 ;定义寄存器R9为CHOOSE (17)ROUT {name} ROUT 其中:name为所定义的作用范围的名称。 使用说明 当没有使用ROUT伪操作定义局部变量的作用范围时,局部变量的作用范围为其所在的段。ROUT伪操作作用的范围为本ROUT伪操作和下一个ROUT(指同一个段中的ROUT伪操作)伪操作之间。若只要一个ROUT,则局部标号的作用范围在ROUT与段结束伪操作之间。下面的例子说明了ROUT的用法。 示例45 ROUT伪操作举例。 routine ROUT ;定义局部标号的有效范围,名称为routine … 1 routine ;routine范围内的局部标号1 … BEQ %2 routine ;若条件成立,则跳转到routine范围内的局部标号2 … BEQ %1 routine ;若条件成立,则跳转到routine范围内的局部标号1 … 2 routine … ;routine范围内的局部标号2 … otherroutine ROUT ;定义新的局部标号的有效范围 凌阳教育,专注嵌入式人才培养多年,完善的培养方案,强大的师资,合理的课程安排,成功从小白蜕变为嵌入式工程师。想了解凌阳教育,或者获得更多嵌入式学习资料的免费下载,请点击www.sunplusedu.com访问凌阳教育官网 |