void DumpDrawEnv(DRAWENV *draw);


disassembled listing :
DumpDrawEnv (OBJDIS):
    addiu   sp,sp,-32
    sw      s0,24(sp)
    move    s0,a0
    sw      ra,28(sp)
    lh      a1,0(s0)
    lh      a2,2(s0)
    lh      a3,4(s0)
    lh      v1,6(s0)
    lui     v0,_hi(GPU_printf)
    lw      v0,_lo(GPU_printf)(v0)
    lui     a0,_hi(sectbase(.rdata))
    addiu   a0,a0,_lo(sectbase(.rdata))
    jalr    ra,v0
    sw      v1,16(sp)
    lh      a1,8(s0)
    lh      a2,10(s0)
    lui     v0,_hi(GPU_printf)
    lw      v0,_lo(GPU_printf)(v0)
    lui     a0,_hi(rdata_18)
    jalr    ra,v0
    addiu   a0,a0,_lo(rdata_18)
    lh      a1,12(s0)
    lh      a2,14(s0)
    lh      a3,16(s0)
    lh      v1,18(s0)
    lui     v0,_hi(GPU_printf)
    lw      v0,_lo(GPU_printf)(v0)
    lui     a0,_hi(rdata_28)
    addiu   a0,a0,_lo(rdata_28)
    jalr    ra,v0
    sw      v1,16(sp)
    lbu     a1,22(s0)
    lui     v0,_hi(GPU_printf)
    lw      v0,_lo(GPU_printf)(v0)
    lui     a0,_hi(rdata_40)
    jalr    ra,v0
    addiu   a0,a0,_lo(rdata_40)
    lbu     a1,23(s0)
    lui     v0,_hi(GPU_printf)
    lw      v0,_lo(GPU_printf)(v0)
    lui     a0,_hi(rdata_4C)
    jalr    ra,v0
    addiu   a0,a0,_lo(rdata_4C)
    lui     a0,_hi(rdata_58)
    addiu   a0,a0,_lo(rdata_58)
    lhu     a2,20(s0)
    lhu     v1,20(s0)
    lui     v0,_hi(GPU_printf)
    lw      v0,_lo(GPU_printf)(v0)
    srl     a1,a2,7
    andi    a1,a1,$0003
    srl     a2,a2,5
    andi    a2,a2,$0003
    sll     a3,v1,6
    andi    a3,a3,$07C0
    sll     t0,v1,4
    andi    t0,t0,$0100
    srl     v1,v1,2
    andi    v1,v1,$0200
    or      t0,t0,v1
    jalr    ra,v0
    sw      t0,16(sp)
    lw      ra,28(sp)
    lw      s0,24(sp)
    jr      ra
    addiu   sp,sp,32
source code :
void DumpDrawEnv(DRAWENV *draw)
{
    GPU_printf("clip (%3d,%3d)-(%d,%d)\n",
        draw->clip.x, 
        draw->clip.y, 
        draw->clip.w, 
        draw->clip.h);

    GPU_printf("ofs  (%3d,%3d)\n",
        draw->ofs[0],
        draw->ofs[1]);

    GPU_printf("tw   (%d,%d)-(%d,%d)\n",
        draw->tw.x, 
        draw->tw.y, 
        draw->tw.w, 
        draw->tw.h);

    GPU_printf("dtd   %d\n", draw->dtd);
    GPU_printf("dfe   %d\n", draw->dfe);

    dumpTPage(draw->tpage);
}
reversed listing :
DumpDrawEnv (GCC):
    subu    $sp,$sp,32
    sw      $16,24($sp)
    move    $16,$4
    sw      $31,28($sp)
    lh      $5,0($16)
    lh      $6,2($16)
    lh      $7,4($16)
    lh      $2,6($16)
    lw      $3,GPU_printf
    la      $4,$LC0
    jal     $31,$3
    sw      $2,16($sp)
    lh      $5,8($16)
    lh      $6,10($16)
    lw      $2,GPU_printf
    la      $4,$LC1
    jal     $31,$2
    lh      $5,12($16)
    lh      $6,14($16)
    lh      $7,16($16)
    lh      $2,18($16)
    lw      $3,GPU_printf
    la      $4,$LC2
    jal     $31,$3
    sw      $2,16($sp)
    lbu     $5,22($16)
    lw      $2,GPU_printf
    la      $4,$LC3
    jal     $31,$2
    lbu     $5,23($16)
    lw      $2,GPU_printf
    la      $4,$LC4
    jal     $31,$2
    la      $4,$LC5
    lhu     $2,20($16)
    lw      $8,GPU_printf
    srl     $5,$2,7
    andi    $5,$5,0x0003
    srl     $6,$2,5
    andi    $6,$6,0x0003
    sll     $7,$2,6
    andi    $7,$7,0x07c0
    sll     $3,$2,4
    andi    $3,$3,0x0100
    srl     $2,$2,2
    andi    $2,$2,0x0200
    addu    $3,$3,$2
    jal     $31,$8
    sw      $3,16($sp)
    lw      $31,28($sp)
    lw      $16,24($sp)
    j       $31
    addu    $sp,$sp,32
coincidence: 100%

STATUS: COMPLETE
11 Apr 2003
Hosted by uCoz