Difference between revisions of "00025a04 - 00025a84"

From Final Fantasy Hacktics Wiki
Jump to navigation Jump to search
(Created page with "<font face='Courier New'> 00025a04: 14800003 bne r4,r0,0x00025a14 00025a08: 27bdfff0 addiu r29,r29,0xfff0 00025a0c: 0800969f j 0x00025a7c 00025a10: 00001021 addu r2,r0,r...")
 
Line 1: Line 1:
 
<font face='Courier New'>
 
<font face='Courier New'>
 
   
 
   
  00025a04: 14800003 bne r4,r0,0x00025a14
+
  00025a04: 14800003 bne r4,r0,0x00025a14 branch if value 1 <> 0
 
  00025a08: 27bdfff0 addiu r29,r29,0xfff0
 
  00025a08: 27bdfff0 addiu r29,r29,0xfff0
  00025a0c: 0800969f j 0x00025a7c
+
  00025a0c: 0800969f j 0x00025a7c if value 1 = 0, return 0
 
  00025a10: 00001021 addu r2,r0,r0
 
  00025a10: 00001021 addu r2,r0,r0
  00025a14: 90850000 lbu r5,0x0000(r4)
+
  00025a14: 90850000 lbu r5,0x0000(r4) load 0x00 from value 1 (er, actually a pointer?)
 
  00025a18: 00000000 nop
 
  00025a18: 00000000 nop
  00025a1c: 000528c2 srl r5,r5,0x03
+
  00025a1c: 000528c2 srl r5,r5,0x03 divide by 8
  00025a20: afa50000 sw r5,0x0000(r29)
+
  00025a20: afa50000 sw r5,0x0000(r29) save in stack
  00025a24: 84860004 lh r6,0x0004(r4)
+
  00025a24: 84860004 lh r6,0x0004(r4) load 0x04 from value 1
 
  00025a28: 00000000 nop
 
  00025a28: 00000000 nop
  00025a2c: 00063023 subu r6,r0,r6
+
  00025a2c: 00063023 subu r6,r0,r6 negate
 
  00025a30: 30c600ff andi r6,r6,0x00ff
 
  00025a30: 30c600ff andi r6,r6,0x00ff
  00025a34: 000630c3 sra r6,r6,0x03
+
  00025a34: 000630c3 sra r6,r6,0x03 divide by 8
  00025a38: afa60008 sw r6,0x0008(r29)
+
  00025a38: afa60008 sw r6,0x0008(r29) save in stack
  00025a3c: 90820002 lbu r2,0x0002(r4)
+
  00025a3c: 90820002 lbu r2,0x0002(r4) load 0x02 from value 1
  00025a40: 00052a80 sll r5,r5,0x0a
+
  00025a40: 00052a80 sll r5,r5,0x0a bit shifted 3 right to bit shift left 0xa
  00025a44: 000210c2 srl r2,r2,0x03
+
  00025a44: 000210c2 srl r2,r2,0x03 div 0x02(value 1) by 8
  00025a48: afa20004 sw r2,0x0004(r29)
+
  00025a48: afa20004 sw r2,0x0004(r29) store in stack
  00025a4c: 000213c0 sll r2,r2,0x0f
+
  00025a4c: 000213c0 sll r2,r2,0x0f bit shift right 3 to bit shift left 0xf
  00025a50: 84830006 lh r3,0x0006(r4)
+
  00025a50: 84830006 lh r3,0x0006(r4) load 0x06 from value 1
  00025a54: 3c04e200 lui r4,0xe200
+
  00025a54: 3c04e200 lui r4,0xe200 0xe2000000
 
  00025a58: 00a42825 or r5,r5,r4
 
  00025a58: 00a42825 or r5,r5,r4
  00025a5c: 00451025 or r2,r2,r5
+
  00025a5c: 00451025 or r2,r2,r5 bit combine 0xe2000000, 0x400, 0x8000
 
  00025a60: 00031823 subu r3,r0,r3
 
  00025a60: 00031823 subu r3,r0,r3
 
  00025a64: 306300ff andi r3,r3,0x00ff
 
  00025a64: 306300ff andi r3,r3,0x00ff
  00025a68: 000318c3 sra r3,r3,0x03
+
  00025a68: 000318c3 sra r3,r3,0x03
  00025a6c: 00032140 sll r4,r3,0x05
+
  00025a6c: 00032140 sll r4,r3,0x05 shift right 3, shift left 5
 
  00025a70: 00441025 or r2,r2,r4
 
  00025a70: 00441025 or r2,r2,r4
  00025a74: 00461025 or r2,r2,r6
+
  00025a74: 00461025 or r2,r2,r6 bit combine all above and 0x20, 0x1
  00025a78: afa3000c sw r3,0x000c(r29)
+
  00025a78: afa3000c sw r3,0x000c(r29) store 0x06 >> 3 in stack
 
  00025a7c: 27bd0010 addiu r29,r29,0x0010
 
  00025a7c: 27bd0010 addiu r29,r29,0x0010
 
  00025a80: 03e00008 jr r31
 
  00025a80: 03e00008 jr r31
 
  00025a84: 00000000 nop
 
  00025a84: 00000000 nop
 
</font>
 
</font>

Revision as of 11:25, 22 February 2022

00025a04: 14800003 bne r4,r0,0x00025a14		branch if value 1 <> 0
00025a08: 27bdfff0 addiu r29,r29,0xfff0
00025a0c: 0800969f j 0x00025a7c			if value 1 = 0, return 0
00025a10: 00001021 addu r2,r0,r0
00025a14: 90850000 lbu r5,0x0000(r4)			load 0x00 from value 1 (er, actually a pointer?)
00025a18: 00000000 nop
00025a1c: 000528c2 srl r5,r5,0x03			divide by 8
00025a20: afa50000 sw r5,0x0000(r29)			save in stack
00025a24: 84860004 lh r6,0x0004(r4)			load 0x04 from value 1
00025a28: 00000000 nop
00025a2c: 00063023 subu r6,r0,r6			negate
00025a30: 30c600ff andi r6,r6,0x00ff
00025a34: 000630c3 sra r6,r6,0x03			divide by 8
00025a38: afa60008 sw r6,0x0008(r29)			save in stack
00025a3c: 90820002 lbu r2,0x0002(r4)			load 0x02 from value 1
00025a40: 00052a80 sll r5,r5,0x0a			bit shifted 3 right to bit shift left 0xa
00025a44: 000210c2 srl r2,r2,0x03			div 0x02(value 1) by 8
00025a48: afa20004 sw r2,0x0004(r29)			store in stack
00025a4c: 000213c0 sll r2,r2,0x0f			bit shift right 3 to bit shift left 0xf
00025a50: 84830006 lh r3,0x0006(r4)			load 0x06 from value 1
00025a54: 3c04e200 lui r4,0xe200			0xe2000000
00025a58: 00a42825 or r5,r5,r4
00025a5c: 00451025 or r2,r2,r5				bit combine 0xe2000000, 0x400, 0x8000
00025a60: 00031823 subu r3,r0,r3
00025a64: 306300ff andi r3,r3,0x00ff
00025a68: 000318c3 sra r3,r3,0x03			
00025a6c: 00032140 sll r4,r3,0x05			shift right 3, shift left 5
00025a70: 00441025 or r2,r2,r4
00025a74: 00461025 or r2,r2,r6				bit combine all above and 0x20, 0x1
00025a78: afa3000c sw r3,0x000c(r29)			store 0x06 >> 3 in stack
00025a7c: 27bd0010 addiu r29,r29,0x0010
00025a80: 03e00008 jr r31
00025a84: 00000000 nop