ARM汇编程序中伪操作

    在ARM的汇编程序中,有如下几种伪指令:
    符号定义伪指令。
    数据定义伪指令。
    汇编控制伪指令。
    信息报告伪指令。
    宏指令以及其他伪指令。
    1.符号定义伪指令用于定义ARM汇编程序中的变量、对变量赋值以及定义寄存器的别名等
    (1)LCLA、LCLL和LCLS
    格式:
    LCLA/LCLL/LCLS 局部变量名
    (2)GBLA、GBLL和GBLS
    格式:
    GBLA/GBLL/GBLS 变量名
    (3)SETA、SETL和SETS
    格式:
    变量名 SETA/SETL/SETS 表达式
    (4)RLIST
    格式:
    名称 RLIST {寄存器列表}
    2.数据定义伪操作
    数据定义伪操作用于为数据分配存储单元,同时也可完成已分配存储单元的初始化。用到的数据定义伪操作有如下几种:
    DCB 分配连续的字节存储单元并使用指定数据初始化。
    DCW/DCWU 分配连续的半字(2字节)存储单元并使用指定的数据初始化。
    DCD/DCDU 分配连续的字(4字节)存储单元并使用指定的数据初始化。
    DCQ/DCQU 分配一块以8个字节为单位的连续的存储单元并使用指定的数据初始化。
    DCFS/DCFSU 为单精度的浮点数分配连续的字存储单元并使用指定的数据初 始化。
    DCFD/DCFDU 为双精度的浮点数分配连续的字存储单元并使用指定的数据初 始化。
    SPACE 分配一块连续的存储单元。
    FIELD 定义一个结构化的内存表的数据域。
    MAP 定义一个结构化的内存表首地址。
    (1)DCB
    格式:
    标号 DCB 表达式
    (2)DCW/DCWU
    格式:
    标号 DCW/DCWU 表达式
    (3)DCD/DCDU
    格式:
    标号 DCD/DCDU 表达式
    (4)DCQ/DCQU
    格式:
    标号 DCQ/DCQU 表达式
    (5)DCFD/DCFDU
    格式:
    标号 DCFD/DCFDU 表达式
    (6)DCFS/DCFSU
    格式:
    标号 DCFS/DCFSU 表达式
    (7)SPACE
    格式:
    标号 SPACE 表达式
    (8)MAP
    格式:
    MAP 表达式 [,基址寄存器]
    (9)FIELD
    格式:
    标号 FIELD 字节数
    3.汇编控制伪操作
    汇编控制伪操作用于指引汇编程序的执行流程,常用的伪操作包括以下几种:
    MACRO和MEND。
    IF、ELSE和ENDIF。
    WHILE和WEND。
    MEXIT。
    (1)MACRO和MEND
    格式:
    MACRO
    [$标号] 宏名 [$参数1,$参数2,……]
    指令序列
    MEND
    (2)IF、ELSE和ENDIF
    格式:
    IF 逻辑表达式
    代码段1
    ELSE
    代码段2
    ENDIF
    (3)WHILE和WEND
    格式:
    WHILE 逻辑表达式
    代码段
    WEND
    (4)MEXIT
    语法格式:
    MEXIT
    4.其他伪指令
    在汇编程序中经常会使用一些其他的伪指令,包括以下几条:
    ASSERT
    AREA
    ALIGN
    CODE16/CODE32
    ENTRY
    END
    EQU
    IMPORT
    EXPORT/GLOBAL
    EXTERN
    INCBIN
    GET/INCLUDE
    RN
    ROUT
    (1)ASSERT
    格式:
    ASSERT 逻辑表达式
    (2)AREA
    格式:
    AREA 段名 属性,……
    (3)ALIGN
    格式:
    ALIGN [表达式[,偏移量]]
    (4)CODE16/CODE32
    格式:
    CODE16/CODE32
    (5)ENTRY
    格式:
    ENTRY
    (6)END
    格式:
    END
    (7)EQU
    格式:
    名称 EQU 表达式 [,类型]
    (8)EXPORT/GLOBAL
    格式:
    EXPORT/GLOBAL 标号 [,WEAK]
    (9)IMPORT
    格式:
    IMPORT 标号 [,WEAK]
    (10)EXTERN
    语法格式:
    EXTERN 标号 [,WEAK]
    (11)GET/INCLUDE
    格式:
    GET 文件名
    (12)INCBIN
    格式:
    INCBIN 文件名
    (13)RN
    格式:
    名称 RN 表达式
    (14)ROUT
    格式:
    [名称] ROUT

版权声明:aysz01 发表于 2024-09-07 17:02:52。
转载请注明:ARM汇编程序中伪操作 | 电工学习网

暂无评论

暂无评论...