您的位置:首页 > 其它

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”
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: