ARM汇编器与GCC汇编器支持的汇编语言差别
2011-09-23 20:43
288 查看
将ARM SDT下的汇编代码移植到GCC for ARM编译器时,经常要做如下修改:
1、[注释]
; => /* */ 或者 //
2、[伪操作符替换]
JUMPADDR => JUMPADDR: -- 符号定义加:号
INCLUDE => .INCLUDE
EQU => .equ
TCLK2 EQU PB25 => .equ TCLK2, PB25
TCLK2 EQU PB25 => .equ TCLK2, PB25
DCD => .long .word
IF :DEF: => #if defined(MACRO_SAMPLE)
ELSE => #else
ENDIF => #endif
:OR: => |
:SHL: => <<
Entry => Entry:
END => .end
AREA Word, CODE, READONLY => .text
AREA Block, DATA, READWRITE => .data
CODE32 => .arm
CODE16 => .thumb
LTORG => .ltorg
% => .fill
MACRO => .macro
MEND => .endm
EXPORT => .global
IMPORT => .extern
GBLL GBLA => .global
SETL SETA => #define 或者.equ
EQU => #define
GET option.a => #include "option.a"
?? => .align
3、[操作数及运算符号替换]
ldr pc, [pc, #&18] 替换成 ldr pc, [pc, #+0x18]
“&” => “+0x”
ldr pc, [pc, #-&20] 替换成 ldr pc, [pc, #-0x20]
“-&” => “-0x”
1、[注释]
; => /* */ 或者 //
2、[伪操作符替换]
JUMPADDR => JUMPADDR: -- 符号定义加:号
INCLUDE => .INCLUDE
EQU => .equ
TCLK2 EQU PB25 => .equ TCLK2, PB25
TCLK2 EQU PB25 => .equ TCLK2, PB25
DCD => .long .word
IF :DEF: => #if defined(MACRO_SAMPLE)
ELSE => #else
ENDIF => #endif
:OR: => |
:SHL: => <<
Entry => Entry:
END => .end
AREA Word, CODE, READONLY => .text
AREA Block, DATA, READWRITE => .data
CODE32 => .arm
CODE16 => .thumb
LTORG => .ltorg
% => .fill
MACRO => .macro
MEND => .endm
EXPORT => .global
IMPORT => .extern
GBLL GBLA => .global
SETL SETA => #define 或者.equ
EQU => #define
GET option.a => #include "option.a"
?? => .align
3、[操作数及运算符号替换]
ldr pc, [pc, #&18] 替换成 ldr pc, [pc, #+0x18]
“&” => “+0x”
ldr pc, [pc, #-&20] 替换成 ldr pc, [pc, #-0x20]
“-&” => “-0x”
相关文章推荐
- 【转】让Souce Insight支持多种语言的语法高亮:Python,Ruby,ARM汇编,windows脚本文件(bat/batch),PPC,SQL,TCL,Delphi等
- 让Souce Insight支持多种语言的语法高亮:Python,Ruby,ARM汇编,windows脚本文件(bat/batch),PPC,SQL,TCL,Delphi等
- ARM基础:为何C语言(的函数调用)需要堆栈,而汇编语言却不需要堆栈
- 汇编语言--ARM汇编
- IAR ARM中的汇编语言学习笔记
- ARM基础:为何C语言(的函数调用)需要堆栈,而汇编语言却不需要堆栈
- ARM 汇编语言 学习
- 让Source Insight支持ARM汇编.S文件关键字高亮,函数支持
- MSC-51汇编、ARM汇编与8086汇编语言编程方式的异同
- 汇编语言 arm与intel
- ARM工作模式选择(汇编语言)分析
- linux开发---2.汇编语言arm-linux下的打印
- 通过51对比C语言与汇编语言的差别
- ARM-elf-gcc的C语言内嵌汇编语言
- arm中的汇编语言之ARM指令集
- ARM (三) arm中C/C++及汇编语言的…
- ARM的ADS汇编器与GCC汇编器
- Mac OS X版本的sublime text 3安装汇编语言语法支持
- ARM中C语言和汇编语言的混合编程
- 高级汇编语言和低级汇编语言的差别