Успешно скомпилировать, но не выполнить выполнить инструкцию MRC на iOS? - PullRequest
0 голосов
/ 13 декабря 2011

Я пытаюсь проверить идентификатор архитектуры ARM в коде iOS (iPad / iPhone), например

"mrc p15,0,r1,c0,c0,0"

Инструкция скомпилирована, но не выполнена, Xcode показывает "EXC_BAD_INSTRUCTION". Есть предложения?

Ответы [ 2 ]

1 голос
/ 13 декабря 2011

Из Справочного руководства по архитектуре ARMv7:

MRC

Переход в регистр ядра ARM из сопроцессора заставляет сопроцессор передавать значение в ядро ​​ARMзарегистрироваться или флаг состояния.Если ни один сопроцессор не может выполнить инструкцию, генерируется исключение Undefined Instruction.

По-видимому, просто нет места для чтения значения.

0 голосов
/ 13 декабря 2011

Вы не можете использовать MRC с каким-либо конкретным регистром.Этот вид доступа разрешен только в режиме SuperUser.Это означает, что при загрузке ОС.

После этого вы не сможете получить доступ к этому регистру.

Возможно, вы хотите получить доступ к счетчику циклов?нет?Я думаю, что это не будет возможно на iOS.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...