summaryrefslogtreecommitdiff
path: root/thumb2fileIO3.s
diff options
context:
space:
mode:
authorCamil Staps2016-11-26 13:44:41 +0000
committerCamil Staps2016-11-26 13:44:41 +0000
commit355c7daa2cfc3a6b29f72376dcea6a3976a8695f (patch)
treec2cd8bf37d5b9e240b36c473bc6aac88cb74a101 /thumb2fileIO3.s
parentWIP fixes for bit 0 in compacting collector (diff)
monster commit: replace all registers with aliases to ease optimisation
Diffstat (limited to 'thumb2fileIO3.s')
-rw-r--r--thumb2fileIO3.s907
1 files changed, 454 insertions, 453 deletions
diff --git a/thumb2fileIO3.s b/thumb2fileIO3.s
index 9981e61..532f80a 100644
--- a/thumb2fileIO3.s
+++ b/thumb2fileIO3.s
@@ -1,3 +1,4 @@
+ .include "thumb2regs.s"
.syntax unified
.fpu vfp3
@@ -91,14 +92,14 @@ fwritestring_error:
# .o 0 2 f
stdioF:
- mov r4,sp
- bic r3,r4,#4
- mov sp,r3
+ mov BSTACK_0,sp
+ bic BSTACK_1,BSTACK_0,#4
+ mov sp,BSTACK_1
bl open_stdio
- mov sp,r4
+ mov sp,BSTACK_0
- mov r3,r0
- mov r4,#-1
+ mov BSTACK_1,BSTACK_4
+ mov BSTACK_0,#-1
ldr lr,[sp],#4
orr lr,lr,#1
mov pc,lr
@@ -108,14 +109,14 @@ stdioF:
@ .o 0 2 f
stderrF:
- mov r4,sp
- bic r3,r4,#4
- mov sp,r3
+ mov BSTACK_0,sp
+ bic BSTACK_1,BSTACK_0,#4
+ mov sp,BSTACK_1
bl open_stderr
- mov sp,r4
+ mov sp,BSTACK_0
- mov r3,r0
- mov r4,#-1
+ mov BSTACK_1,BSTACK_4
+ mov BSTACK_0,#-1
ldr lr,[sp],#4
orr lr,lr,#1
mov pc,lr
@@ -125,21 +126,21 @@ stderrF:
@ .o 0 3 b f
openF:
- add r0,r6,#4
- mov r1,r4
- mov r4,sp
- bic r3,r4,#4
- mov sp,r3
+ add BSTACK_4,ASTACK_0,#4
+ mov BSTACK_3,BSTACK_0
+ mov BSTACK_0,sp
+ bic BSTACK_1,BSTACK_0,#4
+ mov sp,BSTACK_1
bl open_file
- mov sp,r4
+ mov sp,BSTACK_0
- mov r3,r0
- cmp r0,#0
- mov r4,#-1
+ mov BSTACK_1,BSTACK_4
+ cmp BSTACK_4,#0
+ mov BSTACK_0,#-1
it mi
- movmi r2,#0
+ movmi BSTACK_2,#0
it pl
- movpl r2,#1
+ movpl BSTACK_2,#1
ldr lr,[sp],#4
orr lr,lr,#1
mov pc,lr
@@ -149,13 +150,13 @@ openF:
@ .o 0 1 b
closeF:
- mov r0,r3
- mov r4,sp
- bic r3,r4,#4
- mov sp,r3
+ mov BSTACK_4,BSTACK_1
+ mov BSTACK_0,sp
+ bic BSTACK_1,BSTACK_0,#4
+ mov sp,BSTACK_1
bl close_file
- mov sp,r4
- mov r4,r0
+ mov sp,BSTACK_0
+ mov BSTACK_0,BSTACK_4
ldr lr,[sp],#4
orr lr,lr,#1
mov pc,lr
@@ -165,18 +166,18 @@ closeF:
@ .o 0 3 b f
reopenF:
- mov r0,r2
- mov r1,r4
- mov r6,r2
- mov r4,sp
- bic r3,r4,#4
- mov sp,r3
+ mov BSTACK_4,BSTACK_2
+ mov BSTACK_3,BSTACK_0
+ mov ASTACK_0,BSTACK_2
+ mov BSTACK_0,sp
+ bic BSTACK_1,BSTACK_0,#4
+ mov sp,BSTACK_1
bl re_open_file
- mov sp,r4
+ mov sp,BSTACK_0
- neg r2,r0
- mov r3,r6
- mov r4,#-1
+ neg BSTACK_2,BSTACK_4
+ mov BSTACK_1,ASTACK_0
+ mov BSTACK_0,#-1
ldr lr,[sp],#4
orr lr,lr,#1
mov pc,lr
@@ -186,28 +187,28 @@ reopenF:
@ .o 0 4 b c f
readFC:
- mov r0,r3
- mov r6,r3
- mov r4,sp
- bic r3,r4,#4
- mov sp,r3
+ mov BSTACK_4,BSTACK_1
+ mov ASTACK_0,BSTACK_1
+ mov BSTACK_0,sp
+ bic BSTACK_1,BSTACK_0,#4
+ mov sp,BSTACK_1
bl file_read_char
- mov sp,r4
+ mov sp,BSTACK_0
- mov r3,r6
- mov r4,#-1
- cmp r0,#-1
+ mov BSTACK_1,ASTACK_0
+ mov BSTACK_0,#-1
+ cmp BSTACK_4,#-1
beq readFC_eof
- mov r2,r0
- mov r1,#1
+ mov BSTACK_2,BSTACK_4
+ mov BSTACK_3,#1
ldr lr,[sp],#4
orr lr,lr,#1
mov pc,lr
readFC_eof:
- mov r2,#0
- mov r3,#0
+ mov BSTACK_2,#0
+ mov BSTACK_1,#0
ldr lr,[sp],#4
orr lr,lr,#1
mov pc,lr
@@ -218,20 +219,20 @@ readFC_eof:
readFI:
sub sp,sp,#4
- mov r0,r3
- mov r1,sp
- mov r6,r3
+ mov BSTACK_4,BSTACK_1
+ mov BSTACK_3,sp
+ mov ASTACK_0,BSTACK_1
- mov r4,sp
- bic r3,r4,#4
- mov sp,r3
+ mov BSTACK_0,sp
+ bic BSTACK_1,BSTACK_0,#4
+ mov sp,BSTACK_1
bl file_read_int
- mov sp,r4
+ mov sp,BSTACK_0
- ldr r2,[sp],#4
- mov r3,r6
- mov r4,#-1
- neg r1,r0
+ ldr BSTACK_2,[sp],#4
+ mov BSTACK_1,ASTACK_0
+ mov BSTACK_0,#-1
+ neg BSTACK_3,BSTACK_4
ldr lr,[sp],#4
orr lr,lr,#1
mov pc,lr
@@ -241,19 +242,19 @@ readFI:
@ .o 0 5 b r f
readFR:
- mov r4,sp
- bic r3,r4,#4
- mov sp,r3
- mov r0,r3
+ mov BSTACK_0,sp
+ bic BSTACK_1,BSTACK_0,#4
+ mov sp,BSTACK_1
+ mov BSTACK_4,BSTACK_1
sub sp,sp,#8
- mov r6,r3
- mov r1,sp
+ mov ASTACK_0,BSTACK_1
+ mov BSTACK_3,sp
bl file_read_real
vldr.f64 d0,[sp]
- mov sp,r4
- mov r3,r6
- mov r4,#-1
- neg r2,r0
+ mov sp,BSTACK_0
+ mov BSTACK_1,ASTACK_0
+ mov BSTACK_0,#-1
+ neg BSTACK_2,BSTACK_4
ldr lr,[sp],#4
orr lr,lr,#1
mov pc,lr
@@ -263,42 +264,42 @@ readFR:
@ .o 1 2 f
readFS:
- add r12,r4,#8+3
- subs r1,r5,r12,lsr #2
+ add SCRATCH_REG,BSTACK_0,#8+3
+ subs BSTACK_3,HEAP_FREE,SCRATCH_REG,lsr #2
blo readFS_gc
readFS_r_gc:
- laol r12,__STRING__+2,__STRING___o_2,0
- otoa r12,__STRING___o_2,0
- str r12,[r10]
- add r1,r10,#4
- str r4,[r10,#4]
- mov r0,r2
- mov r8,r2
- add r2,r10,#8
-
- mov r4,sp
- bic r3,r4,#4
- mov sp,r3
+ laol SCRATCH_REG,__STRING__+2,__STRING___o_2,0
+ otoa SCRATCH_REG,__STRING___o_2,0
+ str SCRATCH_REG,[HEAP_PTR]
+ add BSTACK_3,HEAP_PTR,#4
+ str BSTACK_0,[HEAP_PTR,#4]
+ mov BSTACK_4,BSTACK_2
+ mov ASTACK_2,BSTACK_2
+ add BSTACK_2,HEAP_PTR,#8
+
+ mov BSTACK_0,sp
+ bic BSTACK_1,BSTACK_0,#4
+ mov sp,BSTACK_1
bl file_read_characters
- mov sp,r4
- mov r3,r8
+ mov sp,BSTACK_0
+ mov BSTACK_1,ASTACK_2
readFS_end:
- add r2,r0,#8+3
- mov r6,r10
- and r2,r2,#-4
- add r10,r10,r2
- sub r5,r5,r2,lsr #2
- mov r4,#-1
+ add BSTACK_2,BSTACK_4,#8+3
+ mov ASTACK_0,HEAP_PTR
+ and BSTACK_2,BSTACK_2,#-4
+ add HEAP_PTR,HEAP_PTR,BSTACK_2
+ sub HEAP_FREE,HEAP_FREE,BSTACK_2,lsr #2
+ mov BSTACK_0,#-1
ldr lr,[sp],#4
orr lr,lr,#1
mov pc,lr
readFS_gc:
- mov r5,r1
+ mov HEAP_FREE,BSTACK_3
bl collect_0
- add r12,r4,#8+3
- add r5,r5,r12,lsr #2
+ add SCRATCH_REG,BSTACK_0,#8+3
+ add HEAP_FREE,HEAP_FREE,SCRATCH_REG,lsr #2
b readFS_r_gc
@ .d 1 4 i i f
@@ -306,38 +307,38 @@ readFS_gc:
@ .o 1 3 i f
readFString:
- ldr r0,[r6,#4]
- cmp r1,r0
+ ldr BSTACK_4,[ASTACK_0,#4]
+ cmp BSTACK_3,BSTACK_4
bhs readFString_error
- sub r0,r0,r1
- cmp r2,r0
+ sub BSTACK_4,BSTACK_4,BSTACK_3
+ cmp BSTACK_2,BSTACK_4
bhi readFString_error
- str r2,[sp,#-4]!
- add r2,r6,#8
- mov r0,r3
- mov r8,r3
- add r2,r2,r1
- mov r1,sp
+ str BSTACK_2,[sp,#-4]!
+ add BSTACK_2,ASTACK_0,#8
+ mov BSTACK_4,BSTACK_1
+ mov ASTACK_2,BSTACK_1
+ add BSTACK_2,BSTACK_2,BSTACK_3
+ mov BSTACK_3,sp
- mov r4,sp
- bic r3,r4,#4
- mov sp,r3
+ mov BSTACK_0,sp
+ bic BSTACK_1,BSTACK_0,#4
+ mov sp,BSTACK_1
bl file_read_characters
- mov sp,r4
- mov r3,r8
+ mov sp,BSTACK_0
+ mov BSTACK_1,ASTACK_2
- ldr r2,[sp],#4
+ ldr BSTACK_2,[sp],#4
- mov r4,#-1
+ mov BSTACK_0,#-1
ldr lr,[sp],#4
orr lr,lr,#1
mov pc,lr
readFString_error:
- lao r8,freadstring_error,0
- otoa r8,freadstring_error,0
+ lao ASTACK_2,freadstring_error,0
+ otoa ASTACK_2,freadstring_error,0
b print_error
@ .d 0 2 f
@@ -345,102 +346,102 @@ readFString_error:
@ .o 1 2 f
readLineF:
- subs r2,r5,#32+2
+ subs BSTACK_2,HEAP_FREE,#32+2
blo readLineF_gc
readLineF_r_gc:
- laol r12,__STRING__+2,__STRING___o_2,1
- otoa r12,__STRING___o_2,1
- add r2,r10,#8
- str r12,[r10]
- lsl r1,r5,#2
- mov r0,r3
- sub r1,r1,#8
- mov r7,r1
- mov r8,r3
- mov r4,sp
- bic r3,r4,#4
- mov sp,r3
+ laol SCRATCH_REG,__STRING__+2,__STRING___o_2,1
+ otoa SCRATCH_REG,__STRING___o_2,1
+ add BSTACK_2,HEAP_PTR,#8
+ str SCRATCH_REG,[HEAP_PTR]
+ lsl BSTACK_3,HEAP_FREE,#2
+ mov BSTACK_4,BSTACK_1
+ sub BSTACK_3,BSTACK_3,#8
+ mov ASTACK_1,BSTACK_3
+ mov ASTACK_2,BSTACK_1
+ mov BSTACK_0,sp
+ bic BSTACK_1,BSTACK_0,#4
+ mov sp,BSTACK_1
bl file_read_line
- mov sp,r4
- mov r3,r8
+ mov sp,BSTACK_0
+ mov BSTACK_1,ASTACK_2
- str r0,[r10,#4]
+ str BSTACK_4,[HEAP_PTR,#4]
- cmp r0,#0
+ cmp BSTACK_4,#0
bpl readFS_end
- mov r6,r10
+ mov ASTACK_0,HEAP_PTR
readLineF_again:
- str r7,[r6,#4]
+ str ASTACK_1,[ASTACK_0,#4]
- add r10,#8
- mov r5,#-(32+4)
- add r10,r10,r7
- sub r5,r5,r7,lsr #2
+ add HEAP_PTR,#8
+ mov HEAP_FREE,#-(32+4)
+ add HEAP_PTR,HEAP_PTR,ASTACK_1
+ sub HEAP_FREE,HEAP_FREE,ASTACK_1,lsr #2
bl collect_1
- ldr r4,[r6,#4]
- add r5,r5,#32+4
- add r11,r6,#8
+ ldr BSTACK_0,[ASTACK_0,#4]
+ add HEAP_FREE,HEAP_FREE,#32+4
+ add ASTACK_3,ASTACK_0,#8
- add r5,r5,r4,lsr #2
+ add HEAP_FREE,HEAP_FREE,BSTACK_0,lsr #2
- laol r12,__STRING__+2,__STRING___o_2,2
- otoa r12,__STRING___o_2,2
- mov r6,r10
- add r1,r10,r5,lsl #2
- str r12,[r10]
+ laol SCRATCH_REG,__STRING__+2,__STRING___o_2,2
+ otoa SCRATCH_REG,__STRING___o_2,2
+ mov ASTACK_0,HEAP_PTR
+ add BSTACK_3,HEAP_PTR,HEAP_FREE,lsl #2
+ str SCRATCH_REG,[HEAP_PTR]
- add r2,r4,#3
- lsr r2,r2,#2
+ add BSTACK_2,BSTACK_0,#3
+ lsr BSTACK_2,BSTACK_2,#2
- str r4,[r10,#4]
- add r10,r10,#8
+ str BSTACK_0,[HEAP_PTR,#4]
+ add HEAP_PTR,HEAP_PTR,#8
b st_copy_string1
copy_st_lp1:
- ldr r12,[r11],#4
- str r12,[r10],#4
+ ldr SCRATCH_REG,[ASTACK_3],#4
+ str SCRATCH_REG,[HEAP_PTR],#4
st_copy_string1:
- subs r2,r2,#1
+ subs BSTACK_2,BSTACK_2,#1
bcs copy_st_lp1
- mov r2,r10
- sub r1,r1,r10
- mov r0,r3
- mov r8,r3
+ mov BSTACK_2,HEAP_PTR
+ sub BSTACK_3,BSTACK_3,HEAP_PTR
+ mov BSTACK_4,BSTACK_1
+ mov ASTACK_2,BSTACK_1
- add r7,r1,r4
+ add ASTACK_1,BSTACK_3,BSTACK_0
- mov r4,sp
- bic r3,r4,#4
- mov sp,r3
+ mov BSTACK_0,sp
+ bic BSTACK_1,BSTACK_0,#4
+ mov sp,BSTACK_1
bl file_read_line
- mov sp,r4
- mov r3,r8
+ mov sp,BSTACK_0
+ mov BSTACK_1,ASTACK_2
- cmp r0,#0
+ cmp BSTACK_4,#0
bmi readLineF_again
- ldr r4,[r6,#4]
- add r4,r4,r0
- str r4,[r6,#4]
- add r12,r0,#3
- and r12,r12,#-4
- add r10,r10,r12
- add r12,r4,#8+3
- sub r5,r5,r12,lsr #2
- mov r4,#-1
+ ldr BSTACK_0,[ASTACK_0,#4]
+ add BSTACK_0,BSTACK_0,BSTACK_4
+ str BSTACK_0,[ASTACK_0,#4]
+ add SCRATCH_REG,BSTACK_4,#3
+ and SCRATCH_REG,SCRATCH_REG,#-4
+ add HEAP_PTR,HEAP_PTR,SCRATCH_REG
+ add SCRATCH_REG,BSTACK_0,#8+3
+ sub HEAP_FREE,HEAP_FREE,SCRATCH_REG,lsr #2
+ mov BSTACK_0,#-1
ldr lr,[sp],#4
orr lr,lr,#1
mov pc,lr
readLineF_gc:
- mov r5,r2
+ mov HEAP_FREE,BSTACK_2
bl collect_0
- add r5,r5,#32+2
+ add HEAP_FREE,HEAP_FREE,#32+2
b readLineF_r_gc
@ .d 0 3 i f
@@ -448,18 +449,18 @@ readLineF_gc:
@ .o 0 2 f
writeFC:
- mov r6,r3
- mov r1,r3
- mov r0,r2
+ mov ASTACK_0,BSTACK_1
+ mov BSTACK_3,BSTACK_1
+ mov BSTACK_4,BSTACK_2
- mov r4,sp
- bic r3,r4,#4
- mov sp,r3
+ mov BSTACK_0,sp
+ bic BSTACK_1,BSTACK_0,#4
+ mov sp,BSTACK_1
bl file_write_char
- mov sp,r4
+ mov sp,BSTACK_0
- mov r3,r6
- mov r4,#-1
+ mov BSTACK_1,ASTACK_0
+ mov BSTACK_0,#-1
ldr lr,[sp],#4
orr lr,lr,#1
mov pc,lr
@@ -469,18 +470,18 @@ writeFC:
@ .o 0 2 f
writeFI:
- mov r6,r3
- mov r1,r3
- mov r0,r2
+ mov ASTACK_0,BSTACK_1
+ mov BSTACK_3,BSTACK_1
+ mov BSTACK_4,BSTACK_2
- mov r4,sp
- bic r3,r4,#4
- mov sp,r3
+ mov BSTACK_0,sp
+ bic BSTACK_1,BSTACK_0,#4
+ mov sp,BSTACK_1
bl file_write_int
- mov sp,r4
+ mov sp,BSTACK_0
- mov r3,r6
- mov r4,#-1
+ mov BSTACK_1,ASTACK_0
+ mov BSTACK_0,#-1
ldr lr,[sp],#4
orr lr,lr,#1
mov pc,lr
@@ -490,17 +491,17 @@ writeFI:
@ .o 0 2 f
writeFR:
- mov r6,r3
- mov r0,r3
+ mov ASTACK_0,BSTACK_1
+ mov BSTACK_4,BSTACK_1
- mov r4,sp
- bic r3,r4,#4
- mov sp,r3
+ mov BSTACK_0,sp
+ bic BSTACK_1,BSTACK_0,#4
+ mov sp,BSTACK_1
bl file_write_real
- mov sp,r4
+ mov sp,BSTACK_0
- mov r3,r6
- mov r4,#-1
+ mov BSTACK_1,ASTACK_0
+ mov BSTACK_0,#-1
ldr lr,[sp],#4
orr lr,lr,#1
mov pc,lr
@@ -510,19 +511,19 @@ writeFR:
@ .o 0 2 f
writeFS:
- mov r2,r3
- ldr r1,[r6,#4]
- add r0,r6,#8
- mov r6,r3
-
- mov r4,sp
- bic r3,r4,#4
- mov sp,r3
+ mov BSTACK_2,BSTACK_1
+ ldr BSTACK_3,[ASTACK_0,#4]
+ add BSTACK_4,ASTACK_0,#8
+ mov ASTACK_0,BSTACK_1
+
+ mov BSTACK_0,sp
+ bic BSTACK_1,BSTACK_0,#4
+ mov sp,BSTACK_1
bl file_write_characters
- mov sp,r4
+ mov sp,BSTACK_0
- mov r3,r6
- mov r4,#-1
+ mov BSTACK_1,ASTACK_0
+ mov BSTACK_0,#-1
ldr lr,[sp],#4
orr lr,lr,#1
mov pc,lr
@@ -532,35 +533,35 @@ writeFS:
@ .o 0 2 f
writeFString:
- ldr r0,[r6,#4]
- cmp r1,r0
+ ldr BSTACK_4,[ASTACK_0,#4]
+ cmp BSTACK_3,BSTACK_4
bhs writeFString_error
- sub r0,r0,r1
- cmp r2,r0
+ sub BSTACK_4,BSTACK_4,BSTACK_3
+ cmp BSTACK_2,BSTACK_4
bhi writeFString_error
- mov r1,r2
- mov r2,r3
- add r0,r6,#8
- mov r6,r3
- add r0,r0,r1
+ mov BSTACK_3,BSTACK_2
+ mov BSTACK_2,BSTACK_1
+ add BSTACK_4,ASTACK_0,#8
+ mov ASTACK_0,BSTACK_1
+ add BSTACK_4,BSTACK_4,BSTACK_3
- mov r4,sp
- bic r3,r4,#4
- mov sp,r3
+ mov BSTACK_0,sp
+ bic BSTACK_1,BSTACK_0,#4
+ mov sp,BSTACK_1
bl file_write_characters
- mov sp,r4
+ mov sp,BSTACK_0
- mov r3,r6
- mov r4,#-1
+ mov BSTACK_1,ASTACK_0
+ mov BSTACK_0,#-1
ldr lr,[sp],#4
orr lr,lr,#1
mov pc,lr
writeFString_error:
- lao r8,fwritestring_error,0
- otoa r8,fwritestring_error,0
+ lao ASTACK_2,fwritestring_error,0
+ otoa ASTACK_2,fwritestring_error,0
b print_error
@ .d 0 2 f
@@ -568,18 +569,18 @@ writeFString_error:
@ .o 0 3 b f
endF:
- mov r0,r3
- mov r6,r3
+ mov BSTACK_4,BSTACK_1
+ mov ASTACK_0,BSTACK_1
- mov r4,sp
- bic r3,r4,#4
- mov sp,r3
+ mov BSTACK_0,sp
+ bic BSTACK_1,BSTACK_0,#4
+ mov sp,BSTACK_1
bl file_end
- mov sp,r4
+ mov sp,BSTACK_0
- neg r2,r0
- mov r3,r6
- mov r4,#-1
+ neg BSTACK_2,BSTACK_4
+ mov BSTACK_1,ASTACK_0
+ mov BSTACK_0,#-1
ldr lr,[sp],#4
orr lr,lr,#1
mov pc,lr
@@ -589,18 +590,18 @@ endF:
@ .o 0 3 b f
errorF:
- mov r0,r3
- mov r6,r3
+ mov BSTACK_4,BSTACK_1
+ mov ASTACK_0,BSTACK_1
- mov r4,sp
- bic r3,r4,#4
- mov sp,r3
+ mov BSTACK_0,sp
+ bic BSTACK_1,BSTACK_0,#4
+ mov sp,BSTACK_1
bl file_error
- mov sp,r4
+ mov sp,BSTACK_0
- neg r2,r0
- mov r3,r6
- mov r4,#-1
+ neg BSTACK_2,BSTACK_4
+ mov BSTACK_1,ASTACK_0
+ mov BSTACK_0,#-1
ldr lr,[sp],#4
orr lr,lr,#1
mov pc,lr
@@ -610,18 +611,18 @@ errorF:
@ .o 0 3 i f
positionF:
- mov r0,r3
- mov r6,r3
+ mov BSTACK_4,BSTACK_1
+ mov ASTACK_0,BSTACK_1
- mov r4,sp
- bic r3,r4,#4
- mov sp,r3
+ mov BSTACK_0,sp
+ bic BSTACK_1,BSTACK_0,#4
+ mov sp,BSTACK_1
bl file_position
- mov sp,r4
+ mov sp,BSTACK_0
- mov r2,r0
- mov r3,r6
- mov r4,#-1
+ mov BSTACK_2,BSTACK_4
+ mov BSTACK_1,ASTACK_0
+ mov BSTACK_0,#-1
ldr lr,[sp],#4
orr lr,lr,#1
mov pc,lr
@@ -631,20 +632,20 @@ positionF:
@ .o 0 3 b f
seekF:
- mov r0,r1
- mov r6,r1
- mov r1,r3
- mov r2,r4
-
- mov r4,sp
- bic r3,r4,#4
- mov sp,r3
+ mov BSTACK_4,BSTACK_3
+ mov ASTACK_0,BSTACK_3
+ mov BSTACK_3,BSTACK_1
+ mov BSTACK_2,BSTACK_0
+
+ mov BSTACK_0,sp
+ bic BSTACK_1,BSTACK_0,#4
+ mov sp,BSTACK_1
bl file_seek
- mov sp,r4
+ mov sp,BSTACK_0
- neg r2,r0
- mov r3,r6
- mov r4,#-1
+ neg BSTACK_2,BSTACK_4
+ mov BSTACK_1,ASTACK_0
+ mov BSTACK_0,#-1
ldr lr,[sp],#4
orr lr,lr,#1
mov pc,lr
@@ -654,17 +655,17 @@ seekF:
@ .o 0 2 f
shareF:
- mov r0,r1
- mov r6,r3
+ mov BSTACK_4,BSTACK_3
+ mov ASTACK_0,BSTACK_1
- mov r4,sp
- bic r3,r4,#4
- mov sp,r3
+ mov BSTACK_0,sp
+ bic BSTACK_1,BSTACK_0,#4
+ mov sp,BSTACK_1
bl file_share
- mov sp,r4
+ mov sp,BSTACK_0
- mov r3,r6
- mov r4,#-1
+ mov BSTACK_1,ASTACK_0
+ mov BSTACK_0,#-1
ldr lr,[sp],#4
orr lr,lr,#1
mov pc,lr
@@ -674,24 +675,24 @@ shareF:
@ .o 0 3 b f
openSF:
- mov r0,r4
- add r1,r6,#4
- mov r6,r3
+ mov BSTACK_4,BSTACK_0
+ add BSTACK_3,ASTACK_0,#4
+ mov ASTACK_0,BSTACK_1
- mov r4,sp
- bic r3,r4,#4
- mov sp,r3
+ mov BSTACK_0,sp
+ bic BSTACK_1,BSTACK_0,#4
+ mov sp,BSTACK_1
bl open_s_file
- mov sp,r4
+ mov sp,BSTACK_0
- cmp r0,#0
+ cmp BSTACK_4,#0
it mi
- movmi r2,#0
+ movmi BSTACK_2,#0
it pl
- movpl r2,#1
+ movpl BSTACK_2,#1
- mov r3,r6
- mov r4,#0
+ mov BSTACK_1,ASTACK_0
+ mov BSTACK_0,#0
ldr lr,[sp],#4
orr lr,lr,#1
mov pc,lr
@@ -701,32 +702,32 @@ openSF:
@ .o 0 4 b c f
readSFC:
- str r4,[sp,#-4]!
- mov r6,r3
- mov r1,sp
- mov r0,r3
-
- mov r4,sp
- bic r3,r4,#4
- mov sp,r3
+ str BSTACK_0,[sp,#-4]!
+ mov ASTACK_0,BSTACK_1
+ mov BSTACK_3,sp
+ mov BSTACK_4,BSTACK_1
+
+ mov BSTACK_0,sp
+ bic BSTACK_1,BSTACK_0,#4
+ mov sp,BSTACK_1
bl file_read_s_char
- mov sp,r4
+ mov sp,BSTACK_0
- ldr r4,[sp],#4
- mov r3,r6
+ ldr BSTACK_0,[sp],#4
+ mov BSTACK_1,ASTACK_0
- mov r2,r0
- cmp r0,#-1
+ mov BSTACK_2,BSTACK_4
+ cmp BSTACK_4,#-1
beq readSFC_eof
- mov r1,#1
+ mov BSTACK_3,#1
ldr lr,[sp],#4
orr lr,lr,#1
mov pc,lr
readSFC_eof:
- mov r2,#0
- mov r1,#0
+ mov BSTACK_2,#0
+ mov BSTACK_3,#0
ldr lr,[sp],#4
orr lr,lr,#1
mov pc,lr
@@ -736,23 +737,23 @@ readSFC_eof:
@ .o 0 4 b i f
readSFI:
- str r4,[sp,#-4]!
- mov r6,r3
- mov r2,sp
- sub r1,sp,#4
+ str BSTACK_0,[sp,#-4]!
+ mov ASTACK_0,BSTACK_1
+ mov BSTACK_2,sp
+ sub BSTACK_3,sp,#4
sub sp,sp,#4
- mov r0,r3
+ mov BSTACK_4,BSTACK_1
- mov r4,sp
- bic r3,r4,#4
- mov sp,r3
+ mov BSTACK_0,sp
+ bic BSTACK_1,BSTACK_0,#4
+ mov sp,BSTACK_1
bl file_read_s_int
- mov sp,r4
+ mov sp,BSTACK_0
- neg r1,r0
- ldr r2,[sp],#4
- mov r3,r6
- ldr r4,[sp],#4
+ neg BSTACK_3,BSTACK_4
+ ldr BSTACK_2,[sp],#4
+ mov BSTACK_1,ASTACK_0
+ ldr BSTACK_0,[sp],#4
ldr lr,[sp],#4
orr lr,lr,#1
mov pc,lr
@@ -762,23 +763,23 @@ readSFI:
@ .o 0 5 b r f
readSFR:
- str r4,[sp,#-4]!
- mov r6,r3
- mov r2,sp
-
- mov r4,sp
- bic r3,r4,#4
- mov sp,r3
- mov r0,r3
- sub r1,sp,#8
+ str BSTACK_0,[sp,#-4]!
+ mov ASTACK_0,BSTACK_1
+ mov BSTACK_2,sp
+
+ mov BSTACK_0,sp
+ bic BSTACK_1,BSTACK_0,#4
+ mov sp,BSTACK_1
+ mov BSTACK_4,BSTACK_1
+ sub BSTACK_3,sp,#8
sub sp,sp,#8
bl file_read_s_real
vldr.f64 d0,[sp]
- mov sp,r4
+ mov sp,BSTACK_0
- mov r3,r6
- ldr r4,[sp],#4
- neg r2,r0
+ mov BSTACK_1,ASTACK_0
+ ldr BSTACK_0,[sp],#4
+ neg BSTACK_2,BSTACK_4
ldr lr,[sp],#4
orr lr,lr,#1
mov pc,lr
@@ -788,45 +789,45 @@ readSFR:
@ .o 1 2 f
readSFS:
- add r12,r4,#8+3
- subs r2,r5,r12,lsr #2
+ add SCRATCH_REG,BSTACK_0,#8+3
+ subs BSTACK_2,HEAP_FREE,SCRATCH_REG,lsr #2
blo readSFS_gc
readSFS_r_gc:
- laol r12,__STRING__+2,__STRING___o_2,3
- otoa r12,__STRING___o_2,3
- str r12,[r10]
- mov r1,r4
- mov r0,r2
- mov r8,r2
- add r2,r10,#4
- str r3,[sp,#-4]!
- mov r3,sp
-
- mov r4,sp
- bic r3,r4,#4
- mov sp,r3
+ laol SCRATCH_REG,__STRING__+2,__STRING___o_2,3
+ otoa SCRATCH_REG,__STRING___o_2,3
+ str SCRATCH_REG,[HEAP_PTR]
+ mov BSTACK_3,BSTACK_0
+ mov BSTACK_4,BSTACK_2
+ mov ASTACK_2,BSTACK_2
+ add BSTACK_2,HEAP_PTR,#4
+ str BSTACK_1,[sp,#-4]!
+ mov BSTACK_1,sp
+
+ mov BSTACK_0,sp
+ bic BSTACK_1,BSTACK_0,#4
+ mov sp,BSTACK_1
bl file_read_s_string
- mov sp,r4
- mov r3,r8
+ mov sp,BSTACK_0
+ mov BSTACK_1,ASTACK_2
- ldr r4,[sp],#4
+ ldr BSTACK_0,[sp],#4
readSFS_end:
- add r2,r0,#8+3
- mov r6,r10
- and r2,r2,#-4
- add r10,r10,r2
- sub r5,r5,r2,lsr #2
+ add BSTACK_2,BSTACK_4,#8+3
+ mov ASTACK_0,HEAP_PTR
+ and BSTACK_2,BSTACK_2,#-4
+ add HEAP_PTR,HEAP_PTR,BSTACK_2
+ sub HEAP_FREE,HEAP_FREE,BSTACK_2,lsr #2
ldr lr,[sp],#4
orr lr,lr,#1
mov pc,lr
readSFS_gc:
- mov r5,r2
+ mov HEAP_FREE,BSTACK_2
bl collect_0
- add r12,r4,#8+3
- add r5,r5,r12,lsr #2
+ add SCRATCH_REG,BSTACK_0,#8+3
+ add HEAP_FREE,HEAP_FREE,SCRATCH_REG,lsr #2
b readSFS_r_gc
@ .d 0 2 f
@@ -834,107 +835,107 @@ readSFS_gc:
@ .o 1 2 f
readLineSF:
- subs r2,r5,#32+2
+ subs BSTACK_2,HEAP_FREE,#32+2
blo readLineSF_gc
readLineSF_r_gc:
- laol r12,__STRING__+2,__STRING___o_2,4
- otoa r12,__STRING___o_2,4
- add r2,r10,#8
- str r12,[r10]
- lsl r1,r5,#2
- mov r0,r3
- sub r1,r1,#8
- mov r7,r1
- mov r8,r3
- str r4,[sp,#-4]!
- mov r3,sp
- mov r4,sp
- bic r3,r4,#4
- mov sp,r3
+ laol SCRATCH_REG,__STRING__+2,__STRING___o_2,4
+ otoa SCRATCH_REG,__STRING___o_2,4
+ add BSTACK_2,HEAP_PTR,#8
+ str SCRATCH_REG,[HEAP_PTR]
+ lsl BSTACK_3,HEAP_FREE,#2
+ mov BSTACK_4,BSTACK_1
+ sub BSTACK_3,BSTACK_3,#8
+ mov ASTACK_1,BSTACK_3
+ mov ASTACK_2,BSTACK_1
+ str BSTACK_0,[sp,#-4]!
+ mov BSTACK_1,sp
+ mov BSTACK_0,sp
+ bic BSTACK_1,BSTACK_0,#4
+ mov sp,BSTACK_1
bl file_read_s_line
- mov sp,r4
- mov r3,r8
- ldr r4,[sp],#4
+ mov sp,BSTACK_0
+ mov BSTACK_1,ASTACK_2
+ ldr BSTACK_0,[sp],#4
- str r0,[r10,#4]
+ str BSTACK_4,[HEAP_PTR,#4]
- cmp r0,#0
+ cmp BSTACK_4,#0
bpl readSFS_end
- mov r6,r10
+ mov ASTACK_0,HEAP_PTR
readLineSF_again:
- str r7,[r6,#4]
+ str ASTACK_1,[ASTACK_0,#4]
- add r10,#8
- mov r5,#-(32+4)
- add r10,r10,r7
- sub r5,r5,r7,lsr #2
+ add HEAP_PTR,#8
+ mov HEAP_FREE,#-(32+4)
+ add HEAP_PTR,HEAP_PTR,ASTACK_1
+ sub HEAP_FREE,HEAP_FREE,ASTACK_1,lsr #2
bl collect_1
- ldr r2,[r6,#4]
- add r5,r5,#32+4
- add r11,r6,#8
+ ldr BSTACK_2,[ASTACK_0,#4]
+ add HEAP_FREE,HEAP_FREE,#32+4
+ add ASTACK_3,ASTACK_0,#8
- add r5,r5,r2,lsr #2
+ add HEAP_FREE,HEAP_FREE,BSTACK_2,lsr #2
- laol r12,__STRING__+2,__STRING___o_2,5
- otoa r12,__STRING___o_2,5
- add r1,r10,r5,lsl #2
- str r12,[r10]
+ laol SCRATCH_REG,__STRING__+2,__STRING___o_2,5
+ otoa SCRATCH_REG,__STRING___o_2,5
+ add BSTACK_3,HEAP_PTR,HEAP_FREE,lsl #2
+ str SCRATCH_REG,[HEAP_PTR]
- add r6,r2,#3
- lsr r6,r6,#2
+ add ASTACK_0,BSTACK_2,#3
+ lsr ASTACK_0,ASTACK_0,#2
- str r2,[r10,#4]
- add r10,r10,#8
+ str BSTACK_2,[HEAP_PTR,#4]
+ add HEAP_PTR,HEAP_PTR,#8
b st_copy_string2
copy_st_lp2:
- ldr r12,[r11],#4
- str r12,[r10],#4
+ ldr SCRATCH_REG,[ASTACK_3],#4
+ str SCRATCH_REG,[HEAP_PTR],#4
st_copy_string2:
- subs r6,r6,#1
+ subs ASTACK_0,ASTACK_0,#1
bcs copy_st_lp2
- sub r1,r1,r10
- mov r0,r3
- mov r8,r3
-
- add r7,r1,r2
- mov r2,r10
- str r4,[sp,#-4]!
- mov r3,sp
- mov r4,sp
- bic r3,r4,#4
- mov sp,r3
+ sub BSTACK_3,BSTACK_3,HEAP_PTR
+ mov BSTACK_4,BSTACK_1
+ mov ASTACK_2,BSTACK_1
+
+ add ASTACK_1,BSTACK_3,BSTACK_2
+ mov BSTACK_2,HEAP_PTR
+ str BSTACK_0,[sp,#-4]!
+ mov BSTACK_1,sp
+ mov BSTACK_0,sp
+ bic BSTACK_1,BSTACK_0,#4
+ mov sp,BSTACK_1
bl file_read_s_line
- mov sp,r4
- mov r3,r8
- ldr r4,[sp],#4
+ mov sp,BSTACK_0
+ mov BSTACK_1,ASTACK_2
+ ldr BSTACK_0,[sp],#4
- ldr r6,[sp],#4
+ ldr ASTACK_0,[sp],#4
- cmp r0,#0
+ cmp BSTACK_4,#0
bmi readLineSF_again
- ldr r2,[r6,#4]
- add r2,r2,r0
- str r2,[r6,#4]
- add r12,r0,#3
- and r12,r12,#-4
- add r10,r10,r12
- add r12,r2,#8+3
- sub r5,r5,r12,lsr #2
+ ldr BSTACK_2,[ASTACK_0,#4]
+ add BSTACK_2,BSTACK_2,BSTACK_4
+ str BSTACK_2,[ASTACK_0,#4]
+ add SCRATCH_REG,BSTACK_4,#3
+ and SCRATCH_REG,SCRATCH_REG,#-4
+ add HEAP_PTR,HEAP_PTR,SCRATCH_REG
+ add SCRATCH_REG,BSTACK_2,#8+3
+ sub HEAP_FREE,HEAP_FREE,SCRATCH_REG,lsr #2
ldr lr,[sp],#4
orr lr,lr,#1
mov pc,lr
readLineSF_gc:
- mov r5,r2
+ mov HEAP_FREE,BSTACK_2
bl collect_0
- add r5,r5,#32+2
+ add HEAP_FREE,HEAP_FREE,#32+2
b readLineSF_r_gc
@ .d 0 2 f
@@ -942,16 +943,16 @@ readLineSF_gc:
@ .o 0 1 b
endSF:
- mov r1,r4
- mov r0,r3
+ mov BSTACK_3,BSTACK_0
+ mov BSTACK_4,BSTACK_1
- mov r4,sp
- bic r3,r4,#4
- mov sp,r3
+ mov BSTACK_0,sp
+ bic BSTACK_1,BSTACK_0,#4
+ mov sp,BSTACK_1
bl file_s_end
- mov sp,r4
+ mov sp,BSTACK_0
- neg r4,r0
+ neg BSTACK_0,BSTACK_4
ldr lr,[sp],#4
orr lr,lr,#1
mov pc,lr
@@ -961,16 +962,16 @@ endSF:
@ .o 0 1 i
positionSF:
- mov r1,r4
- mov r0,r3
+ mov BSTACK_3,BSTACK_0
+ mov BSTACK_4,BSTACK_1
- mov r4,sp
- bic r3,r4,#4
- mov sp,r3
+ mov BSTACK_0,sp
+ bic BSTACK_1,BSTACK_0,#4
+ mov sp,BSTACK_1
bl file_s_position
- mov sp,r4
+ mov sp,BSTACK_0
- mov r4,r0
+ mov BSTACK_0,BSTACK_4
ldr lr,[sp],#4
orr lr,lr,#1
mov pc,lr
@@ -980,22 +981,22 @@ positionSF:
@ .o 0 3 b f
seekSF:
- str r4,[sp,#-4]!
- mov r6,r3
- mov r0,r3
-@ mov r1,r1
-@ mov r2,r2
- mov r3,sp
+ str BSTACK_0,[sp,#-4]!
+ mov ASTACK_0,BSTACK_1
+ mov BSTACK_4,BSTACK_1
+@ mov BSTACK_3,BSTACK_3
+@ mov BSTACK_2,BSTACK_2
+ mov BSTACK_1,sp
- mov r4,sp
- bic r3,r4,#4
- mov sp,r3
+ mov BSTACK_0,sp
+ bic BSTACK_1,BSTACK_0,#4
+ mov sp,BSTACK_1
bl file_s_seek
- mov sp,r4
+ mov sp,BSTACK_0
- neg r2,r0
- ldr r4,[sp],#4
- mov r3,r6
+ neg BSTACK_2,BSTACK_4
+ ldr BSTACK_0,[sp],#4
+ mov BSTACK_1,ASTACK_0
ldr lr,[sp],#4
orr lr,lr,#1
mov pc,lr