VSyncCallbacks:
lui v0,_hi(data_10E0)
lw v0,_lo(data_10E0)(v0)
addiu sp,sp,-24
sw ra,16(sp)
lw v0,20(v0)
nop
jalr ra,v0
nop
lw ra,16(sp)
addiu sp,sp,24
jr ra
nop
|
typedef struct
{
char *id;
void *(*setIntrDMA)(int, void (*)());
void *(*setIntr)(int, void (*)());
void *(*startIntr)();
void *(*stopIntr)();
void *(*setIntrVSync)(int, void (*)());
void *(*resetIntr)();
} INTRCB;
static INTRCB _intrCB_ = {
"$Id: intr.c,v 1.75 1997/02/07 09:00:36 makoto Exp $",
0,
setIntr,
startIntr,
stopIntr,
0,
0
};
static INTRCB *intrCB = &_intrCB_;
void VSyncCallbacks(int index, void (*callback)())
{
intrCB->setIntrVSync(index, callback);
}
|
VSyncCallbacks:
lw $2,intrCB
subu $sp,$sp,24
sw $31,16($sp)
lw $2,20($2)
nop
jal $31,$2
nop
lw $31,16($sp)
addu $sp,$sp,24
j $31
nop
|