在学习嵌入式的过程中,发现arm指令集中的指令和arm汇编语言的指令有些是一样的,例如LDR,STR等指令或伪指令。所以arm指令集和arm汇编语言这两个有什么区别吗?
5条回答 默认 最新
关注引自免费微信小程序:皆我百晓生
当然,ARM指令集和ARM汇编语言是嵌入式系统开发中的两个密切相关的概念,但它们有明确的区别:
-
ARM指令集:
- 定义:ARM指令集(或架构)是一组预先定义好的机器语言指令,它是CPU硬件层面理解和执行的低级语言。ARM公司设计的处理器(如Cortex-A、Cortex-R、Cortex-M系列等)依据这套指令集来实现各种功能,包括数据处理、内存访问、分支跳转等操作。
- 特性:指令集是固定的且与具体实现无关的规范,它规定了每条指令的功能、格式以及操作数类型。例如LDR指令在ARM指令集中表示从存储器加载数据到寄存器。
-
ARM汇编语言:
- 定义:ARM汇编语言是一种用于编写和表示ARM指令集的高级形式,它允许程序员以人类可读的形式编写代码,然后通过汇编器转换为具体的机器码。对于同样的LDR指令,在汇编语言中,你可以写出类似于
LDR R0, [R1]这样的语句,其中“R0”和“R1”代表寄存器,方括号内的内容表示内存地址。 - 功能:汇编语言不仅包含直接对应于硬件指令的助记符(如LDR、STR),还包括一些伪指令,这些伪指令并不直接生成机器码,而是在汇编阶段被汇编器处理,如
.equ用来定义符号常量,.align用来调整程序对齐方式等。
- 定义:ARM汇编语言是一种用于编写和表示ARM指令集的高级形式,它允许程序员以人类可读的形式编写代码,然后通过汇编器转换为具体的机器码。对于同样的LDR指令,在汇编语言中,你可以写出类似于
总结来说,ARM指令集是硬件执行的基础,而ARM汇编语言则是程序员用于编写和组织这些底层指令的一种工具。两者之间的关系就像是规则和遵循规则表达的语言一样,汇编语言按照指令集的规则来描述机器级别的操作,以便于人脑理解和编写程序。
解决 无用评论 打赏 举报-