gcc - Need explanation of ARM Cortex-M3 assembly instruction in CMSIS to __set_PRIMASK -
below code snippet arm cmsis library used set value of primask register.
/** * @brief set priority mask value * * @param primask primask * * set priority mask bit in priority mask register */ static __inline void __set_primask(uint32_t primask) { register uint32_t __regprimask __asm("primask"); __regprimask = (primask); }
the part don't understand inline assembly instruction
__asm("primask");
i haven't read addressing registers name in way. how can have inline assembly without op-code first? assigning __regprimask register location? can point reference document?
register uint32_t __regprimask __asm("primask");
...is declaration of local register variable called __regprimask
stored in primask
register.
in other words, assigning register variable set value of register primask
.
Comments
Post a Comment