计算机中的指令

简单的手工汇编,汇编指令与机器码,ISA 中指令的设计

要使用计算机,就需要使用计算机能看得懂的语言。

计算机语言中的一个基本操作为指令,全部指令为指令集。

这部分的内容,ARMv8 指令集的两种形式,

  • 汇编语言助记符

  • 机器语言

一些资料

掌握一种指令集后其他的指令集就很容易理解。

指令集间的相似性,一方面是因为所有计算机都是基于基本原理相似的硬件技术所构建的,另一方面是因为所有计算机都必须提供一些相似的基本操作。此外,计算机设计者有一个共同的目标:找到一种语言,可方便硬件和编译器的设计,且使性能最佳,同时使成本和功耗最低。

计算机硬件的操作

LEGv8 指令集

硬件操作数

LEGv8 体系里寄存器为 64 位,有 32 个寄存器

存储器操作数

算数运算指令只能操作寄存器,因此一定需要存储器和寄存器之间移动数据的指令:数据传输指令(data transfer instruction)

LDUR 指令中的 U 为 unscaled 不可扩展

编译器变量分配寄存器以外,编译器还在存储器中为数组和结构体这样的数据结构分配相应的存储空间,并将这些数据结构在存储器中的起始地址放到数据传输指令中。

最后更新于