【发布时间】:2011-12-14 06:06:43
【问题描述】:
我尝试在 iOS (iPad/iPhone) 代码中检查 ARM 架构 ID,例如
"mrc p15,0,r1,c0,c0,0"
指令通过编译但无法执行,Xcode 显示"EXC_BAD_INSTRUCTION"。
有什么建议吗?
【问题讨论】:
我尝试在 iOS (iPad/iPhone) 代码中检查 ARM 架构 ID,例如
"mrc p15,0,r1,c0,c0,0"
指令通过编译但无法执行,Xcode 显示"EXC_BAD_INSTRUCTION"。
有什么建议吗?
【问题讨论】:
来自 ARMv7 架构参考手册:
MRC
从协处理器移动到 ARM 内核寄存器会导致协处理器 将值传输到 ARM 内核寄存器或条件标志。如果 没有协处理器可以执行指令,未定义指令 产生异常。
显然,没有从哪里读取值。
【讨论】:
您不能将 MRC 与某些特定寄存器一起使用。 仅在超级用户模式下才允许此类访问。 也就是说,当操作系统启动时。
之后您将无法访问此寄存器。
您可能想访问循环计数器?不 ? 我认为这在 iOS 上是不可能的。
【讨论】: