summaryrefslogtreecommitdiff
path: root/utils/5l/asm.c
diff options
context:
space:
mode:
authorCharles.Forsyth <devnull@localhost>2007-07-20 10:01:29 +0000
committerCharles.Forsyth <devnull@localhost>2007-07-20 10:01:29 +0000
commit1d57330697a7bd2457a0351286e7a524f3d73f6e (patch)
tree08693d434c22804974e68a74317e6cf58c281196 /utils/5l/asm.c
parenta92cbc54f1d6686990c66d7757caecbd9d6bce9a (diff)
20070720-1101
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;