summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMax <mparisi@stevens.edu>2020-09-29 10:45:40 -0400
committerMax <mparisi@stevens.edu>2020-09-29 10:45:40 -0400
commit34fdfac1e8576d404612b2cafb9344160b4a20af (patch)
treed5ca89037b5970c602effb2959d94842b539ed5c
parenta8a179cf67d8ea50160c7cb97208f5bf223f3037 (diff)
split ansi_files.s
-rw-r--r--asm/libstdc++/ansi_files.s123
-rw-r--r--asm/text_5_2.s124
-rw-r--r--asm/text_6.s4
-rw-r--r--obj_files.mk1
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 \