本实验站演示 A64 普通内存的小端序读取。每个地址对应 1 字节;以 0x 开头的数为十六进制。
- LDR W0, [X1]
- 从 X1 保存的地址起读取 4 字节,写入 W0,同时把 X0 高 32 位清零。地址寄存器仍使用 X。
- LDR X0, [X1]
- 读取连续 8 字节,覆盖整个 X0。W0 是同一个寄存器的低 32 位。
- [X1, #offset]
- 按字节计算 X1 + offset,X1 保持原值。本关限定无符号立即数形式:偏移为读取宽度的倍数,最大为宽度 × 4095。
- [X1, X2, LSL #n]
- 偏移 = X2 × 2ⁿ。本模型的 LDR W 可用 n=0 或 2;LDR X 可用 n=0 或 3。
- [X1, W2, SXTW #n]
- 先将 W2 解释为有符号 32 位数并符号扩展到 64 位,再左移 n 位。例如 0xFFFFFFFF → -1,移 2 位后偏移为 -4 字节。
- [X1, #offset]! · pre-index
- 使用 X1 + offset 读取,成功后 X1 更新为该地址。
- [X1], #offset · post-index
- 使用原 X1 读取,成功后 X1 更新为 X1 + offset。前/后索引偏移为 -256~255 字节。
- 小端序
- 低地址的字节放在结果的低位。地址从低到高为 78 56 34 12,组合结果为 0x12345678。
这是教学模拟器,分步表示地址计算、读取和提交结果的逻辑阶段,不代表 CPU 内部时序。限定 64 字节实验内存与 X0/X1/X2;不模拟 MMU、异常级别、缓存或设备内存。越界会停止执行,不更新寄存器。进度仅保存在当前浏览器。