diff options
Diffstat (limited to 'thumb2fileIO3.s')
-rw-r--r-- | thumb2fileIO3.s | 128 |
1 files changed, 96 insertions, 32 deletions
diff --git a/thumb2fileIO3.s b/thumb2fileIO3.s index da498ae..9981e61 100644 --- a/thumb2fileIO3.s +++ b/thumb2fileIO3.s @@ -99,7 +99,9 @@ stdioF: mov r3,r0
mov r4,#-1
- ldr pc,[sp],#4
+ ldr lr,[sp],#4
+ orr lr,lr,#1
+ mov pc,lr
@ .d 0 0
@ jsr stderrF
@@ -114,7 +116,9 @@ stderrF: mov r3,r0
mov r4,#-1
- ldr pc,[sp],#4
+ ldr lr,[sp],#4
+ orr lr,lr,#1
+ mov pc,lr
@ .d 1 1 i
@ jsr openF
@@ -136,7 +140,9 @@ openF: movmi r2,#0
it pl
movpl r2,#1
- ldr pc,[sp],#4
+ ldr lr,[sp],#4
+ orr lr,lr,#1
+ mov pc,lr
@ .d 0 2 f
@ jsr closeF
@@ -150,7 +156,9 @@ closeF: bl close_file
mov sp,r4
mov r4,r0
- ldr pc,[sp],#4
+ ldr lr,[sp],#4
+ orr lr,lr,#1
+ mov pc,lr
@ .d 0 3 f i
@ jsr reopenF
@@ -169,7 +177,9 @@ reopenF: neg r2,r0
mov r3,r6
mov r4,#-1
- ldr pc,[sp],#4
+ ldr lr,[sp],#4
+ orr lr,lr,#1
+ mov pc,lr
@ .d 0 2 f
@ jsr readFC
@@ -191,12 +201,16 @@ readFC: mov r2,r0
mov r1,#1
- ldr pc,[sp],#4
+ ldr lr,[sp],#4
+ orr lr,lr,#1
+ mov pc,lr
readFC_eof:
mov r2,#0
mov r3,#0
- ldr pc,[sp],#4
+ ldr lr,[sp],#4
+ orr lr,lr,#1
+ mov pc,lr
@ .d 0 2 f
@ jsr readFI
@@ -218,7 +232,9 @@ readFI: mov r3,r6
mov r4,#-1
neg r1,r0
- ldr pc,[sp],#4
+ ldr lr,[sp],#4
+ orr lr,lr,#1
+ mov pc,lr
@ .d 0 2 f
@ jsr readFR
@@ -238,7 +254,9 @@ readFR: mov r3,r6
mov r4,#-1
neg r2,r0
- ldr pc,[sp],#4
+ ldr lr,[sp],#4
+ orr lr,lr,#1
+ mov pc,lr
@ .d 0 3 f i
@ jsr readFS
@@ -272,7 +290,9 @@ readFS_end: add r10,r10,r2
sub r5,r5,r2,lsr #2
mov r4,#-1
- ldr pc,[sp],#4
+ ldr lr,[sp],#4
+ orr lr,lr,#1
+ mov pc,lr
readFS_gc:
mov r5,r1
@@ -311,7 +331,9 @@ readFString: ldr r2,[sp],#4
mov r4,#-1
- ldr pc,[sp],#4
+ ldr lr,[sp],#4
+ orr lr,lr,#1
+ mov pc,lr
readFString_error:
lao r8,freadstring_error,0
@@ -411,7 +433,9 @@ st_copy_string1: add r12,r4,#8+3
sub r5,r5,r12,lsr #2
mov r4,#-1
- ldr pc,[sp],#4
+ ldr lr,[sp],#4
+ orr lr,lr,#1
+ mov pc,lr
readLineF_gc:
mov r5,r2
@@ -436,7 +460,9 @@ writeFC: mov r3,r6
mov r4,#-1
- ldr pc,[sp],#4
+ ldr lr,[sp],#4
+ orr lr,lr,#1
+ mov pc,lr
@ .d 0 3 i f
@ jsr writeFI
@@ -455,7 +481,9 @@ writeFI: mov r3,r6
mov r4,#-1
- ldr pc,[sp],#4
+ ldr lr,[sp],#4
+ orr lr,lr,#1
+ mov pc,lr
@ .d 0 4 r f
@ jsr writeFR
@@ -473,7 +501,9 @@ writeFR: mov r3,r6
mov r4,#-1
- ldr pc,[sp],#4
+ ldr lr,[sp],#4
+ orr lr,lr,#1
+ mov pc,lr
@ .d 1 2 f
@ jsr writeFS
@@ -493,7 +523,9 @@ writeFS: mov r3,r6
mov r4,#-1
- ldr pc,[sp],#4
+ ldr lr,[sp],#4
+ orr lr,lr,#1
+ mov pc,lr
@ .d 1 4 i i f
@ jsr writeFString
@@ -522,7 +554,9 @@ writeFString: mov r3,r6
mov r4,#-1
- ldr pc,[sp],#4
+ ldr lr,[sp],#4
+ orr lr,lr,#1
+ mov pc,lr
writeFString_error:
lao r8,fwritestring_error,0
@@ -546,7 +580,9 @@ endF: neg r2,r0
mov r3,r6
mov r4,#-1
- ldr pc,[sp],#4
+ ldr lr,[sp],#4
+ orr lr,lr,#1
+ mov pc,lr
@ .d 0 2 f
@ jsr errorF
@@ -565,7 +601,9 @@ errorF: neg r2,r0
mov r3,r6
mov r4,#-1
- ldr pc,[sp],#4
+ ldr lr,[sp],#4
+ orr lr,lr,#1
+ mov pc,lr
@ .d 0 2 f
@ jsr positionF
@@ -584,7 +622,9 @@ positionF: mov r2,r0
mov r3,r6
mov r4,#-1
- ldr pc,[sp],#4
+ ldr lr,[sp],#4
+ orr lr,lr,#1
+ mov pc,lr
@ .d 0 4 f i i
@ jsr seekF
@@ -605,7 +645,9 @@ seekF: neg r2,r0
mov r3,r6
mov r4,#-1
- ldr pc,[sp],#4
+ ldr lr,[sp],#4
+ orr lr,lr,#1
+ mov pc,lr
@ .d 0 2 f
@ jsr shareF
@@ -623,7 +665,9 @@ shareF: mov r3,r6
mov r4,#-1
- ldr pc,[sp],#4
+ ldr lr,[sp],#4
+ orr lr,lr,#1
+ mov pc,lr
@ .d 1 1 i
@ jsr openSF
@@ -648,7 +692,9 @@ openSF: mov r3,r6
mov r4,#0
- ldr pc,[sp],#4
+ ldr lr,[sp],#4
+ orr lr,lr,#1
+ mov pc,lr
@ .d 0 2 f
@ jsr readSFC
@@ -674,12 +720,16 @@ readSFC: beq readSFC_eof
mov r1,#1
- ldr pc,[sp],#4
+ ldr lr,[sp],#4
+ orr lr,lr,#1
+ mov pc,lr
readSFC_eof:
mov r2,#0
mov r1,#0
- ldr pc,[sp],#4
+ ldr lr,[sp],#4
+ orr lr,lr,#1
+ mov pc,lr
@ .d 0 2 f
@ jsr readSFI
@@ -703,7 +753,9 @@ readSFI: ldr r2,[sp],#4
mov r3,r6
ldr r4,[sp],#4
- ldr pc,[sp],#4
+ ldr lr,[sp],#4
+ orr lr,lr,#1
+ mov pc,lr
@ .d 0 2 f
@ jsr readSFR
@@ -727,7 +779,9 @@ readSFR: mov r3,r6
ldr r4,[sp],#4
neg r2,r0
- ldr pc,[sp],#4
+ ldr lr,[sp],#4
+ orr lr,lr,#1
+ mov pc,lr
@ .d 0 3 f i
@ jsr readSFS
@@ -764,7 +818,9 @@ readSFS_end: and r2,r2,#-4
add r10,r10,r2
sub r5,r5,r2,lsr #2
- ldr pc,[sp],#4
+ ldr lr,[sp],#4
+ orr lr,lr,#1
+ mov pc,lr
readSFS_gc:
mov r5,r2
@@ -871,7 +927,9 @@ st_copy_string2: add r10,r10,r12
add r12,r2,#8+3
sub r5,r5,r12,lsr #2
- ldr pc,[sp],#4
+ ldr lr,[sp],#4
+ orr lr,lr,#1
+ mov pc,lr
readLineSF_gc:
mov r5,r2
@@ -894,7 +952,9 @@ endSF: mov sp,r4
neg r4,r0
- ldr pc,[sp],#4
+ ldr lr,[sp],#4
+ orr lr,lr,#1
+ mov pc,lr
@ .d 0 2 f
@ jsr positionSF
@@ -911,7 +971,9 @@ positionSF: mov sp,r4
mov r4,r0
- ldr pc,[sp],#4
+ ldr lr,[sp],#4
+ orr lr,lr,#1
+ mov pc,lr
@ .d 0 4 f i i
@ jsr seekSF
@@ -934,7 +996,9 @@ seekSF: neg r2,r0
ldr r4,[sp],#4
mov r3,r6
- ldr pc,[sp],#4
+ ldr lr,[sp],#4
+ orr lr,lr,#1
+ mov pc,lr
.ifdef PIC
lto freadstring_error,0
|