diff options
| author | Charles.Forsyth <devnull@localhost> | 2007-07-20 10:54:02 +0000 |
|---|---|---|
| committer | Charles.Forsyth <devnull@localhost> | 2007-07-20 10:54:02 +0000 |
| commit | 883d21c336a3d0c520bc0fe58d55632e2ce935de (patch) | |
| tree | 1f180fccf2e609ce3731c99a7b9de615376ec326 /utils/5l | |
| parent | 1d57330697a7bd2457a0351286e7a524f3d73f6e (diff) | |
20070720-1153
Diffstat (limited to 'utils/5l')
| -rw-r--r-- | utils/5l/asm.c | 10 |
1 files changed, 6 insertions, 4 deletions
diff --git a/utils/5l/asm.c b/utils/5l/asm.c index 415fcc41..66a7f0c6 100644 --- a/utils/5l/asm.c +++ b/utils/5l/asm.c @@ -747,7 +747,7 @@ 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(p->as == AMOVW) + if(p->as == AMOVW || p->as == AMVN) r = 0; else if(r == NREG) r = rt; @@ -762,7 +762,7 @@ 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(p->as == AMOVW) + if(p->as == AMOVW || p->as == AMVN) r = 0; else if(r == NREG) r = rt; @@ -778,7 +778,7 @@ 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(p->as == AMOVW) + if(p->as == AMOVW || p->as == AMVN) r = 0; else if(r == NREG) r = rt; @@ -891,7 +891,9 @@ if(debug['G']) print("%ulx: %s: arm %d %d %d %d\n", (ulong)(p->pc), p->from.sym- o2 = oprrr(p->as, p->scond); o2 |= REGTMP; r = p->reg; - if(r == NREG) + if(p->as == AMOVW || p->as == AMVN) + r = 0; + else if(r == NREG) r = p->to.reg; o2 |= r << 16; if(p->to.type != D_NONE) |
