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

ARM·汇编伪指令

时间:11-24 来源:互联网 点击:
ARM汇编程序中,有如下几种伪指令

*符号定义伪指令

*数据定义伪指令

*汇编控制伪指令

*信息报告伪指令

*宏指令以及其他伪指令

定义局部变量LCLA,LCLL,LCLS

定义全局变量GBLA,GBLL,GBLS

对变量赋值SETA,SETL,SETS


DCB

DCW/DCWU

DCD/DCDU

DCQ/DCDU

DCFS/DCFSU

DCFD/DCFDU

SPACE

FIELD

MAP

*DCB 表达式 用于分配一片连续的字节

*DCW/DCWU 表达式 用于分配一片连续的半字

*DCD/DCDU 表达式 用于分配一篇连续的字

*DCQ/DCQU 表达式 用于分配连续的8个字节

*DCFD/DCFDU 表达式 用于为双精度浮点数分配一片连续的字存储单元

*DCFS/DCFSU 表达式 用于为单精度浮点数分配一片连续的字存储单元

*SPACE 表达式 用于分配一片连续的存储区域并初始化为0,表达式是要分配的字节数

*MAP FILED

MAP 定义一个结构化的内存表的首地址

[MAP 0x100, R0] 首地址0x100+R0

FILED 定义一个结构化内存表中的数据域

[MAP 0x30000000

A FILED 4

B FILED 4

C FILED 4]

*MACRO MEND 宏名

*IF···ELSE···ENDIF [ | ]

*WHILE····WEND

*NEXIT 从宏中退出

*ASSERT 逻辑表达式

必须满足这一条件才可以进行编译

*ALIGN [表达式[,偏移量]]

AREA Init, CODE, READONLY, ALIGN=3

*AREA 段名 属性

DATA 数据段 默认READWRITE

CODE 代码段 默认READONLY

*NOINIT 内存单元初始化0

*ALIGN

*COMMON 通用段(不包括数据段和代码段)

*ENTRY

*END

*EQU (NUM EQU 100)(相当于c语言中的#define)

*EXPORT 声明一个全局变量

IMPORT IMPORT Main (引用Main变量,但Main不是在这个程序中定义的)

EXPORT 和IMPORT一样,但是源文件中若没有引用,则该标号不会出现

*RN 给寄存器改名字

temp RN R0

*GET/INCLUDE (相当于c语言中的include)

*INCBIN 文件名 (这个指令待程序中再做考虑)

INCBIN 2440test.bin

*NOP

使用内嵌汇编器后,可以在c/c++源程序中直接使用大部分的ARM指令和Thumb指令

在ARM c语言程序中使用关键词_asm来标识一段汇编指令

_asm

{

intstruction[; instrucition]

····

[instruction]

}

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

网站地图

Top