// MCR<c> <coproc>, <opc1>, <rt>, <crn>, <crm>{, <opc2>} // Read coprocessor register (no condition) #define A_MRC(coproc, opc1, Rt, CRn, CRm, op2) (0xEE100010 | (((opc1) & 0x7) << 21 ) | (((CRn) & 0xF) << 16 ) | (((Rt) & 0xF) << 12 ) | (((coproc) & 0xF) << 8) | (((op2) & 0x7) << 5)) | ((CRm) & 0xF) // Write coprocessor register (no condition) #define A_MCR(coproc, opc1, Rt, CRn, CRm, op2) (0xEE000010 | (((opc1) & 0x7) << 21 ) | (((CRn) & 0xF) << 16 ) | (((Rt) & 0xF) << 12 ) | (((coproc) & 0xF) << 8) | (((op2) & 0x7) << 5)) | ((CRm) & 0xF)
Thursday, May 8, 2014
ARMv7 coprocessor access
Macros below generate little endian ARM (not THUMB) instructions for access to coprocessor. This for when instructions can't be compiled but rather stored in table as data.
Subscribe to:
Post Comments (Atom)
No comments:
Post a Comment