高性能计算——汇编语言(一)

本文介绍了汇编语言的基础知识,包括指令、寄存器、数据传输、地址模式以及替代语法。通过ARM和x86架构的加法操作示例,展示了汇编语言的简洁性和与机器码的直接映射。寄存器的命名和功能,以及如何使用指令进行数据操作,如 、 等,都被详细解释。文章还提到了x86的AT&T和Intel语法的区别,帮助读者更好地理解和使用汇编语言。
摘要由CSDN通过智能技术生成

汇编语言(一)


CPU是由一串二进制编码的机器语言控制的,包括下面的信息:

  1. 指令编好(我们称之为操作码)
  2. 操作数是什么(如果有的话)
  3. 以及将操作的结果存储在哪里(如果产生了结果)

汇编语言,是一种更加人性化的机器语言表示形式,使用了一些助记符代码来表示机器码指令,并使用符号名称来引用寄存器和一些其他的存储位置。

好,我们直接进入正题,下面是在ARM架构CPU中如何相加两个数字的汇编代码(*c=*a+*b):

; *a = x0, *b = x1, *c = x2
ldr w0, [x0]    ; 从x0指向的位置加载4个字节到w0
ldr w1, [x1]    ; 从x1指向的位置加载4个字节到w1
add w0, w0, w1  ; 将w0和w1相加并将结果保存到w0
str w0, [x2]    ; 将w0的内容写入x2指向的位置

下面是在x86汇编中进行同样操作的示例:

; *a = rsi, *b = rdi, *c
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

walt3433

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值