// // Generated By: dol2asm // Translation Unit: MSL_Common/Src/printf // #include "dol2asm.h" #include "dolphin/types.h" #include "MSL_C.PPCEABI.bare.H/MSL_Common/Src/printf.h" // // Forward References: // // False False extern "C" void sprintf(); // False False extern "C" void snprintf(); // False False extern "C" void vsnprintf(); // False False extern "C" void vprintf(); // False False extern "C" void fprintf(); // False False extern "C" void printf(); // True False extern "C" static void __StringWrite(); // True False extern "C" static void __FileWrite(); // True False extern "C" static void __pformatter(); // True False extern "C" static void float2str(); // True False extern "C" static void round_decimal(); // True False extern "C" static void double2hex(); // True False extern "C" static void longlong2str(); // True False extern "C" static void long2str(); // True False extern "C" static void parse_format(); extern "C" extern char const* const MSL_Common_Src_printf__stringBase0; // // External References: // // False False SECTION_INIT void memcpy(); // False False extern "C" void __va_arg(); // False False extern "C" void __div2u(); // False False extern "C" void __mod2u(); // False False extern "C" void __num2dec(); // False False // void False extern "C" void __end_critical_region(); // False False // void False extern "C" void __begin_critical_region(); // False False extern "C" void fwrite(); // False False extern "C" void wcstombs(); // False False extern "C" void memchr(); // False False extern "C" void strchr(); // False False extern "C" void strcpy(); // False False extern "C" void strlen(); // False False extern "C" void fwide(); extern "C" extern void* __files[80]; extern "C" extern u8 __ctype_map[256]; // // Declarations: // /* 803664DC-803665BC 00E0+00 s=0 e=32 z=14 None .text sprintf */ // 8036652C: 80366964 (__StringWrite) // 80366538: 80366964 (__StringWrite) // 80366580: 80366A28 (__pformatter) #pragma push #pragma optimization_level 0 #pragma optimizewithasm off // False False extern "C" asm void sprintf() { nofralloc #include "asm/MSL_C.PPCEABI.bare.H/MSL_Common/Src/printf/sprintf.s" } #pragma pop /* 803665BC-80366690 00D4+00 s=0 e=19 z=0 None .text snprintf */ // 80366608: 80366964 (__StringWrite) // 8036661C: 80366964 (__StringWrite) // 80366658: 80366A28 (__pformatter) #pragma push #pragma optimization_level 0 #pragma optimizewithasm off // False False extern "C" asm void snprintf() { nofralloc #include "asm/MSL_C.PPCEABI.bare.H/MSL_Common/Src/printf/snprintf.s" } #pragma pop /* 80366690-80366704 0074+00 s=0 e=8 z=0 None .text vsnprintf */ // 803666B4: 80366964 (__StringWrite) // 803666BC: 80366964 (__StringWrite) // 803666C8: 80366A28 (__pformatter) #pragma push #pragma optimization_level 0 #pragma optimizewithasm off // False False extern "C" asm void vsnprintf() { nofralloc #include "asm/MSL_C.PPCEABI.bare.H/MSL_Common/Src/printf/vsnprintf.s" } #pragma pop /* 80366704-8036679C 0098+00 s=0 e=2 z=0 None .text vprintf */ // 8036670C: 803D29B0 (__files) // 80366720: 803D29B0 (__files) // 80366738: 80369114 (fwide) // 80366750: 80365468 (__begin_critical_region) // 80366754: 803669D0 (__FileWrite) // 8036675C: 803669D0 (__FileWrite) // 80366768: 80366A28 (__pformatter) // 80366778: 80365464 (__end_critical_region) #pragma push #pragma optimization_level 0 #pragma optimizewithasm off // False False extern "C" asm void vprintf() { nofralloc #include "asm/MSL_C.PPCEABI.bare.H/MSL_Common/Src/printf/vprintf.s" } #pragma pop /* 8036679C-8036687C 00E0+00 s=0 e=9 z=0 None .text fprintf */ // 80366804: 80369114 (fwide) // 8036681C: 80365468 (__begin_critical_region) // 8036682C: 803669D0 (__FileWrite) // 80366838: 803669D0 (__FileWrite) // 8036684C: 80366A28 (__pformatter) // 8036685C: 80365464 (__end_critical_region) #pragma push #pragma optimization_level 0 #pragma optimizewithasm off // False False extern "C" asm void fprintf() { nofralloc #include "asm/MSL_C.PPCEABI.bare.H/MSL_Common/Src/printf/fprintf.s" } #pragma pop /* 8036687C-80366964 00E8+00 s=0 e=4 z=0 None .text printf */ // 803668B8: 803D29B0 (__files) // 803668C0: 803D29B0 (__files) // 803668EC: 80369114 (fwide) // 80366904: 80365468 (__begin_critical_region) // 80366914: 803669D0 (__FileWrite) // 80366920: 803669D0 (__FileWrite) // 80366934: 80366A28 (__pformatter) // 80366944: 80365464 (__end_critical_region) #pragma push #pragma optimization_level 0 #pragma optimizewithasm off // False False extern "C" asm void printf() { nofralloc #include "asm/MSL_C.PPCEABI.bare.H/MSL_Common/Src/printf/printf.s" } #pragma pop /* 80366964-803669D0 006C+00 s=3 e=0 z=0 None .text __StringWrite */ // 803669A4: 80003540 (memcpy) #pragma push #pragma optimization_level 0 #pragma optimizewithasm off // True False extern "C" asm static void __StringWrite() { nofralloc #include "asm/MSL_C.PPCEABI.bare.H/MSL_Common/Src/printf/__StringWrite.s" } #pragma pop /* 803669D0-80366A28 0058+00 s=3 e=0 z=0 None .text __FileWrite */ // 803669F8: 803657A0 (fwrite) #pragma push #pragma optimization_level 0 #pragma optimizewithasm off // True False extern "C" asm static void __FileWrite() { nofralloc #include "asm/MSL_C.PPCEABI.bare.H/MSL_Common/Src/printf/__FileWrite.s" } #pragma pop /* ############################################################################################## */ /* 803A2318-803A2340 0025+03 s=3 e=0 z=0 None .rodata @stringBase0 */ #pragma push #pragma force_active on #pragma section ".dead" SECTION_DEAD char const* const stringBase_803A2318 = ""; SECTION_DEAD char const* const stringBase_803A2319 = "-INF"; SECTION_DEAD char const* const stringBase_803A231E = "-inf"; SECTION_DEAD char const* const stringBase_803A2323 = "INF"; SECTION_DEAD char const* const stringBase_803A2327 = "inf"; SECTION_DEAD char const* const stringBase_803A232B = "-NAN"; SECTION_DEAD char const* const stringBase_803A2330 = "-nan"; SECTION_DEAD char const* const stringBase_803A2335 = "NAN"; SECTION_DEAD char const* const stringBase_803A2339 = "nan"; /* @stringBase0 padding */ SECTION_DEAD static char const* const pad_803A233D = "\0\0"; #pragma pop /* 80450AD8-80450AE0 0002+06 s=1 e=0 z=0 None .sdata @wstringBase0 */ SECTION_SDATA static u8 data_80450AD8[2 + 6 /* padding */] = { 0x00, 0x00, /* padding */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, }; /* 80366A28-8036719C 0774+00 s=6 e=0 z=0 None .text __pformatter */ // 80366A68: 80368924 (strchr) // 80366A78: 80368BE4 (strlen) // 80366AE8: 80368288 (parse_format) // 80366BCC: 80361B14 (__va_arg) // 80366BE8: 80361B14 (__va_arg) // 80366C00: 80361B14 (__va_arg) // 80366C64: 80367D1C (longlong2str) // 80366CA0: 80368030 (long2str) // 80366CC8: 80361B14 (__va_arg) // 80366CE4: 80361B14 (__va_arg) // 80366CFC: 80361B14 (__va_arg) // 80366D60: 80367D1C (longlong2str) // 80366D9C: 80368030 (long2str) // 80366DC4: 80361B14 (__va_arg) // 80366DD8: 80361B14 (__va_arg) // 80366E08: 8036719C (float2str) // 80366E30: 80361B14 (__va_arg) // 80366E44: 80361B14 (__va_arg) // 80366E74: 803679E4 (double2hex) // 80366E9C: 80361B14 (__va_arg) // 80366EAC: 80450AD8 (data_80450AD8) // 80366EB8: 80365F74 (wcstombs) // 80366ED4: 80361B14 (__va_arg) // 80366EE4: 803A2318 (MSL_Common_Src_printf__stringBase0) // 80366EE8: 803A2318 (MSL_Common_Src_printf__stringBase0) // 80366F3C: 80366104 (memchr) // 80366F54: 80368BE4 (strlen) // 80366F68: 80361B14 (__va_arg) // 80366FD0: 80361B14 (__va_arg) // 80366FFC: 80368BE4 (strlen) #pragma push #pragma optimization_level 0 #pragma optimizewithasm off // True False extern "C" asm static void __pformatter() { nofralloc #include "asm/MSL_C.PPCEABI.bare.H/MSL_Common/Src/printf/__pformatter.s" } #pragma pop /* ############################################################################################## */ /* 80456670-80456678 0008+00 s=1 e=0 z=0 None .sdata2 @1089 */ SECTION_SDATA2 static u8 lit_1089[8] = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, }; /* 8036719C-803678B8 071C+00 s=1 e=0 z=0 None .text float2str */ // 803671F4: 80363124 (__num2dec) // 8036726C: 80456670 (lit_1089) // 80367278: 803D2C18 (__ctype_map) // 80367280: 803D2C18 (__ctype_map) // 80367294: 803A2318 (MSL_Common_Src_printf__stringBase0) // 8036729C: 803A2318 (MSL_Common_Src_printf__stringBase0) // 803672A4: 80368B2C (strcpy) // 803672AC: 803A2318 (MSL_Common_Src_printf__stringBase0) // 803672B4: 803A2318 (MSL_Common_Src_printf__stringBase0) // 803672BC: 80368B2C (strcpy) // 803672C4: 803D2C18 (__ctype_map) // 803672CC: 803D2C18 (__ctype_map) // 803672E0: 803A2318 (MSL_Common_Src_printf__stringBase0) // 803672E8: 803A2318 (MSL_Common_Src_printf__stringBase0) // 803672F0: 80368B2C (strcpy) // 803672F8: 803A2318 (MSL_Common_Src_printf__stringBase0) // 80367300: 803A2318 (MSL_Common_Src_printf__stringBase0) // 80367308: 80368B2C (strcpy) // 80367320: 803D2C18 (__ctype_map) // 80367328: 803D2C18 (__ctype_map) // 8036733C: 803A2318 (MSL_Common_Src_printf__stringBase0) // 80367344: 803A2318 (MSL_Common_Src_printf__stringBase0) // 8036734C: 80368B2C (strcpy) // 80367354: 803A2318 (MSL_Common_Src_printf__stringBase0) // 8036735C: 803A2318 (MSL_Common_Src_printf__stringBase0) // 80367364: 80368B2C (strcpy) // 8036736C: 803D2C18 (__ctype_map) // 80367374: 803D2C18 (__ctype_map) // 80367388: 803A2318 (MSL_Common_Src_printf__stringBase0) // 80367390: 803A2318 (MSL_Common_Src_printf__stringBase0) // 80367398: 80368B2C (strcpy) // 803673A0: 803A2318 (MSL_Common_Src_printf__stringBase0) // 803673A8: 803A2318 (MSL_Common_Src_printf__stringBase0) // 803673B0: 80368B2C (strcpy) // 80367434: 803678B8 (round_decimal) // 803674F0: 803678B8 (round_decimal) // 8036766C: 803678B8 (round_decimal) #pragma push #pragma optimization_level 0 #pragma optimizewithasm off // True False extern "C" asm static void float2str() { nofralloc #include "asm/MSL_C.PPCEABI.bare.H/MSL_Common/Src/printf/float2str.s" } #pragma pop /* 803678B8-803679E4 012C+00 s=1 e=0 z=0 None .text round_decimal */ #pragma push #pragma optimization_level 0 #pragma optimizewithasm off // True False extern "C" asm static void round_decimal() { nofralloc #include "asm/MSL_C.PPCEABI.bare.H/MSL_Common/Src/printf/round_decimal.s" } #pragma pop /* 803679E4-80367D1C 0338+00 s=1 e=0 z=0 None .text double2hex */ // 80367A34: 80363124 (__num2dec) // 80367A60: 803A2318 (MSL_Common_Src_printf__stringBase0) // 80367A68: 803A2318 (MSL_Common_Src_printf__stringBase0) // 80367A70: 80368B2C (strcpy) // 80367A78: 803A2318 (MSL_Common_Src_printf__stringBase0) // 80367A80: 803A2318 (MSL_Common_Src_printf__stringBase0) // 80367A88: 80368B2C (strcpy) // 80367AA0: 803A2318 (MSL_Common_Src_printf__stringBase0) // 80367AA8: 803A2318 (MSL_Common_Src_printf__stringBase0) // 80367AB0: 80368B2C (strcpy) // 80367AB8: 803A2318 (MSL_Common_Src_printf__stringBase0) // 80367AC0: 803A2318 (MSL_Common_Src_printf__stringBase0) // 80367AC8: 80368B2C (strcpy) // 80367AF8: 803A2318 (MSL_Common_Src_printf__stringBase0) // 80367B00: 803A2318 (MSL_Common_Src_printf__stringBase0) // 80367B08: 80368B2C (strcpy) // 80367B10: 803A2318 (MSL_Common_Src_printf__stringBase0) // 80367B18: 803A2318 (MSL_Common_Src_printf__stringBase0) // 80367B20: 80368B2C (strcpy) // 80367B38: 803A2318 (MSL_Common_Src_printf__stringBase0) // 80367B40: 803A2318 (MSL_Common_Src_printf__stringBase0) // 80367B48: 80368B2C (strcpy) // 80367B50: 803A2318 (MSL_Common_Src_printf__stringBase0) // 80367B58: 803A2318 (MSL_Common_Src_printf__stringBase0) // 80367B60: 80368B2C (strcpy) // 80367BC8: 80368030 (long2str) #pragma push #pragma optimization_level 0 #pragma optimizewithasm off // True False extern "C" asm static void double2hex() { nofralloc #include "asm/MSL_C.PPCEABI.bare.H/MSL_Common/Src/printf/double2hex.s" } #pragma pop /* ############################################################################################## */ /* 803D2F18-803D2F9C 0084+00 s=1 e=0 z=0 None .data @1248 */ SECTION_DATA static void* lit_1248[33] = { (void*)(((char*)longlong2str)+0xF8), (void*)(((char*)longlong2str)+0x108), (void*)(((char*)longlong2str)+0x108), (void*)(((char*)longlong2str)+0x108), (void*)(((char*)longlong2str)+0x108), (void*)(((char*)longlong2str)+0x108), (void*)(((char*)longlong2str)+0x108), (void*)(((char*)longlong2str)+0x108), (void*)(((char*)longlong2str)+0x108), (void*)(((char*)longlong2str)+0x108), (void*)(((char*)longlong2str)+0x108), (void*)(((char*)longlong2str)+0x108), (void*)(((char*)longlong2str)+0x98), (void*)(((char*)longlong2str)+0x108), (void*)(((char*)longlong2str)+0x108), (void*)(((char*)longlong2str)+0x108), (void*)(((char*)longlong2str)+0x108), (void*)(((char*)longlong2str)+0x98), (void*)(((char*)longlong2str)+0x108), (void*)(((char*)longlong2str)+0x108), (void*)(((char*)longlong2str)+0x108), (void*)(((char*)longlong2str)+0x108), (void*)(((char*)longlong2str)+0x108), (void*)(((char*)longlong2str)+0xD0), (void*)(((char*)longlong2str)+0x108), (void*)(((char*)longlong2str)+0x108), (void*)(((char*)longlong2str)+0x108), (void*)(((char*)longlong2str)+0x108), (void*)(((char*)longlong2str)+0x108), (void*)(((char*)longlong2str)+0xE4), (void*)(((char*)longlong2str)+0x108), (void*)(((char*)longlong2str)+0x108), (void*)(((char*)longlong2str)+0xF8), }; /* 80367D1C-80368030 0314+00 s=2 e=0 z=0 None .text longlong2str */ // 80367D9C: 803D2F18 (lit_1248) // 80367DA4: 803D2F18 (lit_1248) // 80367E34: 8036245C (__mod2u) // 80367E4C: 80362238 (__div2u) #pragma push #pragma optimization_level 0 #pragma optimizewithasm off // True False extern "C" asm static void longlong2str() { nofralloc #include "asm/MSL_C.PPCEABI.bare.H/MSL_Common/Src/printf/longlong2str.s" } #pragma pop /* ############################################################################################## */ /* 803D2F9C-803D3020 0084+00 s=1 e=0 z=0 None .data @1307 */ SECTION_DATA static void* lit_1307[33] = { (void*)(((char*)long2str)+0xA8), (void*)(((char*)long2str)+0xB4), (void*)(((char*)long2str)+0xB4), (void*)(((char*)long2str)+0xB4), (void*)(((char*)long2str)+0xB4), (void*)(((char*)long2str)+0xB4), (void*)(((char*)long2str)+0xB4), (void*)(((char*)long2str)+0xB4), (void*)(((char*)long2str)+0xB4), (void*)(((char*)long2str)+0xB4), (void*)(((char*)long2str)+0xB4), (void*)(((char*)long2str)+0xB4), (void*)(((char*)long2str)+0x70), (void*)(((char*)long2str)+0xB4), (void*)(((char*)long2str)+0xB4), (void*)(((char*)long2str)+0xB4), (void*)(((char*)long2str)+0xB4), (void*)(((char*)long2str)+0x70), (void*)(((char*)long2str)+0xB4), (void*)(((char*)long2str)+0xB4), (void*)(((char*)long2str)+0xB4), (void*)(((char*)long2str)+0xB4), (void*)(((char*)long2str)+0xB4), (void*)(((char*)long2str)+0x88), (void*)(((char*)long2str)+0xB4), (void*)(((char*)long2str)+0xB4), (void*)(((char*)long2str)+0xB4), (void*)(((char*)long2str)+0xB4), (void*)(((char*)long2str)+0xB4), (void*)(((char*)long2str)+0x98), (void*)(((char*)long2str)+0xB4), (void*)(((char*)long2str)+0xB4), (void*)(((char*)long2str)+0xA8), }; /* 80368030-80368288 0258+00 s=3 e=0 z=0 None .text long2str */ // 80368088: 803D2F9C (lit_1307) // 80368090: 803D2F9C (lit_1307) #pragma push #pragma optimization_level 0 #pragma optimizewithasm off // True False extern "C" asm static void long2str() { nofralloc #include "asm/MSL_C.PPCEABI.bare.H/MSL_Common/Src/printf/long2str.s" } #pragma pop /* ############################################################################################## */ /* 803D3020-803D3100 00E0+00 s=1 e=0 z=0 None .data @1443 */ SECTION_DATA static void* lit_1443[56] = { (void*)(((char*)parse_format)+0x38C), (void*)(((char*)parse_format)+0x4BC), (void*)(((char*)parse_format)+0x4BC), (void*)(((char*)parse_format)+0x4BC), (void*)(((char*)parse_format)+0x3DC), (void*)(((char*)parse_format)+0x354), (void*)(((char*)parse_format)+0x3C8), (void*)(((char*)parse_format)+0x4BC), (void*)(((char*)parse_format)+0x4BC), (void*)(((char*)parse_format)+0x4BC), (void*)(((char*)parse_format)+0x4BC), (void*)(((char*)parse_format)+0x4BC), (void*)(((char*)parse_format)+0x4BC), (void*)(((char*)parse_format)+0x4BC), (void*)(((char*)parse_format)+0x4BC), (void*)(((char*)parse_format)+0x4BC), (void*)(((char*)parse_format)+0x4BC), (void*)(((char*)parse_format)+0x4BC), (void*)(((char*)parse_format)+0x4BC), (void*)(((char*)parse_format)+0x4BC), (void*)(((char*)parse_format)+0x4BC), (void*)(((char*)parse_format)+0x4BC), (void*)(((char*)parse_format)+0x4BC), (void*)(((char*)parse_format)+0x30C), (void*)(((char*)parse_format)+0x4BC), (void*)(((char*)parse_format)+0x4BC), (void*)(((char*)parse_format)+0x4BC), (void*)(((char*)parse_format)+0x4BC), (void*)(((char*)parse_format)+0x4BC), (void*)(((char*)parse_format)+0x4BC), (void*)(((char*)parse_format)+0x4BC), (void*)(((char*)parse_format)+0x4BC), (void*)(((char*)parse_format)+0x38C), (void*)(((char*)parse_format)+0x4BC), (void*)(((char*)parse_format)+0x440), (void*)(((char*)parse_format)+0x30C), (void*)(((char*)parse_format)+0x3DC), (void*)(((char*)parse_format)+0x354), (void*)(((char*)parse_format)+0x3C8), (void*)(((char*)parse_format)+0x4BC), (void*)(((char*)parse_format)+0x30C), (void*)(((char*)parse_format)+0x4BC), (void*)(((char*)parse_format)+0x4BC), (void*)(((char*)parse_format)+0x4BC), (void*)(((char*)parse_format)+0x4BC), (void*)(((char*)parse_format)+0x4A4), (void*)(((char*)parse_format)+0x30C), (void*)(((char*)parse_format)+0x41C), (void*)(((char*)parse_format)+0x4BC), (void*)(((char*)parse_format)+0x4BC), (void*)(((char*)parse_format)+0x478), (void*)(((char*)parse_format)+0x4BC), (void*)(((char*)parse_format)+0x30C), (void*)(((char*)parse_format)+0x4BC), (void*)(((char*)parse_format)+0x4BC), (void*)(((char*)parse_format)+0x30C), }; /* 803D3100-803D3148 0044+04 s=1 e=0 z=0 None .data @1442 */ SECTION_DATA static void* lit_1442[17 + 1 /* padding */] = { (void*)(((char*)parse_format)+0xBC), (void*)(((char*)parse_format)+0xF8), (void*)(((char*)parse_format)+0xF8), (void*)(((char*)parse_format)+0xD4), (void*)(((char*)parse_format)+0xF8), (void*)(((char*)parse_format)+0xF8), (void*)(((char*)parse_format)+0xF8), (void*)(((char*)parse_format)+0xF8), (void*)(((char*)parse_format)+0xF8), (void*)(((char*)parse_format)+0xF8), (void*)(((char*)parse_format)+0xF8), (void*)(((char*)parse_format)+0xB0), (void*)(((char*)parse_format)+0xF8), (void*)(((char*)parse_format)+0xA4), (void*)(((char*)parse_format)+0xF8), (void*)(((char*)parse_format)+0xF8), (void*)(((char*)parse_format)+0xE0), /* padding */ NULL, }; /* 80368288-8036878C 0504+00 s=3 e=0 z=0 None .text parse_format */ // 80368314: 803D3100 (lit_1442) // 8036831C: 803D3100 (lit_1442) // 803683A8: 80361B14 (__va_arg) // 803683D8: 803D2C18 (__ctype_map) // 803683DC: 803D2C18 (__ctype_map) // 80368470: 80361B14 (__va_arg) // 80368498: 803D2C18 (__ctype_map) // 8036849C: 803D2C18 (__ctype_map) // 8036857C: 803D3020 (lit_1443) // 80368584: 803D3020 (lit_1443) #pragma push #pragma optimization_level 0 #pragma optimizewithasm off // True False extern "C" asm static void parse_format() { nofralloc #include "asm/MSL_C.PPCEABI.bare.H/MSL_Common/Src/printf/parse_format.s" } #pragma pop