sparc - Sparc 处理器中的奇偶寄存器配对是什么?
问题描述
我给了我Trap: illegal_instruction, Destination is an odd-even register pair
一个ld
指导的 Sparc 模拟器。
处理器中的奇偶配对究竟是什么?它与内存对齐有关吗?我已经阅读了手册,但没有详细解释。
解决方案
我不是很确定,但错误信息可能是指一条ldd
指令:
该ldd
指令一次加载两个寄存器:i2
指定的偶数寄存器(例如)和随后的奇数寄存器(例如i3
)。
根据 Sparc v8 手册,如果i3
根据实际使用的 CPU 指定奇数寄存器(例如 ),可能会有两种不同的行为:
- 某些 CPU 会导致异常(这似乎是您的情况)
- 其他CPU忽略寄存器号的低位并解释
i3
为i2
(因为i3
无论如何都会被加载,这也是有道理的)
推荐阅读
- swift - List of Contacts from Contacts App in SwiftUI
- javascript - 这个 Redux (react) App 可能有什么问题?
- javascript - 无法在列内添加动态表
- javascript - React alert message is displaying twice
- nativescript - Nativescript - 上传到应用商店 UIWebview 崩溃
- hibernate - 使用 CriteriaBuilder IN 进行 JPA 查询
- python - 如何使用块读取、分组和聚合大型平面文件到熊猫中
- docker - 如何在 Dockerfile 或 shell 中编辑 yaml 文件?
- ios - iOS 应用程序无法在 fastlane 中构建,但可以在 Xcode 中运行
- r - 基于 ID 和两个日期之间的附加列 R