ARM汇编语言要点(一)

1.       ARM、Thumb、Thumb-2和Thumb-2EE指令集。

 

2.       ARM、Thumb和ThumbEE状态。

正执行ARM  指令的处理器在 ARM 状态 下工作。 正执行 Thumb  指令的处理器在

Thumb 状态 下工作。 正执行 ThumbEE  指令的处理器在 ThumbEE 状态 下工作。

处理器也可以在称为Jazelle 状态  的另一种状态下工作。

 

在其中一种状态下工作的处理器不能执行不同指令集内的指令。

 

3.       处理器模式:

用户模式和特权模式。特权模式具有对系统资源的完全访问权限,且可随意更改模式。

 

4.       寄存器:

  •   30个32位通用寄存器
  •   程序计数器pc
  •   应用程序状态寄存器APSR
  •   当前程序状态寄存器CPSR
  •   保存的程序状态寄存器SPSR

 

5.       指令集概述:

所有ARM指令长度均为32位。

字对齐。即指令地址的两个最低有效位始终为零。

Thumb、Thumb-2和Thumb-2EE指令的长度是16位或32位。按半字对齐存储。

 

  •   跳转和控制指令
  •   数据处理指令:
    •   寄存器加载和存储指令
    •   多个寄存器加载和存储指令(可从内存加载通用寄存器的任何子集,或在内存中存储这样的子集)
    •   状态寄存器访问指令
    •   协处理器指令

 

6.       指令功能:

条件执行、寄存器访问、访问内联的滚筒式移位器

 

7.       汇编语言源文件的编排

源代码行的一般格式:

{label} {instruction|directive|pseudo-instruction}  {;comment}

 

  • 大小写规则

指令助记符、指令和符号寄存器名称可以用大写或小写,但不能混合使用大小

写。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
FASMARM v1.42 This package is an ARM assembler add-on for FASM. FASMARM currently supports the full range of instructions for 32-bit and 64-bit ARM processors and coprocessors up to and including v8. Contents: 1. ARM assembly compatibility 2. UAL and pre-UAL syntaxes 3. IT block handling 4. Alternate encodings 5. Output formats 6. Control directives 7. Data definitions 8. Defining registers lists inside macros 9. Half-precision number formatting 10. Variants supported 11. Further information 12. Version history _______________________________________________________________________________ 1. ARM assembly compatibility There are a few restrictions how the ARM instruction set is implemented. The changes are minor and mostly have a minor impact. For the most part the basic instruction outline is the same. Where possible the original style is used but there are some differences: Not everything matches the ARM ADS assembly style, where possible the original style is used but there are some differences 1) label names cannot begin with a digit 2) CPSIE and CPSID formats are changed, use "iflags_aif" form instead of "aif" (eg. "CPSIE iflags_i" instead of "CPSID i") 3) SRS with writeback must have a separating space after the mode number and before "!" (eg. "SRSDB 16 !" instead of "SRSDB 16!") 4) macro, rept, irp, format, if, virtual etc. are all significant changes from the ARM ADS, so you will need to re-write those sections of existing code Original ARM Syntax | fasmarm Syntax ----------------------+---------------------- cpsie a | cpsie iflags_a | srsdb #29! | srsdb #29 ! ;or, | srsdb 29 ! _______________________________________________________________________________ 2. UAL and pre-UAL syntaxes fasmarm supports the original pre-UAL syntax and the newer UAL syntax. These two syntaxes only affect THUMB encodings. UAL stands for: Universal Assembly Language. pre-UAL syntax is selected wi
### 回答1: ARM汇编语言官方手册是一本非常重要的资料,它涵盖了ARM处理器的指令集,以及如何使用这些指令来编写汇编程序的详细信息。这本手册编写精细,内容丰富,官方出版,准确性和权威性都得到了保证。 ARM汇编语言在嵌入式系统和嵌入式软件领域被广泛应用,它的指令集非常丰富和灵活,能够满足各种不同的应用需求。这本手册将介绍ARM处理器的各种指令和指令集体系结构,包括数据处理、位操作、循环和分支等。 在手册中,读者可以找到有关寄存器、内存分配和异常处理等方面的详细信息。还会介绍如何使用汇编语言编写基本程序,例如打印字符串、读写数据等。此外,手册还提供了一些示例程序和实践建议,帮助读者更好地理解和运用ARM汇编语言。 对于嵌入式系统和软件开发从业人员来说,熟练掌握ARM汇编语言非常重要。手册可以为他们提供详细的指导和参考,帮助他们轻松掌握ARM汇编语言的基础知识和高级应用。尽管这本手册对初学者来说可能有点繁琐和复杂,但它对学习ARM汇编语言的人来说是必不可少的资料。 ### 回答2: ARM汇编语言官方手册是ARM公司提供的一份权威指南,旨在帮助开发者掌握ARM汇编语言的基本原理和使用方式。 该手册主要由两个部分组成:ARM体系结构参考手册和ARM汇编器参考手册。其中,ARM体系结构参考手册描述了ARM体系结构的基本概念、指令集和寄存器等重要组成部分,而ARM汇编器参考手册则详细介绍了如何使用ARM汇编语言编写程序,并提供了各种汇编指令的使用方法和参数说明。 使用该手册前,需要对计算机体系结构和汇编语言有一定的了解。对于初学者来说,可以通过阅读相关的教材和在线教程来提高自己的基础知识水平。 需要注意的是,由于ARM体系结构存在多个版本,部分指令的功能和使用方法可能会有所不同。因此,在编写程序时,需要根据所使用的ARM芯片和体系结构版本来选择合适的指令和参数。 总之,ARM汇编语言官方手册是ARM开发者必备的参考资料之一,它提供了大量的信息和指导,帮助开发者快速掌握ARM汇编语言的基本原理和技巧,从而更好地开发各种ARM芯片应用。 ### 回答3: ARM汇编语言官方手册(ARM Assembly Language Reference Manual)是ARM公司发布的一份权威指南,介绍了ARM汇编语言的语法、指令集和编程方法。该手册适用于所有的ARM处理器架构,包括ARMv7和ARMv8。 该手册主要分为以下几部分: 1. 汇编语言基础:介绍了ARM汇编语言的基本语法、数据类型、寄存器、寻址方式和指令格式等内容。 2. 指令集手册:列举了所有可用的ARM汇编指令和伪指令,并详细介绍了它们的作用、语法和操作符等信息。 3. 示例程序:提供了一些常见的ARM汇编语言程序示例,帮助读者更好地理解和应用手册中的知识。 4. 参考文献:包括了在手册中提到的参考资料和网址,方便读者进一步了解ARM处理器和汇编语言的相关知识。 总体来说,ARM汇编语言官方手册非常全面且易于理解,对想要学习和应用ARM汇编语言的开发者和研究人员都非常有用。但需要注意的是,ARM汇编语言相对于其他高级编程语言而言,学习难度较高,需要一定的计算机底层知识和代码经验。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值