summaryrefslogtreecommitdiff
path: root/arm9/asm/RUNTIME_d_itod.s
blob: 5a9c241deab1a5df806d67ce3c2904b4ac1e10d9 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
	.include "asm/macros.inc"
	.include "global.inc"

	.text

	arm_func_start _dflt
_dflt: ; 0x020EA038
	ands r2, r0, #0x80000000
	rsbmi r0, r0, #0x0
	cmp r0, #0x0
	.global __d_itod_common
__d_itod_common:
	mov r1, #0x0
	bxeq lr
	mov r3, #0x400
	add r3, r3, #0x1e
	clz r12, r0
	movs r0, r0, lsl r12
	sub r3, r3, r12
	movs r1, r0
	mov r0, r1, lsl #0x15
	add r1, r1, r1
	orr r1, r2, r1, lsr #0xc
	orr r1, r1, r3, lsl #0x14
	bx lr
	arm_func_end _dflt

	arm_func_start _dfltu
_dfltu: ; 0x020EA078
	cmp r0, #0x0
	.global __d_utod_common
__d_utod_common:
	mov r1, #0x0
	bxeq lr
	mov r3, #0x400
	add r3, r3, #0x1e
	bmi _020EA09C
	clz r12, r0
	movs r0, r0, lsl r12
	sub r3, r3, r12
_020EA09C:
	mov r1, r0
	mov r0, r1, lsl #0x15
	add r1, r1, r1
	mov r1, r1, lsr #0xc
	orr r1, r1, r3, lsl #0x14
	bx lr
	arm_func_end _dfltu