startIntrVSync: addiu sp,sp,-24 lui a0,_hi(sectbase(.data)) addiu a0,a0,_lo(sectbase(.data)) lui v1,_hi(data_24) lw v1,_lo(data_24)(v1) li v0,256 sw ra,16(sp) sw v0,0(v1) lui at,_hi(Vcount) sw zero,_lo(Vcount)(at) jal memclr li a1,8 lui a1,_hi(text_58) addiu a1,a1,_lo(trapIntrVSync) jal InterruptCallback move a0,zero lui v0,_hi(text_C4) addiu v0,v0,_lo(setIntrVSync) lw ra,16(sp) addiu sp,sp,24 jr ra nop |
static void (*cbIntrVSync[8])(); int Vcount; static volatile u_long *t1_mode = (void *)0x1f801114; void *startIntrVSync() { *t1_mode = 0x0100; Vcount = 0; memclr(cbIntrVSync, 8); InterruptCallback(0, trapIntrVSync); return setIntrVSync; } |
startIntrVSync: subu $sp,$sp,24 la $4,cbIntrVSync lw $3,t1_mode li $2,0x00000100 sw $31,16($sp) sw $2,0($3) sw $0,Vcount jal memclr li $5,0x00000008 la $5,trapIntrVSync jal InterruptCallback move $4,$0 la $2,setIntrVSync lw $31,16($sp) addu $sp,$sp,24 j $31 nop |