asm疑问
// Reset handler stores the address of op code start. The address is offset by 1 because
// it is meant to be used with the BX instruction. BX instruction requires bit[0] of the
// register providing address to branch to be set to 1 for correct execution.
register uint32_t opcode_reset = *((uint32_t *)OPCODE_RESET_ADDRESS);
asm("BX %[reg]" : : [reg] "r" (opcode_reset));
while(1); //end bootloader
return 0;
请问这一句:asm("BX %[reg]" : : [reg] "r" (opcode_reset)); 是什么意思?