white_glitter 2024-03-06 18:55 采纳率: 33.3%
浏览 13

ARM指令集和ARM汇编语言有什么区别吗?

在学习嵌入式的过程中,发现arm指令集中的指令和arm汇编语言的指令有些是一样的,例如LDR,STR等指令或伪指令。所以arm指令集和arm汇编语言这两个有什么区别吗?

  • 写回答

5条回答 默认 最新

  • 专家-赤兔[在线] 全栈领域优质创作者 2024-03-06 18:56
    关注

    引自免费微信小程序:皆我百晓生

    当然,ARM指令集和ARM汇编语言是嵌入式系统开发中的两个密切相关的概念,但它们有明确的区别:

    1. ARM指令集:

      • 定义:ARM指令集(或架构)是一组预先定义好的机器语言指令,它是CPU硬件层面理解和执行的低级语言。ARM公司设计的处理器(如Cortex-A、Cortex-R、Cortex-M系列等)依据这套指令集来实现各种功能,包括数据处理、内存访问、分支跳转等操作。
      • 特性:指令集是固定的且与具体实现无关的规范,它规定了每条指令的功能、格式以及操作数类型。例如LDR指令在ARM指令集中表示从存储器加载数据到寄存器。
    2. ARM汇编语言:

      • 定义:ARM汇编语言是一种用于编写和表示ARM指令集的高级形式,它允许程序员以人类可读的形式编写代码,然后通过汇编器转换为具体的机器码。对于同样的LDR指令,在汇编语言中,你可以写出类似于LDR R0, [R1]这样的语句,其中“R0”和“R1”代表寄存器,方括号内的内容表示内存地址。
      • 功能:汇编语言不仅包含直接对应于硬件指令的助记符(如LDR、STR),还包括一些伪指令,这些伪指令并不直接生成机器码,而是在汇编阶段被汇编器处理,如.equ用来定义符号常量,.align用来调整程序对齐方式等。

    总结来说,ARM指令集是硬件执行的基础,而ARM汇编语言则是程序员用于编写和组织这些底层指令的一种工具。两者之间的关系就像是规则和遵循规则表达的语言一样,汇编语言按照指令集的规则来描述机器级别的操作,以便于人脑理解和编写程序。

    评论

报告相同问题?

问题事件

  • 创建了问题 3月6日

悬赏问题

  • ¥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三个简单题 不用太复杂