diff options
author | red031000 <rubenru09@aol.com> | 2020-09-19 14:42:55 +0100 |
---|---|---|
committer | red031000 <rubenru09@aol.com> | 2020-09-19 14:42:55 +0100 |
commit | c4b1aa3f30028918ac4e324c462304edb821c5bf (patch) | |
tree | 577722252c020044ee62674a1e6fed3fc3411897 | |
parent | 544abeba8029b63706a87fca8ca35b8fe27bfabd (diff) |
split ptmf
-rw-r--r-- | asm/libstdc++/ptmf.s | 17 | ||||
-rw-r--r-- | asm/text_1.s | 4 | ||||
-rw-r--r-- | asm/text_10_2.s | 8 | ||||
-rw-r--r-- | asm/text_5_2.s | 14 | ||||
-rw-r--r-- | obj_files.mk | 1 |
5 files changed, 24 insertions, 20 deletions
diff --git a/asm/libstdc++/ptmf.s b/asm/libstdc++/ptmf.s new file mode 100644 index 0000000..380f7bd --- /dev/null +++ b/asm/libstdc++/ptmf.s @@ -0,0 +1,17 @@ +.include "macros.inc" + +.section .text, "ax" # 0x80006980 - 0x803E1E60 + +.global __ptmf_scall +__ptmf_scall: +/* 801C6FD8 001C2C38 80 0C 00 00 */ lwz r0, 0(r12) +/* 801C6FDC 001C2C3C 81 6C 00 04 */ lwz r11, 4(r12) +/* 801C6FE0 001C2C40 81 8C 00 08 */ lwz r12, 8(r12) +/* 801C6FE4 001C2C44 7C 63 02 14 */ add r3, r3, r0 +/* 801C6FE8 001C2C48 2C 0B 00 00 */ cmpwi r11, 0 +/* 801C6FEC 001C2C4C 41 80 00 0C */ blt lbl_801C6FF8 +/* 801C6FF0 001C2C50 7D 83 60 2E */ lwzx r12, r3, r12 +/* 801C6FF4 001C2C54 7D 8C 58 2E */ lwzx r12, r12, r11 +lbl_801C6FF8: +/* 801C6FF8 001C2C58 7D 89 03 A6 */ mtctr r12 +/* 801C6FFC 001C2C5C 4E 80 04 20 */ bctr diff --git a/asm/text_1.s b/asm/text_1.s index 2f29869..c896bab 100644 --- a/asm/text_1.s +++ b/asm/text_1.s @@ -30769,7 +30769,7 @@ func_800217CC: /* 80021804 0001D464 98 88 9D BD */ stb r4, -0x6243(r8) /* 80021808 0001D468 7C A4 2B 78 */ mr r4, r5 /* 8002180C 0001D46C 7D 86 02 14 */ add r12, r6, r0 -/* 80021810 0001D470 48 1A 57 C9 */ bl func_801C6FD8 +/* 80021810 0001D470 48 1A 57 C9 */ bl __ptmf_scall /* 80021814 0001D474 60 00 00 00 */ nop /* 80021818 0001D478 3C 9F 00 01 */ addis r4, r31, 1 /* 8002181C 0001D47C 88 64 9D BD */ lbz r3, -0x6243(r4) @@ -31253,7 +31253,7 @@ func_80021EC4: /* 80021EFC 0001DB5C 98 88 9D BC */ stb r4, -0x6244(r8) /* 80021F00 0001DB60 7C A4 2B 78 */ mr r4, r5 /* 80021F04 0001DB64 7D 86 02 14 */ add r12, r6, r0 -/* 80021F08 0001DB68 48 1A 50 D1 */ bl func_801C6FD8 +/* 80021F08 0001DB68 48 1A 50 D1 */ bl __ptmf_scall /* 80021F0C 0001DB6C 60 00 00 00 */ nop /* 80021F10 0001DB70 3C 9F 00 01 */ addis r4, r31, 1 /* 80021F14 0001DB74 88 64 9D BC */ lbz r3, -0x6244(r4) diff --git a/asm/text_10_2.s b/asm/text_10_2.s index 918d7d3..b0b8131 100644 --- a/asm/text_10_2.s +++ b/asm/text_10_2.s @@ -37751,7 +37751,7 @@ lbl_80366758: /* 80366780 003623E0 D0 21 00 40 */ stfs f1, 0x40(r1)
/* 80366784 003623E4 D0 01 00 44 */ stfs f0, 0x44(r1)
/* 80366788 003623E8 92 A1 00 28 */ stw r21, 0x28(r1)
-/* 8036678C 003623EC 4B E6 08 4D */ bl func_801C6FD8
+/* 8036678C 003623EC 4B E6 08 4D */ bl __ptmf_scall
/* 80366790 003623F0 60 00 00 00 */ nop
/* 80366794 003623F4 C3 A2 A5 34 */ lfs f29, lbl_80642B34-_SDA2_BASE_(r2)
/* 80366798 003623F8 7C 79 1B 78 */ mr r25, r3
@@ -38058,7 +38058,7 @@ lbl_80366BE8: lbl_80366BF4:
/* 80366BF4 00362854 38 61 00 28 */ addi r3, r1, 0x28
/* 80366BF8 00362858 39 81 00 2C */ addi r12, r1, 0x2c
-/* 80366BFC 0036285C 4B E6 03 DD */ bl func_801C6FD8
+/* 80366BFC 0036285C 4B E6 03 DD */ bl __ptmf_scall
/* 80366C00 00362860 60 00 00 00 */ nop
/* 80366C04 00362864 7C 79 1B 78 */ mr r25, r3
lbl_80366C08:
@@ -38237,7 +38237,7 @@ func_80366D80: /* 80366E74 00362AD4 92 E1 00 48 */ stw r23, 0x48(r1)
/* 80366E78 00362AD8 38 61 00 48 */ addi r3, r1, 0x48
/* 80366E7C 00362ADC 39 81 00 4C */ addi r12, r1, 0x4c
-/* 80366E80 00362AE0 4B E6 01 59 */ bl func_801C6FD8
+/* 80366E80 00362AE0 4B E6 01 59 */ bl __ptmf_scall
/* 80366E84 00362AE4 60 00 00 00 */ nop
/* 80366E88 00362AE8 C3 A2 A5 34 */ lfs f29, lbl_80642B34-_SDA2_BASE_(r2)
/* 80366E8C 00362AEC 7C 79 1B 78 */ mr r25, r3
@@ -38804,7 +38804,7 @@ lbl_803676F0: lbl_803676FC:
/* 803676FC 0036335C 38 61 00 48 */ addi r3, r1, 0x48
/* 80367700 00363360 39 81 00 4C */ addi r12, r1, 0x4c
-/* 80367704 00363364 4B E5 F8 D5 */ bl func_801C6FD8
+/* 80367704 00363364 4B E5 F8 D5 */ bl __ptmf_scall
/* 80367708 00363368 60 00 00 00 */ nop
/* 8036770C 0036336C 7C 79 1B 78 */ mr r25, r3
lbl_80367710:
diff --git a/asm/text_5_2.s b/asm/text_5_2.s index e84e3bf..c994039 100644 --- a/asm/text_5_2.s +++ b/asm/text_5_2.s @@ -2,20 +2,6 @@ .section .text, "ax" # 0x80006980 - 0x803E1E60 -.global func_801C6FD8 -func_801C6FD8: -/* 801C6FD8 001C2C38 80 0C 00 00 */ lwz r0, 0(r12) -/* 801C6FDC 001C2C3C 81 6C 00 04 */ lwz r11, 4(r12) -/* 801C6FE0 001C2C40 81 8C 00 08 */ lwz r12, 8(r12) -/* 801C6FE4 001C2C44 7C 63 02 14 */ add r3, r3, r0 -/* 801C6FE8 001C2C48 2C 0B 00 00 */ cmpwi r11, 0 -/* 801C6FEC 001C2C4C 41 80 00 0C */ blt lbl_801C6FF8 -/* 801C6FF0 001C2C50 7D 83 60 2E */ lwzx r12, r3, r12 -/* 801C6FF4 001C2C54 7D 8C 58 2E */ lwzx r12, r12, r11 -lbl_801C6FF8: -/* 801C6FF8 001C2C58 7D 89 03 A6 */ mtctr r12 -/* 801C6FFC 001C2C5C 4E 80 04 20 */ bctr - .global func_801C7000 func_801C7000: /* 801C7000 001C2C60 94 21 FF F0 */ stwu r1, -0x10(r1) diff --git a/obj_files.mk b/obj_files.mk index aedc7a7..899bab2 100644 --- a/obj_files.mk +++ b/obj_files.mk @@ -16,6 +16,7 @@ TEXT_O_FILES := \ $(BUILD_DIR)/asm/libstdc++/__va_arg.o \ $(BUILD_DIR)/asm/libstdc++/global_destructor_chain.o \ $(BUILD_DIR)/asm/libstdc++/NMWException.o \ + $(BUILD_DIR)/asm/libstdc++/ptmf.o \ $(BUILD_DIR)/asm/text_5_2.o \ $(BUILD_DIR)/asm/libstdc++/__init_cpp_exceptions.o \ $(BUILD_DIR)/asm/text_5_3.o \ |