From 355c7daa2cfc3a6b29f72376dcea6a3976a8695f Mon Sep 17 00:00:00 2001 From: Camil Staps Date: Sat, 26 Nov 2016 13:44:41 +0000 Subject: monster commit: replace all registers with aliases to ease optimisation --- thumb2fileIO3.s | 907 ++++++++++++++++++++++++++++---------------------------- 1 file changed, 454 insertions(+), 453 deletions(-) (limited to 'thumb2fileIO3.s') 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 -- cgit v1.2.3