I need to know why this code i made doesnt work

#ACCELERATE
0x00000098 0x0a400000
0x00800000 0x3c0808d6
0x00800004 0x8d083a10
0x00800008 0x3c0c3f80
0x0080000c 0x10080009
0x00800010 0x3c0908d6
0x00800014 0x8d28fa2c
0x00800018 0x3c0a3fff
0x0080001c 0x110a0007
0x00800020 0x3c0b0001
0x00800024 0x010b5821
0x00800028 0xad2bfa2c
0x0080002c 0x0820000f
0x00800034 0xad2cfa2c
0x0080003c 0x03e00008

the addresses this code uses are 0055fa2c "flash" and a 00563a10 "a address whose value is 0 when you stand still and not 0 when you are running"

#ACCELERATE
0x00000098 0x0a400000;hook
0x00800000 0x3c0808d6;loads first half of 00563a10 into t0
0x00800004 0x8d083a10;loads value at 00563a10 into t0
0x00800008 0x3c0c3f80;loads 3f80 into t4 "default flash value"
0x0080000c 0x10080009;branches to 00800034 if zero = t0 "turns off flash if you are still"
0x00800010 0x3c0908d6;loads first half of flash into t1
0x00800014 0x8d28fa2c;load value at flash into t0
0x00800018 0x3c0a3fff;loads 3fff into t2 "top speed"
0x0080001c 0x110a0007;branch if t0 = t2 "skips increment if at top speed"
0x00800020 0x3c0b0001;loads 0001 into upper bytes of t3
0x00800024 0x010b5821;adds t0 to t3 and puts result in t3
0x00800028 0xad2bfa2c;store t3 into flash
0x0080002c 0x0820000f;jump to jr ra
---- 30 slot delay
0x00800034 0xad2cfa2c;load 3f80 into flash
---- 38 slot delay
0x0080003c 0x03e00008;jr ra

help would be MUCH MUCH appreciated.... thanks - rep+ - BJ - i'll kill your worst enemy - i'll buy you a pony