diff options
author | Araq <rumpf_a@web.de> | 2014-03-27 19:20:59 +0100 |
---|---|---|
committer | Araq <rumpf_a@web.de> | 2014-03-27 19:20:59 +0100 |
commit | 3365b42bbe5e09f8e8a739597ae5e49e2ff2c259 (patch) | |
tree | 4d8ded5ab336ab4a3e07679dbc1ddd1d1cf5fbd0 /compiler/vmgen.nim | |
parent | dc956c485aa9d8becd3d9eb3c2086ebac3b6eeed (diff) | |
download | Nim-3365b42bbe5e09f8e8a739597ae5e49e2ff2c259.tar.gz |
fixes #1009
Diffstat (limited to 'compiler/vmgen.nim')
-rw-r--r-- | compiler/vmgen.nim | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/compiler/vmgen.nim b/compiler/vmgen.nim index e627fee48..3c0f8dbc9 100644 --- a/compiler/vmgen.nim +++ b/compiler/vmgen.nim @@ -41,7 +41,14 @@ proc codeListing(c: PCtx, result: var string, start=0) = let x = c.code[i] let opc = opcode(x) - if opc < firstABxInstr: + if opc in {opcConv, opcCast}: + let y = c.code[i+1] + let z = c.code[i+2] + result.addf("\t$#\tr$#, r$#, $#, $#", ($opc).substr(3), x.regA, x.regB, + c.types[y.regBx-wordExcess].typeToString, + c.types[z.regBx-wordExcess].typeToString) + inc i, 2 + elif opc < firstABxInstr: result.addf("\t$#\tr$#, r$#, r$#", ($opc).substr(3), x.regA, x.regB, x.regC) elif opc in relativeJumps: |