Difference between revisions of "00025a04 - 00025a84"
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