__asm void disable_int( void ) { .comm disable_var,4,4 mfmsr r3 ; current msr rlwinm r4,r3,0,17,15 ; mask external interrupt enable bit mtmsr r4 ; in msr (bit 16) sync ; must sync because of chip bug in 603e. addis r4,r0,disable_var@ha stw r3,disable_var@l(r4) }
does .comm
statement in __asm
block create local or global variable?
depends on assembler. assuming gnu as
the manual says global. can use .lcomm
local.