linux 下arm汇编语法
时间:11-20
来源:互联网
点击:
嵌入式系统,http://blog.163.com/liren0@126/blog/static/32897598200821211144696/
7. objcopy命令介绍,http://blog.csdn.net/junhua198310/archive/2007/06/27/1669545.aspx
=================================================================================
(补充)转:http://hi.baidu.com/760159/blog/item/122980def7c9e11948540361.html/cmtid/959835c57b6a74a48226aca4
ARM的ADS汇编器与GCC汇编器
一:ads下的一段汇编程序:
__main
EXPORT BootReset
BootReset
B resetvec_reqset
IMPORT BootEntry
IMPORT |Image$$RO$$Limit|
AREA BOOTROM, CODE, READONLY
LDR r0, =|Image$$RO$$Limit|
BEQ %1
ldr pc, [pc,#-&F20]
转换到gcc下的汇编程序为:
__main
.global BootReset
BootReset:
B resetvec_reqset
.extern BootEntry
.extern Image_RO_Limit
# AREA BOOTROM, CODE, READONLY
LDR r0, =Image_RO_Limit
BEQ FUNC1
ldr pc, [pc,#-0xF20]
二:将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
3、操作数及运算符号替换
ldr pc, [pc, #&18] 替换成 ldr pc, [pc, #+0x18]
“&”以“+0x”号替换
========================================================================
7. objcopy命令介绍,http://blog.csdn.net/junhua198310/archive/2007/06/27/1669545.aspx
=================================================================================
(补充)转:http://hi.baidu.com/760159/blog/item/122980def7c9e11948540361.html/cmtid/959835c57b6a74a48226aca4
ARM的ADS汇编器与GCC汇编器
一:ads下的一段汇编程序:
__main
EXPORT BootReset
BootReset
B resetvec_reqset
IMPORT BootEntry
IMPORT |Image$$RO$$Limit|
AREA BOOTROM, CODE, READONLY
LDR r0, =|Image$$RO$$Limit|
BEQ %1
ldr pc, [pc,#-&F20]
转换到gcc下的汇编程序为:
__main
.global BootReset
BootReset:
B resetvec_reqset
.extern BootEntry
.extern Image_RO_Limit
# AREA BOOTROM, CODE, READONLY
LDR r0, =Image_RO_Limit
BEQ FUNC1
ldr pc, [pc,#-0xF20]
二:将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
3、操作数及运算符号替换
ldr pc, [pc, #&18] 替换成 ldr pc, [pc, #+0x18]
“&”以“+0x”号替换
========================================================================
linuxarm汇编语 相关文章:
- Windows CE 进程、线程和内存管理(11-09)
- RedHatLinux新手入门教程(5)(11-12)
- uClinux介绍(11-09)
- openwebmailV1.60安装教学(11-12)
- Linux嵌入式系统开发平台选型探讨(11-09)
- Windows CE 进程、线程和内存管理(二)(11-09)