UltraDebug

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
热搜: A C D R G Y M Z X S P
公益项目,接受捐赠
查看: 1283|回复: 0
收起左侧

[原创] 介绍 ARM 汇编语言

[复制链接]
qingjue

主题

0

回帖

UD

版主

UID
5
积分
70
注册时间
2021-12-21
最后登录
1970-1-1
2022-5-25 23:25:50 | 显示全部楼层 |阅读模式

作者:Carl Burch,亨德里克斯学院,2011 年 10 月

通过介绍 ARM 汇编语言 卡尔·伯奇 获得许可 知识共享署名-相同方式共享 3.0 美国许可. 基于在 www.cburch.com/books/arm/ .

1. 背景

我们实际上关心两种语言,汇编语言和机器语言。

1.1 定义

机器语言将指令编码为 0 和 1 的序列; 这种二进制编码是计算机的处理器被构建来执行的。 但是,使用这种编码编写程序对于人类程序员来说是笨拙的。 因此,当程序员想要指示计算机要执行的精确指令时,他们会使用 汇编语言 ,它允许以文本形式编写指令。 汇编器将包含汇编语言代码的文件翻译成相应的机器语言。

让我们看一个 ARM 设计的简单示例。 这是机器语言指令:

1110 0001 1010 0000 0011 0000 0000 1001

当处理器被告知执行该二进制序列时,它会将值从“寄存器 9”复制到“寄存器 3”。 但作为程序员,您几乎不想阅读长二进制序列并理解它。 相反,程序员更喜欢用汇编语言进行编程,我们将使用以下行来表达这一点。

MOV R3, R9

然后程序员将使用汇编程序将其转换为计算机实际执行的二进制编码。

但不只是一种机器语言:为每条处理器设计了不同的机器语言,旨在提供一组强大的快速指令,同时允许构建相对简单的电路。 处理器通常被设计为与以前的处理器兼容,因此它遵循相同的机器语言设计。 例如,英特尔的处理器系列(包括 80386、奔腾和酷睿 i7)支持类似的机器语言。 但是 ARM 处理器支持完全不同的机器语言。 机器语言编码的设计称为指令集架构ISA)。

并且对于每种机器语言,必须有不同的汇编语言,因为汇编语言必须对应于一组完全不同的机器语言指令。

1.2 ISA品种

在众多 ISA(指令集架构)中,x86 是最广为人知的。它最初由 Intel 于 1974 年设计用于 8 位处理器(Intel 8080),多年来它扩展到 16 位形式(1978,Intel 8086),然后扩展到 32 位形式(1985,Intel 80386),然后是 64 位形式(2003,AMD Opteron)。今天,支持 IA32 的处理器现在由 Intel、AMD 和 VIA 制造,并且可以在大多数个人计算机中找到。

今天另一个著名的 ISA 是 PowerPC。 Apple 的 Macintosh 计算机一直使用这些处理器,直到 2006 年 Apple 将其计算机切换到 x86 系列处理器。但 PowerPC 仍然普遍用于汽车和游戏机(包括 Wii、Playstation 3 和 XBox 360)等应用程序。

但我们将研究的 ISA 来自一家名为 ARM 的公司。 (与其他成功的 ISA 一样,ARM 的 ISA 多年来一直在发展。我们将研究 4T 版本。)支持 ARM ISA 的处理器分布相当广泛,通常用于手机、数字音乐播放器和手持游戏系统等低功耗设备。 iPhone、Kind

还有更多的精彩内容,作者设置为付费后可见
UltraDebug免责声明
✅以上内容均来自网友转发或原创,如存在侵权请发送到站方邮件9003554@qq.com处理。
✅The above content is forwarded or original by netizens. If there is infringement, please send the email to the destination 9003554@qq.com handle.
回复 打印

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|Archiver|站点地图|UltraDebug ( 滇ICP备2022002049号-2 滇公网安备 53032102000034号)

GMT+8, 2025-6-21 01:38 , Processed in 0.040892 second(s), 12 queries , Redis On.

Powered by Discuz X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表