问题:如何将ARM SDT环境下的汇编代码移植到GCC编译环境中? 回答:将ARM SDT下的汇编码移植到GCC for ARM编译器时,经常要做如下修改:
1、注释行以“#”或“/* ... */”代替“;” 2、伪操作符替换: INCLUDE 替换成 .INCLUDE TCLK2 EQU PB25 替换成 .equ TCLK2, PB25 EXPORT 替换成 .global IMPORT 替换成 .extern DCD 替换成 .long IF :DEF: 替换成 .IFDEF ELSE 替换成 .ELSE ENDIF 替换成 .ENDIF :OR: 替换成 | :SHL: 替换成 << END 替换成 .end 符号定义加":"号 AREA Word, CODE, READONLY --> .text AREA Block, DATA, READWRITE --> .data CODE32 --> .arm CODE16 --> .thumb LTORG --> .ltorg --> .fill 3、操作数及运算符号替换 ldr pc, [pc, #&18] 替换成 ldr pc, [pc, # 0x18] “&”以“ 0x”号替换
|