prime/asm/Runtime/widechar_io.s

49 lines
1.9 KiB
ArmAsm
Raw Normal View History

.include "macros.inc"
.section .text, "ax"
.global fwide
fwide:
/* 80391340 0038E2A0 28 03 00 00 */ cmplwi r3, 0
/* 80391344 0038E2A4 41 82 00 10 */ beq lbl_80391354
/* 80391348 0038E2A8 A0 03 00 04 */ lhz r0, 4(r3)
/* 8039134C 0038E2AC 54 00 D7 7F */ rlwinm. r0, r0, 0x1a, 0x1d, 0x1f
/* 80391350 0038E2B0 40 82 00 0C */ bne lbl_8039135C
lbl_80391354:
/* 80391354 0038E2B4 38 60 00 00 */ li r3, 0
/* 80391358 0038E2B8 4E 80 00 20 */ blr
lbl_8039135C:
/* 8039135C 0038E2BC 88 A3 00 05 */ lbz r5, 5(r3)
/* 80391360 0038E2C0 54 A0 E7 BE */ rlwinm r0, r5, 0x1c, 0x1e, 0x1f
/* 80391364 0038E2C4 2C 00 00 01 */ cmpwi r0, 1
/* 80391368 0038E2C8 41 82 00 58 */ beq lbl_803913C0
/* 8039136C 0038E2CC 40 80 00 10 */ bge lbl_8039137C
/* 80391370 0038E2D0 2C 00 00 00 */ cmpwi r0, 0
/* 80391374 0038E2D4 40 80 00 14 */ bge lbl_80391388
/* 80391378 0038E2D8 4E 80 00 20 */ blr
lbl_8039137C:
/* 8039137C 0038E2DC 2C 00 00 03 */ cmpwi r0, 3
/* 80391380 0038E2E0 4C 80 00 20 */ bgelr
/* 80391384 0038E2E4 48 00 00 34 */ b lbl_803913B8
lbl_80391388:
/* 80391388 0038E2E8 2C 04 00 00 */ cmpwi r4, 0
/* 8039138C 0038E2EC 40 81 00 14 */ ble lbl_803913A0
/* 80391390 0038E2F0 38 00 00 02 */ li r0, 2
/* 80391394 0038E2F4 50 05 26 B6 */ rlwimi r5, r0, 4, 0x1a, 0x1b
/* 80391398 0038E2F8 98 A3 00 05 */ stb r5, 5(r3)
/* 8039139C 0038E2FC 48 00 00 14 */ b lbl_803913B0
lbl_803913A0:
/* 803913A0 0038E300 40 80 00 10 */ bge lbl_803913B0
/* 803913A4 0038E304 38 00 00 01 */ li r0, 1
/* 803913A8 0038E308 50 05 26 B6 */ rlwimi r5, r0, 4, 0x1a, 0x1b
/* 803913AC 0038E30C 98 A3 00 05 */ stb r5, 5(r3)
lbl_803913B0:
/* 803913B0 0038E310 7C 83 23 78 */ mr r3, r4
/* 803913B4 0038E314 4E 80 00 20 */ blr
lbl_803913B8:
/* 803913B8 0038E318 38 60 00 01 */ li r3, 1
/* 803913BC 0038E31C 4E 80 00 20 */ blr
lbl_803913C0:
/* 803913C0 0038E320 38 60 FF FF */ li r3, -1
/* 803913C4 0038E324 4E 80 00 20 */ blr