将
ARM
ADS
下的汇编码移植到
GCC
for ARM
编译器时,有如下规则:
1,
注释行以
"@"
或
"/*
... */"
代替
";"
2, GET
或
INCLUDE
=> .INCLUDE
如:
get
option.a => .include "option.a"
3, EQU =>
.equ
TCLK2 EQU PB25 => .equ TCLK2, PB25
SETA ==> .equ
SETL ==> .equ
BUSWIDTH SETA 16 =>
.equ BUSWIDTH, 16
4, EXPORT => .global
IMPORT =>
.extern
GBLL => .global
GBLA => .global
5, DCD => .long
6, IF :DEF: => .IFDEF
ELSE => .ELSE
ENDIF => .ENDIF
:OR: => |
:SHL: => <<
7, END
=>.end
NOTE:
在被
include
的头文件中,如
"option.a"
中,不再需要
.end
,否则会导致主汇编程序结束。
8,
符号定义加
"
:
"
号
Entry
=> Entry:
AREA Word, CODE, READONLY ==> .text
AREA
Block, DATA, READWRITE ==> .data
CODE32 ==> .arm
CODE16
==> .thumb
9, MACRO ==> .macro
MEND
==> .endm
Reference:
http://blog.21ic.com/user1/3858/archives/2007/43113.html
分享到:
相关推荐
总结,《ARM标准汇编与GNU汇编》教程覆盖了ARM汇编的基础知识、高级特性以及在GNU环境下的使用方法,对于希望深入理解底层系统运作和追求极致性能的Linux开发者来说,是一份不可多得的学习资源。通过学习和实践,...
ARM汇编语言是嵌入式系统开发中的基础工具,尤其在移动设备如智能手机和平板电脑中广泛应用。这个压缩包“arm汇编手册中文版(chm).zip”包含了关于ARM架构汇编语言的详细资料,主要文件是“arm汇编手册中文版.chm”...
GNU汇编语法是GNU工具套件之一,用于将ARM汇编源代码转换成二进制对象文件。该汇编器的详细资料请参见GNU Assembler Manual,本文是该手册的摘要。 汇编语法基础 GNU汇编器支持多种架构的CPU,而不仅仅是ARM。因此...
总之,GNU ARM汇编语言是一种强大的工具,虽然学习曲线较陡,但对于深入理解ARM处理器的工作机制和优化程序性能具有不可替代的价值。通过不断练习和实践,开发者可以熟练地运用汇编语言,编写出更高效、更具针对性的...
通过深入学习和实践这些基本概念,你将能够编写出高效且针对性强的GNU ARM汇编程序。结合提供的"GNU+ARM+Assembler+Quick+Reference.pdf"文档,你将得到更详细的指导,逐步掌握这一强大而灵活的编程技术。
总结而言,GNU环境下的ARM汇编语言提供了丰富的工具和机制,使得开发者能够在系统层面进行细致的控制和优化。掌握这些基础知识对于从事嵌入式系统开发的工程师来说至关重要,能够帮助他们在有限的资源条件下实现高效...
GNU ARM汇编器是GNU工具集的一部分,主要用于将ARM汇编语言源代码转换成二进制目标文件。它被广泛应用于各种ARM开发环境中,特别是Linux内核及U-boot等项目的开发过程中。本篇文章将基于给定的文档摘要,详细介绍GNU...
ARM汇编语法中经常使用的gcc(GNU Compiler Collection)是一种集成多种编程语言的编译器集合,可以将高级语言代码如C、C++等编译为机器代码,同样也支持汇编语言的编写。gcc通过一系列的预处理器指令、宏(macro)...
与ARM汇编器不同的是,GNU汇编器不要求对指令和命令进行缩进处理,并且通过冒号来识别标签,而不是依赖于其在行中的位置。 **3. 示例程序分析** 文档中给出的一个简单示例程序展示了如何定义一个名为`add`的函数,...
GNU ARM汇编伪指令是针对ARM架构的一种特定汇编语法,由GNU Assembler(Gas)支持,用于简化和扩展汇编程序的编写。ARM架构广泛应用于嵌入式系统、移动设备以及服务器等领域。 1. **GNU Assembler (Gas)** GNU ...
值得注意的是,GNU汇编器遵循AT&T的汇编语法规范。若需了解更多细节,可以从GNU官方网站(www.gnu.org)获取相关的文档资料。 #### 二、Linux汇编行结构 任何汇编行都具有如下结构: ``` [:][}@comment [:][}@...
ARM标准汇编和GNU汇编虽然在基本语法上相似,但在某些方面存在差异,主要体现在GNU汇编的扩展和对GNU工具链的支持上。 在GNU汇编语言中,程序通常分为三个主要段:数据段、BSS段和正文段。数据段(`.data`)用于...
GNU ARM汇编是一种在GNU环境下的ARM指令集汇编语言,主要应用于嵌入式系统和Linux平台上的程序设计。ARM架构因其高效能和低功耗被广泛应用于移动设备、嵌入式系统等领域。汇编语言作为一种低级编程语言,能够提供对...
每个环境可能有自己的伪操作和宏指令语法,比如ADS和GNU汇编器中的`.abort`、`.align`等伪指令的使用方式会有所不同。 5. **数据类型和内存分配**:在汇编语言中,可以直接定义各种数据类型,如`.byte`(字节)、`....
ARM汇编语言的学习不仅能够加深我们对计算机硬件的理解,还能提升我们在嵌入式系统、低功耗设计和优化算法执行等方面的专业技能。通过掌握ARM汇编,你将能够在计算机科学的底层世界中游刃有余,开启通往计算机系统更...
GNU ARM汇编器提供了丰富的指令集和伪指令,使得开发者能够灵活地控制程序的行为。本文介绍的指令和伪指令仅涵盖了GNU ARM汇编器的一部分功能。对于更深入的学习和应用,建议进一步阅读官方文档或相关书籍,以更好地...
字符常量、字符串、字符、整数、大数(bignums)和浮点数(flonums)的详细说明,帮助开发者了解在编写ARM汇编程序时可以使用哪些数据类型和表达形式。 关于节和重定位的部分可能涵盖了链接器节、汇编器内部节的...
GNU汇编语言是GNU开发工具链的一部分,与特定的处理器架构紧密相关,例如x86、ARM等。它是一种低级编程语言,允许程序员直接对硬件进行操作,提供比高级语言更精细的控制。汇编语言的语法通常由指令、标号和操作数...
GNU汇编器as是一款广泛使用的汇编语言编译器,它是GNU binutils工具集的一部分,用于将汇编语言编写的源代码转换成机器代码。该汇编器支持多种不同的目标架构,是Linux和Unix系统中不可或缺的编程工具之一。用户手册...
### ARM汇编器与GCC汇编器支持的汇编语言差别 #### 汇编语言基本语法概述 在深入探讨ARM汇编器与GCC汇编器支持的汇编语言之间的具体差异之前,我们首先需要了解两种不同的汇编语言格式:AT&T格式与Intel格式。 - ...