最近在读mbed uvisor的源码,在rpc_gateway_exports.h中有段代码不是很了解

/* ldr pc, [pc, #<label - instr + 4>]
* LDR (immediate) - ARMv7M ARM section A7.7.42
* 1111;1 00 0; 0 10 1; <Rn - 1111>; <Rt - 1111>; <imm12> (Encoding T3) */
#define LDR_PC_PC_IMM_OPCODE(instr, label) \
((uint32_t) (0xF000F8DFUL | ((((uint32_t) (label) - ((uint32_t) (instr) + 4)) & 0xFFFUL) << 16))

这段代码是往PC寄存器中 存放数值么?其中0XF000F8DFUL是PC寄存器的值?

Parents Reply Children
No data