微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 嵌入式设计 > ARM汇编伪指令介绍之二

ARM汇编伪指令介绍之二

时间:11-09 来源:互联网 点击:

用的标号Stest……

END

8、 IMPORT

语法格式:

IMPORT 标号 {[WEAK]}

IMPORT 伪指令用于通知编译器要使用的标号在其他的源文件中定义,但要在当前源文件中引用,而且无论当前源文件是否引用该标号,该标号均会被加入到当前源文件的符号表中。

标号在程序中区分大小写, [WEAK] 选项表示当所有的源文件都没有定义这样一个标号时,编译器也不给出错误信息,在多数情况下将该标号置为 0 ,若该标号为 B 或 BL 指令引用,则将 B 或 BL指令置为NOP 操作。

使用示例:

AREA Init , CODE , READONLY

IMPORT Main ;通知编译器当前文件要引用标号Main,但Main 在其他源文件中定义……

END

9、 EXTERN

语法格式:

EXTERN 标号 {[WEAK]}

EXTERN 伪指令用于通知编译器要使用的标号在其他的源文件中定义,但要在当前源文件中引用,如果当前源文件实际并未引用该标号,该标号就不会被加入到当前源文件的符号表中。标号在程序中区分大小写, [WEAK] 选项表示当所有的源文件都没有定义这样一个标号时,编译器也不给出错误信息,在多数情况下将该标号置为 0 ,若该标号为 B 或 BL 指令引用,则将 B 或 BL指令置为 NOP 操作。

使用示例:

AREA Init , CODE , READONLY

EXTERN Main ;通知编译器当前文件要引用标号Main,但Main 在其他源文件中定义……

END

10、 GET(或INCLUDE)

语法格式:

GET 文件名

GET 伪指令用于将一个源文件包含到当前的源文件中,并将被包含的源文件在当前位置进行汇编处理。可以使用 INCLUDE 代替 GET 。

汇编程序中常用的方法是在某源文件中定义一些宏指令,用 EQU 定义常量的符号名称,用MAP和FIELD 定义结构化的数据类型,然后用 GET 伪指令将这个源文件包含到其他的源文件中。使用方法与 C 语言中的 “ include ” 相似。

GET 伪指令只能用于包含源文件,包含目标文件需要使用INCBIN伪指令

使用示例:

AREA Init , CODE , READONLY

GET a1.s ;通知编译器当前源文件包含源文件a1.s

GE T C:\a2.s ;通知编译器当前源文件包含源文件C:\ a2.s ……

END

11、 INCBIN

语法格式:

INCBIN 文件名

INCBIN 伪指令用于将一个目标文件或数据文件包含到当前的源文件中,被包含的文件不作任何变动的存放在当前文件中,编译器从其后开始继续处理。

使用示例:

AREA Init , CODE , READONLY

INCBIN a1.dat ;通知编译器当前源文件包含文件a1.dat

INCBIN C:\a2.txt ;通知编译器当前源文件包含文件C:\a2.txt……

END

12、 RN

语法格式:

名称 RN 表达式

RN 伪指令用于给一个寄存器定义一个别名。采用这种方式可以方便程序员记忆该寄存器的功能。

其中,名称为给寄存器定义的别名,表达式为寄存器的编码。

使用示例:

Temp RN R0 ;将R0 定义一个别名Temp

13、 ROUT

语法格式:

{ 名称 } ROUT

ROUT 伪指令用于给一个局部变量定义作用范围。在程序中未使用该伪指令时,局部变量的作用范围为

所在的 AREA ,而使用 ROUT 后,局部变量的作为范围为当前 ROUT 和下一个 ROUT 之间。


Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top