首页 | 新闻 | 新品 | 文库 | 方案 | 视频 | 下载 | 商城 | 开发板 | 数据中心 | 座谈新版 | 培训 | 工具 | 博客 | 论坛 | 百科 | GEC | 活动 | 主题月 | 电子展
返回列表 回复 发帖

ARM汇编指令(12)

ARM汇编指令(12)

10GET(或INCLUDE
语法格式:   
    GET 文件名   
    GET伪指令用于将一个源文件包含到当前的源文件中,并将被包含的源文件在当前位置进行汇编处理。可以使用INCLUDE代替GET
汇编程序中常用的方法是在某源文件中定义一些宏指令,用EQU定义常量的符号名称,用MAPFIELD定义结构化的数据类型,然后用GET伪指令将这个 源文件包含到其他的源文件中。使用方法与C 语言中的"include”相似。   
    GET伪指令只能用于包含源文件,包含目标文件需要使用INCBIN伪指令
使用示例:   
    AREA Init CODE READONLY   
    GET a1.s
通知编译器当前源文件包含源文件a1.s   
    GET C\a2.s 通知编译器当前源文件包含源文件C\a2.s
    END    11INCBIN   
    语法格式:   
    INCBIN 文件名   
    INCBIN伪指令用于将一个目标文件或数据文件包含到当前的源文件中,被包含的文件不作任何变动的存放在当前文件中,编译器从其后开始继续处理。
使用示例:   
    AREA Init CODE READONLY   
    INCBIN a1.dat
通知编译器当前源文件包含文件a1.dat   
    INCBIN C\a2.txt ;通知编译器当前源文件包含文件C\a2.txt  
    END   

12RN   
    语法格式:
名称 RN 表达式   
    RN伪指令用于给一个寄存器定义一个别名。采用这种方式可以方便程序员记忆该寄存器的功能。其中,名称为给寄存器定义的别名,表达式为寄存器的编码。
使用示例:   
    Temp RN R0 ;将R0定义一个别名Temp   

13ROUT  
    语法格式:   
    {名称} ROUT   
    ROUT伪指令用于给一个局部变量定义作用范围。在程序中未使用该伪指令时,局部变量的作用范围为所在的AREA,而使用ROUT后,局部变量的作为范围为当前ROUT和下一个ROUT之间。


3. BNE   BEQ
TST     R0, #0X8
BNE    SuspendUp BNE指令是不相等(或不为0)跳转指令

LDR   R1,#0x00000000
先进行and运算,如果R0的第四位不为1,则结果为零,则设置zero=1(继续下面的LDR指令);
否则,如果R0的第四位为1zero=0(跳到SuspendUp处执行)。
tst bne连用: 先是用tst进行位与运算,然后将位与的结果与0比较,如果不为0,则跳到bne紧跟着的标记(如bne sleep,则跳到sleep处)。
tst beq连用: 先是用tst进行位与运算,然后将位与的结果与0比较,如果为0,则跳到beq紧跟着的标记(如bne AAAA,则跳到AAAA处)。
继承事业,薪火相传
返回列表