【发布时间】:2020-11-25 03:40:34
【问题描述】:
aarch64 使用str/ldr 将寄存器存储/加载到内存中:
str q0, [dst]
str x0, x1, [dst]
在上面的例子中,q0/q1 是 128bit,x1/x0 是 64bit,但是 str/ldp 是如何知道当前寄存器的大小的呢?和word size有关系吗?
【问题讨论】:
-
这两条指令有不同的编码(在架构参考手册中查找),编码决定了存储的大小。汇编器查看您指定的寄存器以确定要编码的指令。仅仅因为它们具有相同的助记符并不意味着它们具有相同的编码。
标签: assembly arm64 instructions word-size