首页 > 解决方案 > Sparc 处理器中的奇偶寄存器配对是什么?

问题描述

我给了我Trap: illegal_instruction, Destination is an odd-even register pair一个ld指导的 Sparc 模拟器。

处理器中的奇偶配对究竟是什么?它与内存对齐有关吗?我已经阅读了手册,但没有详细解释。

标签: sparc

解决方案


我不是很确定,但错误信息可能是指一条ldd指令:

ldd指令一次加载两个寄存器:i2指定的偶数寄存器(例如)和随后的奇数寄存器(例如i3)。

根据 Sparc v8 手册,如果i3根据实际使用的 CPU 指定奇数寄存器(例如 ),可能会有两种不同的行为:

  • 某些 CPU 会导致异常(这似乎是您的情况)
  • 其他CPU忽略寄存器号的低位并解释i3i2(因为i3无论如何都会被加载,这也是有道理的)

推荐阅读