summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--thumb2compact.s3
-rw-r--r--thumb2mark.s3
-rw-r--r--thumb2startup.s3
3 files changed, 6 insertions, 3 deletions
diff --git a/thumb2compact.s b/thumb2compact.s
index 517c29a..ac79a79 100644
--- a/thumb2compact.s
+++ b/thumb2compact.s
@@ -710,7 +710,8 @@ not_linked_record_argument_part_3_b:
lsr r8,r8,#2
mov r12,#1
- mvn r8,r12,lsl r8
+ lsl r12,r8
+ mvn r8,r12
ldr r12,[r3,r4,lsl #2]
and r12,r12,r8
diff --git a/thumb2mark.s b/thumb2mark.s
index 0ad6930..a4168c8 100644
--- a/thumb2mark.s
+++ b/thumb2mark.s
@@ -102,7 +102,8 @@ restore_arrays:
lsr r3,r3,r12
sub r8,r8,#1
add r8,r8,r8
- ldr r8,[pc,r8]
+ add r12,pc,#0
+ ldr r8,[r12,r8]
b skip_mod_inverse_table
.word 1
diff --git a/thumb2startup.s b/thumb2startup.s
index b66a5a5..a3098df 100644
--- a/thumb2startup.s
+++ b/thumb2startup.s
@@ -2055,7 +2055,8 @@ collect:
lao r12,halt_sp,2
ldo r4,r12,halt_sp,2
- sub r0,r4,sp
+ add r0,sp,#0
+ sub r0,r4,r0
bl ew_print_int
lao r0,garbage_collect_string_3,0