summaryrefslogtreecommitdiff
path: root/utils/5l/asm.c
diff options
context:
space:
mode:
Diffstat (limited to 'utils/5l/asm.c')
-rw-r--r--utils/5l/asm.c8
1 files changed, 6 insertions, 2 deletions
diff --git a/utils/5l/asm.c b/utils/5l/asm.c
index 2893b293..415fcc41 100644
--- a/utils/5l/asm.c
+++ b/utils/5l/asm.c
@@ -747,7 +747,9 @@ if(debug['G']) print("%ulx: %s: arm %d %d %d %d\n", (ulong)(p->pc), p->from.sym-
r = p->reg;
if(p->to.type == D_NONE)
rt = 0;
- if(r == NREG)
+ if(p->as == AMOVW)
+ r = 0;
+ else if(r == NREG)
r = rt;
o1 |= rf | (r<<16) | (rt<<12);
break;
@@ -776,7 +778,9 @@ if(debug['G']) print("%ulx: %s: arm %d %d %d %d\n", (ulong)(p->pc), p->from.sym-
r = p->reg;
if(p->to.type == D_NONE)
rt = 0;
- if(r == NREG)
+ if(p->as == AMOVW)
+ r = 0;
+ else if(r == NREG)
r = rt;
o1 |= (r<<16) | (rt<<12);
break;