diff options
Diffstat (limited to 'asm/libstdc++/wchar_io.s')
-rw-r--r-- | asm/libstdc++/wchar_io.s | 47 |
1 files changed, 47 insertions, 0 deletions
diff --git a/asm/libstdc++/wchar_io.s b/asm/libstdc++/wchar_io.s new file mode 100644 index 0000000..8864676 --- /dev/null +++ b/asm/libstdc++/wchar_io.s @@ -0,0 +1,47 @@ +.include "macros.inc"
+
+.section .text, "ax" # 0x80006980 - 0x803E1E60
+
+.global fwide
+fwide:
+/* 801D0864 001CC4C4 2C 03 00 00 */ cmpwi r3, 0
+/* 801D0868 001CC4C8 41 82 00 10 */ beq lbl_801D0878
+/* 801D086C 001CC4CC 80 A3 00 04 */ lwz r5, 4(r3)
+/* 801D0870 001CC4D0 54 A0 57 7F */ rlwinm. r0, r5, 0xa, 0x1d, 0x1f
+/* 801D0874 001CC4D4 40 82 00 0C */ bne lbl_801D0880
+lbl_801D0878:
+/* 801D0878 001CC4D8 38 60 00 00 */ li r3, 0
+/* 801D087C 001CC4DC 4E 80 00 20 */ blr
+lbl_801D0880:
+/* 801D0880 001CC4E0 54 A0 67 BE */ rlwinm r0, r5, 0xc, 0x1e, 0x1f
+/* 801D0884 001CC4E4 2C 00 00 01 */ cmpwi r0, 1
+/* 801D0888 001CC4E8 41 82 00 54 */ beq lbl_801D08DC
+/* 801D088C 001CC4EC 40 80 00 10 */ bge lbl_801D089C
+/* 801D0890 001CC4F0 2C 00 00 00 */ cmpwi r0, 0
+/* 801D0894 001CC4F4 40 80 00 14 */ bge lbl_801D08A8
+/* 801D0898 001CC4F8 48 00 00 48 */ b lbl_801D08E0
+lbl_801D089C:
+/* 801D089C 001CC4FC 2C 00 00 03 */ cmpwi r0, 3
+/* 801D08A0 001CC500 40 80 00 40 */ bge lbl_801D08E0
+/* 801D08A4 001CC504 48 00 00 30 */ b lbl_801D08D4
+lbl_801D08A8:
+/* 801D08A8 001CC508 2C 04 00 00 */ cmpwi r4, 0
+/* 801D08AC 001CC50C 40 81 00 14 */ ble lbl_801D08C0
+/* 801D08B0 001CC510 38 00 00 02 */ li r0, 2
+/* 801D08B4 001CC514 50 05 A2 96 */ rlwimi r5, r0, 0x14, 0xa, 0xb
+/* 801D08B8 001CC518 90 A3 00 04 */ stw r5, 4(r3)
+/* 801D08BC 001CC51C 48 00 00 24 */ b lbl_801D08E0
+lbl_801D08C0:
+/* 801D08C0 001CC520 40 80 00 20 */ bge lbl_801D08E0
+/* 801D08C4 001CC524 38 00 00 01 */ li r0, 1
+/* 801D08C8 001CC528 50 05 A2 96 */ rlwimi r5, r0, 0x14, 0xa, 0xb
+/* 801D08CC 001CC52C 90 A3 00 04 */ stw r5, 4(r3)
+/* 801D08D0 001CC530 48 00 00 10 */ b lbl_801D08E0
+lbl_801D08D4:
+/* 801D08D4 001CC534 38 80 00 01 */ li r4, 1
+/* 801D08D8 001CC538 48 00 00 08 */ b lbl_801D08E0
+lbl_801D08DC:
+/* 801D08DC 001CC53C 38 80 FF FF */ li r4, -1
+lbl_801D08E0:
+/* 801D08E0 001CC540 7C 83 23 78 */ mr r3, r4
+/* 801D08E4 001CC544 4E 80 00 20 */ blr
|