Difference between revisions of "Store Current Statuses"
Jump to navigation
Jump to search
m (color) |
m |
||
Line 1: | Line 1: | ||
− | + | Parameter : r4 = Unit Data pointer | |
+ | Load Unit's Innate Status (Unit 0x4e) and Unit inflicted Status (Unit 0x1bb), combine them and store them in Unit's Current status (Unit 0x58) | ||
+ | ---------------------------------------------------------------------------------------------------------------------------------------------- | ||
0005e744: 00803021 addu r6,r4,r0 |r6 = Unit's Data Pointer | 0005e744: 00803021 addu r6,r4,r0 |r6 = Unit's Data Pointer | ||
0005e748: 00002821 addu r5,r0,r0 |r5 = Counter | 0005e748: 00002821 addu r5,r0,r0 |r5 = Counter | ||
− | 0005e74c: 00c51821 addu r3,r6,r5 | + | {{f/bloop|LOOP - through 5 sets of status}} |
− | 0005e750: 9062004e lbu r2,0x004e(r3) |< | + | 0005e74c: 00c51821 addu r3,r6,r5 |{{f/adr|<nowiki>r3 = This iteration Unit's Data Pointer</nowiki>}} |
− | 0005e754: 906401bb lbu r4,0x01bb(r3) |< | + | 0005e750: 9062004e lbu r2,0x004e(r3) |{{f/load|<nowiki>r2 = This iteration Unit's Innate Statuses</nowiki>}} |
− | 0005e758: 24a50001 addiu r5,r5,0x0001 | | + | 0005e754: 906401bb lbu r4,0x01bb(r3) |{{f/load|<nowiki>r4 = This iteration Unit's Inflicted Statuses</nowiki>}} |
− | 0005e75c: 00441025 or r2,r2,r4 |Combine Innate and Inflicted Statuses | + | 0005e758: 24a50001 addiu r5,r5,0x0001 |{{f/std|<nowiki>r5 = loop counter + 1</nowiki>}} |
− | 0005e760: a0620058 sb r2,0x0058(r3) | | + | 0005e75c: 00441025 or r2,r2,r4 |{{f/std|Combine Innate and Inflicted Statuses}} |
− | 0005e764: 28a20005 slti r2,r5,0x0005 | + | 0005e760: a0620058 sb r2,0x0058(r3) |{{f/store|Store Statuses into this iteration Unit's current status set}} |
− | 0005e768: 1440fff8 bne r2,r0,0x0005e74c | | + | 0005e764: 28a20005 slti r2,r5,0x0005 |{{f/std|<nowiki>r2 = 0x01 if loop counter < 0x05</nowiki>}} |
+ | 0005e768: 1440fff8 bne r2,r0,0x0005e74c |{{f/eloop|Loop (5 times)}} | ||
0005e76c: 00000000 | 0005e76c: 00000000 | ||
0005e770: 03e00008 jr r31 | 0005e770: 03e00008 jr r31 |
Latest revision as of 20:03, 20 March 2022
Parameter : r4 = Unit Data pointer Load Unit's Innate Status (Unit 0x4e) and Unit inflicted Status (Unit 0x1bb), combine them and store them in Unit's Current status (Unit 0x58) ---------------------------------------------------------------------------------------------------------------------------------------------- 0005e744: 00803021 addu r6,r4,r0 |r6 = Unit's Data Pointer 0005e748: 00002821 addu r5,r0,r0 |r5 = Counter @LOOP - through 5 sets of status 0005e74c: 00c51821 addu r3,r6,r5 |r3 = This iteration Unit's Data Pointer 0005e750: 9062004e lbu r2,0x004e(r3) |r2 = This iteration Unit's Innate Statuses 0005e754: 906401bb lbu r4,0x01bb(r3) |r4 = This iteration Unit's Inflicted Statuses 0005e758: 24a50001 addiu r5,r5,0x0001 |r5 = loop counter + 1 0005e75c: 00441025 or r2,r2,r4 |Combine Innate and Inflicted Statuses 0005e760: a0620058 sb r2,0x0058(r3) |Store Statuses into this iteration Unit's current status set 0005e764: 28a20005 slti r2,r5,0x0005 |r2 = 0x01 if loop counter < 0x05 0005e768: 1440fff8 bne r2,r0,0x0005e74c |Λ Loop (5 times) 0005e76c: 00000000 0005e770: 03e00008 jr r31 0005e774: 00000000
Return Locations
0005d650: Status Setting/Checking + Equip/R/S/M Stats 0005d774: Status Setting/Checking + Equip/R/S/M Stats 0005d7c8: Status Setting/Checking + Equip/R/S/M Stats 001836c4: AT_List_Preview? 0018e2f4: Inflicted_status_CT_setting,_xfer_last_used_CT 0018e5b8: Store_status,modified_ENTD_for_current_attack