在学习嵌入式的过程中,发现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汇编语言则是程序员用于编写和组织这些底层指令的一种工具。两者之间的关系就像是规则和遵循规则表达的语言一样,汇编语言按照指令集的规则来描述机器级别的操作,以便于人脑理解和编写程序。
解决 无用评论 打赏 举报-
悬赏问题
- ¥15 编辑cmake lists 明明写了project项目名,但是还是报错怎么回事
- ¥15 关于#计算机视觉#的问题:求一份高质量桥梁多病害数据集
- ¥15 特定网页无法访问,已排除网页问题
- ¥50 如何将脑的图像投影到颅骨上
- ¥15 提问一个关于vscode相关的环境配置问题,就是输入中文但是显示不出来,代码在idea可以显示中文,但在vscode不行,不知道怎么配置环境
- ¥15 netcore使用PuppeteerSharp截图
- ¥20 这张图页头,页脚具体代码该怎么写?
- ¥15 关于#sql#的问题,请各位专家解答!
- ¥20 WPF MVVM模式 handycontrol 框架, hc:SearchBar 控件 Text="{Binding NavMenusKeyWords}" 绑定取不到值
- ¥15 需要手写数字信号处理Dsp三个简单题 不用太复杂