ARM SDT下的汇编移植到gcc for arm
2006-08-12 15:41
253 查看
将ARM SDT下的汇编码移植到GCC for ARM编译器时,经常要做如下修改:
[align=left]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”号替换[/align]
[align=left]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”号替换[/align]
相关文章推荐
- 如何将ARM SDT的汇编代码移植到GCC环境中
- Freepascal for CE和gcc for arm的联合编译
- 基于arm-linux-gcc的Apache和PHP移植
- 交叉编译GCC for arm
- ARM-elf-gcc的C语言内嵌汇编语言
- GCC 内联汇编(GCC内嵌ARM汇编规则)
- /bin/sh: 1: arm-v5t_le-gcc: not found Try 'dirname --help' for more information
- 64bit ubuntu 移植 arm-linux-gcc 4.3.2 版本出错
- [转 载]建立交叉编译器 for arm (binutils-2.17 gcc-3.4.6 glibc-2.3.6)
- Smbclient的移植到嵌入式设备(arm,montavista,arm_v5t_le-gcc)
- ARM GCC 内嵌(inline)汇编手册
- Linux gcc for 循环中 i=i++ 会造成死循环问题及 ++i / i++ 汇编分析
- 如何搭建ARM Cortex gcc环境 for Fredora 系统
- 移植Qt_for_ARM出错小结
- 【OpenCV】arm-linux-gcc 3.4.1 移植OpenCV 1.0 出现[cvpyrsegmentation.lo] Error 1 错误
- 移植Qt_for_ARM出错小结
- 嵌入式Linux中ARM gcc嵌套汇编学习-ARM GCC Inside Assembler
- ARM GCC 内嵌(inline)汇编手册
- ARM QT移植详细步骤教程(QT4.8.5+gcc-linaro-arm-linux-gnueabihf)
- FriendlyARM BIOS for 2440 移植内核