Я так понимаю, это связано с ... mrrc
, но я не могу найти хорошую документацию о том, как они используются или чем они отличаются от mrc
Согласно справочному руководству ARMv8 , страницы 4102 и 4103, mrc
используется для доступа к 32-битному системному (в старых архитектурах ARM: сопроцессор) регистре; согласно страницам 4104 и 4105, mrrc
используется для доступа к 64-битному системному регистру.
Синтаксис: MRRC <coproc>, #<opc1>, <Rt>, <Rt2>, <CRm>
, в то время как регистр ЦП <Rt>
получит младшие 32 бита, а регистр ЦП <Rt2>
получит старшие 32 бита 64-битного системного регистра.
Я так понимаю, это связано с mrc2
...
Руководство ARMv8 случайно упоминает инструкцию mrc2
, но не описывает эту инструкцию. Тем не менее, руководство ARMv7 делает:
Инструкция mrc2
, по-видимому, предназначена для сторонних расширений, разработанных производителями полупроводников, которые производят микроконтроллеры с использованием ядра ARM.
Инструкции mrc2
будут работать только на микроконтроллере, который имеет такие расширения.