2015-04-28 4 views
0
__asm void DISABLE_INT(void) 
{ 
    .comm DISABLE_VAR,4,4 
    mfmsr r3   ; Get 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 some 603E. 
    addis r4,r0,[email protected] 
    stw r3,[email protected](r4)  
} 

Выполняет ли оператор .comm в блоке __asm локальную или глобальную переменную?Создает ли .comm локальную или глобальную переменную?

ответ

1

Зависит от вашего ассемблера. Предполагая, что GNU asthe manual says глобальный. Вы можете использовать .lcomm для местных.

Смежные вопросы