diff options
author | Max <mparisi@stevens.edu> | 2020-09-29 10:45:40 -0400 |
---|---|---|
committer | Max <mparisi@stevens.edu> | 2020-09-29 10:45:40 -0400 |
commit | 34fdfac1e8576d404612b2cafb9344160b4a20af (patch) | |
tree | d5ca89037b5970c602effb2959d94842b539ed5c | |
parent | a8a179cf67d8ea50160c7cb97208f5bf223f3037 (diff) |
split ansi_files.s
-rw-r--r-- | asm/libstdc++/ansi_files.s | 123 | ||||
-rw-r--r-- | asm/text_5_2.s | 124 | ||||
-rw-r--r-- | asm/text_6.s | 4 | ||||
-rw-r--r-- | obj_files.mk | 1 |
4 files changed, 128 insertions, 124 deletions
diff --git a/asm/libstdc++/ansi_files.s b/asm/libstdc++/ansi_files.s new file mode 100644 index 0000000..67acbd2 --- /dev/null +++ b/asm/libstdc++/ansi_files.s @@ -0,0 +1,123 @@ +.include "macros.inc"
+
+.section .text, "ax" # 0x80006980 - 0x803E1E60
+
+.global __close_all
+__close_all:
+/* 801C7894 001C34F4 94 21 FF E0 */ stwu r1, -0x20(r1)
+/* 801C7898 001C34F8 7C 08 02 A6 */ mflr r0
+/* 801C789C 001C34FC 90 01 00 24 */ stw r0, 0x24(r1)
+/* 801C78A0 001C3500 93 E1 00 1C */ stw r31, 0x1c(r1)
+/* 801C78A4 001C3504 3B E0 00 00 */ li r31, 0
+/* 801C78A8 001C3508 93 C1 00 18 */ stw r30, 0x18(r1)
+/* 801C78AC 001C350C 3B C0 00 03 */ li r30, 3
+/* 801C78B0 001C3510 93 A1 00 14 */ stw r29, 0x14(r1)
+/* 801C78B4 001C3514 3F A0 80 42 */ lis r29, lbl_804228F0@ha
+/* 801C78B8 001C3518 3B BD 28 F0 */ addi r29, r29, lbl_804228F0@l
+/* 801C78BC 001C351C 48 00 00 58 */ b lbl_801C7914
+lbl_801C78C0:
+/* 801C78C0 001C3520 80 1D 00 04 */ lwz r0, 4(r29)
+/* 801C78C4 001C3524 54 00 57 7F */ rlwinm. r0, r0, 0xa, 0x1d, 0x1f
+/* 801C78C8 001C3528 41 82 00 0C */ beq lbl_801C78D4
+/* 801C78CC 001C352C 7F A3 EB 78 */ mr r3, r29
+/* 801C78D0 001C3530 48 00 23 01 */ bl func_801C9BD0
+lbl_801C78D4:
+/* 801C78D4 001C3534 7F A3 EB 78 */ mr r3, r29
+/* 801C78D8 001C3538 83 BD 00 4C */ lwz r29, 0x4c(r29)
+/* 801C78DC 001C353C 88 03 00 0C */ lbz r0, 0xc(r3)
+/* 801C78E0 001C3540 2C 00 00 00 */ cmpwi r0, 0
+/* 801C78E4 001C3544 41 82 00 0C */ beq lbl_801C78F0
+/* 801C78E8 001C3548 4B E4 2E DD */ bl func_8000A7C4
+/* 801C78EC 001C354C 48 00 00 28 */ b lbl_801C7914
+lbl_801C78F0:
+/* 801C78F0 001C3550 80 03 00 04 */ lwz r0, 4(r3)
+/* 801C78F4 001C3554 53 C0 B1 D2 */ rlwimi r0, r30, 0x16, 7, 9
+/* 801C78F8 001C3558 2C 1D 00 00 */ cmpwi r29, 0
+/* 801C78FC 001C355C 90 03 00 04 */ stw r0, 4(r3)
+/* 801C7900 001C3560 41 82 00 14 */ beq lbl_801C7914
+/* 801C7904 001C3564 88 1D 00 0C */ lbz r0, 0xc(r29)
+/* 801C7908 001C3568 2C 00 00 00 */ cmpwi r0, 0
+/* 801C790C 001C356C 41 82 00 08 */ beq lbl_801C7914
+/* 801C7910 001C3570 93 E3 00 4C */ stw r31, 0x4c(r3)
+lbl_801C7914:
+/* 801C7914 001C3574 2C 1D 00 00 */ cmpwi r29, 0
+/* 801C7918 001C3578 40 82 FF A8 */ bne lbl_801C78C0
+/* 801C791C 001C357C 80 01 00 24 */ lwz r0, 0x24(r1)
+/* 801C7920 001C3580 83 E1 00 1C */ lwz r31, 0x1c(r1)
+/* 801C7924 001C3584 83 C1 00 18 */ lwz r30, 0x18(r1)
+/* 801C7928 001C3588 83 A1 00 14 */ lwz r29, 0x14(r1)
+/* 801C792C 001C358C 7C 08 03 A6 */ mtlr r0
+/* 801C7930 001C3590 38 21 00 20 */ addi r1, r1, 0x20
+/* 801C7934 001C3594 4E 80 00 20 */ blr
+
+.global __flush_line_buffered_output_files
+__flush_line_buffered_output_files:
+/* 801C7938 001C3598 94 21 FF F0 */ stwu r1, -0x10(r1)
+/* 801C793C 001C359C 7C 08 02 A6 */ mflr r0
+/* 801C7940 001C35A0 90 01 00 14 */ stw r0, 0x14(r1)
+/* 801C7944 001C35A4 93 E1 00 0C */ stw r31, 0xc(r1)
+/* 801C7948 001C35A8 3B E0 00 00 */ li r31, 0
+/* 801C794C 001C35AC 93 C1 00 08 */ stw r30, 8(r1)
+/* 801C7950 001C35B0 3F C0 80 42 */ lis r30, lbl_804228F0@ha
+/* 801C7954 001C35B4 3B DE 28 F0 */ addi r30, r30, lbl_804228F0@l
+/* 801C7958 001C35B8 48 00 00 40 */ b lbl_801C7998
+lbl_801C795C:
+/* 801C795C 001C35BC 80 7E 00 04 */ lwz r3, 4(r30)
+/* 801C7960 001C35C0 54 60 57 7F */ rlwinm. r0, r3, 0xa, 0x1d, 0x1f
+/* 801C7964 001C35C4 41 82 00 30 */ beq lbl_801C7994
+/* 801C7968 001C35C8 54 60 3F FF */ rlwinm. r0, r3, 7, 0x1f, 0x1f
+/* 801C796C 001C35CC 41 82 00 28 */ beq lbl_801C7994
+/* 801C7970 001C35D0 80 1E 00 08 */ lwz r0, 8(r30)
+/* 801C7974 001C35D4 54 00 1F 7E */ srwi r0, r0, 0x1d
+/* 801C7978 001C35D8 28 00 00 01 */ cmplwi r0, 1
+/* 801C797C 001C35DC 40 82 00 18 */ bne lbl_801C7994
+/* 801C7980 001C35E0 7F C3 F3 78 */ mr r3, r30
+/* 801C7984 001C35E4 48 00 23 09 */ bl func_801C9C8C
+/* 801C7988 001C35E8 2C 03 00 00 */ cmpwi r3, 0
+/* 801C798C 001C35EC 41 82 00 08 */ beq lbl_801C7994
+/* 801C7990 001C35F0 3B E0 FF FF */ li r31, -1
+lbl_801C7994:
+/* 801C7994 001C35F4 83 DE 00 4C */ lwz r30, 0x4c(r30)
+lbl_801C7998:
+/* 801C7998 001C35F8 2C 1E 00 00 */ cmpwi r30, 0
+/* 801C799C 001C35FC 40 82 FF C0 */ bne lbl_801C795C
+/* 801C79A0 001C3600 7F E3 FB 78 */ mr r3, r31
+/* 801C79A4 001C3604 83 E1 00 0C */ lwz r31, 0xc(r1)
+/* 801C79A8 001C3608 83 C1 00 08 */ lwz r30, 8(r1)
+/* 801C79AC 001C360C 80 01 00 14 */ lwz r0, 0x14(r1)
+/* 801C79B0 001C3610 7C 08 03 A6 */ mtlr r0
+/* 801C79B4 001C3614 38 21 00 10 */ addi r1, r1, 0x10
+/* 801C79B8 001C3618 4E 80 00 20 */ blr
+
+.global __flush_all
+__flush_all:
+/* 801C79BC 001C361C 94 21 FF F0 */ stwu r1, -0x10(r1)
+/* 801C79C0 001C3620 7C 08 02 A6 */ mflr r0
+/* 801C79C4 001C3624 90 01 00 14 */ stw r0, 0x14(r1)
+/* 801C79C8 001C3628 93 E1 00 0C */ stw r31, 0xc(r1)
+/* 801C79CC 001C362C 3B E0 00 00 */ li r31, 0
+/* 801C79D0 001C3630 93 C1 00 08 */ stw r30, 8(r1)
+/* 801C79D4 001C3634 3F C0 80 42 */ lis r30, lbl_804228F0@ha
+/* 801C79D8 001C3638 3B DE 28 F0 */ addi r30, r30, lbl_804228F0@l
+/* 801C79DC 001C363C 48 00 00 28 */ b lbl_801C7A04
+lbl_801C79E0:
+/* 801C79E0 001C3640 80 1E 00 04 */ lwz r0, 4(r30)
+/* 801C79E4 001C3644 54 00 57 7F */ rlwinm. r0, r0, 0xa, 0x1d, 0x1f
+/* 801C79E8 001C3648 41 82 00 18 */ beq lbl_801C7A00
+/* 801C79EC 001C364C 7F C3 F3 78 */ mr r3, r30
+/* 801C79F0 001C3650 48 00 22 9D */ bl func_801C9C8C
+/* 801C79F4 001C3654 2C 03 00 00 */ cmpwi r3, 0
+/* 801C79F8 001C3658 41 82 00 08 */ beq lbl_801C7A00
+/* 801C79FC 001C365C 3B E0 FF FF */ li r31, -1
+lbl_801C7A00:
+/* 801C7A00 001C3660 83 DE 00 4C */ lwz r30, 0x4c(r30)
+lbl_801C7A04:
+/* 801C7A04 001C3664 2C 1E 00 00 */ cmpwi r30, 0
+/* 801C7A08 001C3668 40 82 FF D8 */ bne lbl_801C79E0
+/* 801C7A0C 001C366C 7F E3 FB 78 */ mr r3, r31
+/* 801C7A10 001C3670 83 E1 00 0C */ lwz r31, 0xc(r1)
+/* 801C7A14 001C3674 83 C1 00 08 */ lwz r30, 8(r1)
+/* 801C7A18 001C3678 80 01 00 14 */ lwz r0, 0x14(r1)
+/* 801C7A1C 001C367C 7C 08 03 A6 */ mtlr r0
+/* 801C7A20 001C3680 38 21 00 10 */ addi r1, r1, 0x10
+/* 801C7A24 001C3684 4E 80 00 20 */ blr
diff --git a/asm/text_5_2.s b/asm/text_5_2.s index 67a841f..2cf35a2 100644 --- a/asm/text_5_2.s +++ b/asm/text_5_2.s @@ -2,126 +2,6 @@ .section .text, "ax" # 0x80006980 - 0x803E1E60 -.global func_801C7894 -func_801C7894: -/* 801C7894 001C34F4 94 21 FF E0 */ stwu r1, -0x20(r1) -/* 801C7898 001C34F8 7C 08 02 A6 */ mflr r0 -/* 801C789C 001C34FC 90 01 00 24 */ stw r0, 0x24(r1) -/* 801C78A0 001C3500 93 E1 00 1C */ stw r31, 0x1c(r1) -/* 801C78A4 001C3504 3B E0 00 00 */ li r31, 0 -/* 801C78A8 001C3508 93 C1 00 18 */ stw r30, 0x18(r1) -/* 801C78AC 001C350C 3B C0 00 03 */ li r30, 3 -/* 801C78B0 001C3510 93 A1 00 14 */ stw r29, 0x14(r1) -/* 801C78B4 001C3514 3F A0 80 42 */ lis r29, lbl_804228F0@ha -/* 801C78B8 001C3518 3B BD 28 F0 */ addi r29, r29, lbl_804228F0@l -/* 801C78BC 001C351C 48 00 00 58 */ b lbl_801C7914 -lbl_801C78C0: -/* 801C78C0 001C3520 80 1D 00 04 */ lwz r0, 4(r29) -/* 801C78C4 001C3524 54 00 57 7F */ rlwinm. r0, r0, 0xa, 0x1d, 0x1f -/* 801C78C8 001C3528 41 82 00 0C */ beq lbl_801C78D4 -/* 801C78CC 001C352C 7F A3 EB 78 */ mr r3, r29 -/* 801C78D0 001C3530 48 00 23 01 */ bl func_801C9BD0 -lbl_801C78D4: -/* 801C78D4 001C3534 7F A3 EB 78 */ mr r3, r29 -/* 801C78D8 001C3538 83 BD 00 4C */ lwz r29, 0x4c(r29) -/* 801C78DC 001C353C 88 03 00 0C */ lbz r0, 0xc(r3) -/* 801C78E0 001C3540 2C 00 00 00 */ cmpwi r0, 0 -/* 801C78E4 001C3544 41 82 00 0C */ beq lbl_801C78F0 -/* 801C78E8 001C3548 4B E4 2E DD */ bl func_8000A7C4 -/* 801C78EC 001C354C 48 00 00 28 */ b lbl_801C7914 -lbl_801C78F0: -/* 801C78F0 001C3550 80 03 00 04 */ lwz r0, 4(r3) -/* 801C78F4 001C3554 53 C0 B1 D2 */ rlwimi r0, r30, 0x16, 7, 9 -/* 801C78F8 001C3558 2C 1D 00 00 */ cmpwi r29, 0 -/* 801C78FC 001C355C 90 03 00 04 */ stw r0, 4(r3) -/* 801C7900 001C3560 41 82 00 14 */ beq lbl_801C7914 -/* 801C7904 001C3564 88 1D 00 0C */ lbz r0, 0xc(r29) -/* 801C7908 001C3568 2C 00 00 00 */ cmpwi r0, 0 -/* 801C790C 001C356C 41 82 00 08 */ beq lbl_801C7914 -/* 801C7910 001C3570 93 E3 00 4C */ stw r31, 0x4c(r3) -lbl_801C7914: -/* 801C7914 001C3574 2C 1D 00 00 */ cmpwi r29, 0 -/* 801C7918 001C3578 40 82 FF A8 */ bne lbl_801C78C0 -/* 801C791C 001C357C 80 01 00 24 */ lwz r0, 0x24(r1) -/* 801C7920 001C3580 83 E1 00 1C */ lwz r31, 0x1c(r1) -/* 801C7924 001C3584 83 C1 00 18 */ lwz r30, 0x18(r1) -/* 801C7928 001C3588 83 A1 00 14 */ lwz r29, 0x14(r1) -/* 801C792C 001C358C 7C 08 03 A6 */ mtlr r0 -/* 801C7930 001C3590 38 21 00 20 */ addi r1, r1, 0x20 -/* 801C7934 001C3594 4E 80 00 20 */ blr - -.global func_801C7938 -func_801C7938: -/* 801C7938 001C3598 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 801C793C 001C359C 7C 08 02 A6 */ mflr r0 -/* 801C7940 001C35A0 90 01 00 14 */ stw r0, 0x14(r1) -/* 801C7944 001C35A4 93 E1 00 0C */ stw r31, 0xc(r1) -/* 801C7948 001C35A8 3B E0 00 00 */ li r31, 0 -/* 801C794C 001C35AC 93 C1 00 08 */ stw r30, 8(r1) -/* 801C7950 001C35B0 3F C0 80 42 */ lis r30, lbl_804228F0@ha -/* 801C7954 001C35B4 3B DE 28 F0 */ addi r30, r30, lbl_804228F0@l -/* 801C7958 001C35B8 48 00 00 40 */ b lbl_801C7998 -lbl_801C795C: -/* 801C795C 001C35BC 80 7E 00 04 */ lwz r3, 4(r30) -/* 801C7960 001C35C0 54 60 57 7F */ rlwinm. r0, r3, 0xa, 0x1d, 0x1f -/* 801C7964 001C35C4 41 82 00 30 */ beq lbl_801C7994 -/* 801C7968 001C35C8 54 60 3F FF */ rlwinm. r0, r3, 7, 0x1f, 0x1f -/* 801C796C 001C35CC 41 82 00 28 */ beq lbl_801C7994 -/* 801C7970 001C35D0 80 1E 00 08 */ lwz r0, 8(r30) -/* 801C7974 001C35D4 54 00 1F 7E */ srwi r0, r0, 0x1d -/* 801C7978 001C35D8 28 00 00 01 */ cmplwi r0, 1 -/* 801C797C 001C35DC 40 82 00 18 */ bne lbl_801C7994 -/* 801C7980 001C35E0 7F C3 F3 78 */ mr r3, r30 -/* 801C7984 001C35E4 48 00 23 09 */ bl func_801C9C8C -/* 801C7988 001C35E8 2C 03 00 00 */ cmpwi r3, 0 -/* 801C798C 001C35EC 41 82 00 08 */ beq lbl_801C7994 -/* 801C7990 001C35F0 3B E0 FF FF */ li r31, -1 -lbl_801C7994: -/* 801C7994 001C35F4 83 DE 00 4C */ lwz r30, 0x4c(r30) -lbl_801C7998: -/* 801C7998 001C35F8 2C 1E 00 00 */ cmpwi r30, 0 -/* 801C799C 001C35FC 40 82 FF C0 */ bne lbl_801C795C -/* 801C79A0 001C3600 7F E3 FB 78 */ mr r3, r31 -/* 801C79A4 001C3604 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 801C79A8 001C3608 83 C1 00 08 */ lwz r30, 8(r1) -/* 801C79AC 001C360C 80 01 00 14 */ lwz r0, 0x14(r1) -/* 801C79B0 001C3610 7C 08 03 A6 */ mtlr r0 -/* 801C79B4 001C3614 38 21 00 10 */ addi r1, r1, 0x10 -/* 801C79B8 001C3618 4E 80 00 20 */ blr - -.global func_801C79BC -func_801C79BC: -/* 801C79BC 001C361C 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 801C79C0 001C3620 7C 08 02 A6 */ mflr r0 -/* 801C79C4 001C3624 90 01 00 14 */ stw r0, 0x14(r1) -/* 801C79C8 001C3628 93 E1 00 0C */ stw r31, 0xc(r1) -/* 801C79CC 001C362C 3B E0 00 00 */ li r31, 0 -/* 801C79D0 001C3630 93 C1 00 08 */ stw r30, 8(r1) -/* 801C79D4 001C3634 3F C0 80 42 */ lis r30, lbl_804228F0@ha -/* 801C79D8 001C3638 3B DE 28 F0 */ addi r30, r30, lbl_804228F0@l -/* 801C79DC 001C363C 48 00 00 28 */ b lbl_801C7A04 -lbl_801C79E0: -/* 801C79E0 001C3640 80 1E 00 04 */ lwz r0, 4(r30) -/* 801C79E4 001C3644 54 00 57 7F */ rlwinm. r0, r0, 0xa, 0x1d, 0x1f -/* 801C79E8 001C3648 41 82 00 18 */ beq lbl_801C7A00 -/* 801C79EC 001C364C 7F C3 F3 78 */ mr r3, r30 -/* 801C79F0 001C3650 48 00 22 9D */ bl func_801C9C8C -/* 801C79F4 001C3654 2C 03 00 00 */ cmpwi r3, 0 -/* 801C79F8 001C3658 41 82 00 08 */ beq lbl_801C7A00 -/* 801C79FC 001C365C 3B E0 FF FF */ li r31, -1 -lbl_801C7A00: -/* 801C7A00 001C3660 83 DE 00 4C */ lwz r30, 0x4c(r30) -lbl_801C7A04: -/* 801C7A04 001C3664 2C 1E 00 00 */ cmpwi r30, 0 -/* 801C7A08 001C3668 40 82 FF D8 */ bne lbl_801C79E0 -/* 801C7A0C 001C366C 7F E3 FB 78 */ mr r3, r31 -/* 801C7A10 001C3670 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 801C7A14 001C3674 83 C1 00 08 */ lwz r30, 8(r1) -/* 801C7A18 001C3678 80 01 00 14 */ lwz r0, 0x14(r1) -/* 801C7A1C 001C367C 7C 08 03 A6 */ mtlr r0 -/* 801C7A20 001C3680 38 21 00 10 */ addi r1, r1, 0x10 -/* 801C7A24 001C3684 4E 80 00 20 */ blr - .global func_801C7A28 func_801C7A28: /* 801C7A28 001C3688 94 21 FF E0 */ stwu r1, -0x20(r1) @@ -2153,7 +2033,7 @@ lbl_801C9660: /* 801C9660 001C52C0 80 1C 00 04 */ lwz r0, 4(r28) /* 801C9664 001C52C4 54 00 3F FF */ rlwinm. r0, r0, 7, 0x1f, 0x1f /* 801C9668 001C52C8 41 82 00 28 */ beq lbl_801C9690 -/* 801C966C 001C52CC 4B FF E2 CD */ bl func_801C7938 +/* 801C966C 001C52CC 4B FF E2 CD */ bl __flush_line_buffered_output_files /* 801C9670 001C52D0 2C 03 00 00 */ cmpwi r3, 0 /* 801C9674 001C52D4 41 82 00 1C */ beq lbl_801C9690 /* 801C9678 001C52D8 38 60 00 01 */ li r3, 1 @@ -2607,7 +2487,7 @@ func_801C9C8C: /* 801C9CA0 001C5900 7C 7F 1B 78 */ mr r31, r3 /* 801C9CA4 001C5904 93 C1 00 08 */ stw r30, 8(r1) /* 801C9CA8 001C5908 40 82 00 0C */ bne lbl_801C9CB4 -/* 801C9CAC 001C590C 4B FF DD 11 */ bl func_801C79BC +/* 801C9CAC 001C590C 4B FF DD 11 */ bl __flush_all /* 801C9CB0 001C5910 48 00 00 F8 */ b lbl_801C9DA8 lbl_801C9CB4: /* 801C9CB4 001C5914 88 03 00 0A */ lbz r0, 0xa(r3) diff --git a/asm/text_6.s b/asm/text_6.s index 56acd5f..d1e127b 100644 --- a/asm/text_6.s +++ b/asm/text_6.s @@ -4,8 +4,8 @@ .global func_801CA7B0 func_801CA7B0: -/* 801CA7B0 001C6410 3C 60 80 1C */ lis r3, func_801C7894@ha -/* 801CA7B4 001C6414 38 63 78 94 */ addi r3, r3, func_801C7894@l +/* 801CA7B0 001C6410 3C 60 80 1C */ lis r3, __close_all@ha +/* 801CA7B4 001C6414 38 63 78 94 */ addi r3, r3, __close_all@l /* 801CA7B8 001C6418 90 6D 9F D8 */ stw r3, lbl_8063F298-_SDA_BASE_(r13) /* 801CA7BC 001C641C 4E 80 00 20 */ blr diff --git a/obj_files.mk b/obj_files.mk index f4c8687..6d93222 100644 --- a/obj_files.mk +++ b/obj_files.mk @@ -20,6 +20,7 @@ TEXT_O_FILES := \ $(BUILD_DIR)/asm/libstdc++/runtime.o \ $(BUILD_DIR)/asm/libstdc++/__init_cpp_exceptions.o \ $(BUILD_DIR)/asm/libstdc++/Gecko_ExceptionPPC.o \ + $(BUILD_DIR)/asm/libstdc++/ansi_files.o \ $(BUILD_DIR)/asm/text_5_2.o \ $(BUILD_DIR)/asm/text_6.o \ $(BUILD_DIR)/asm/MetroTRK/mem_TRK.o \ |