summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorKaz Kylheku <kaz@kylheku.com>2018-04-18 20:25:22 -0700
committerKaz Kylheku <kaz@kylheku.com>2018-04-18 20:25:22 -0700
commit797c29f0d2b186dc78bcbe58f88e2336e349271d (patch)
tree578c89a26b52910d876501d77959744a016a1c66
parent167d6231e3cb6a4be4c84c302bdc888163bc5d97 (diff)
downloadtxr-797c29f0d2b186dc78bcbe58f88e2336e349271d.tar.gz
txr-797c29f0d2b186dc78bcbe58f88e2336e349271d.tar.bz2
txr-797c29f0d2b186dc78bcbe58f88e2336e349271d.zip
asm: disassembler v-reg regression.
* share/txr/stdlib/asm.tl (operand-to-sym): To form v registers, we must subtract 2 from the level, not add. (operand-to-exp): Bug was propagated to this new function, too.
-rw-r--r--share/txr/stdlib/asm.tl4
1 files changed, 2 insertions, 2 deletions
diff --git a/share/txr/stdlib/asm.tl b/share/txr/stdlib/asm.tl
index ed7ae1a0..edf0b67a 100644
--- a/share/txr/stdlib/asm.tl
+++ b/share/txr/stdlib/asm.tl
@@ -283,7 +283,7 @@
nil
(intern (fmt "t~,02X" ix))))
(1 (intern (fmt "d~,02X" ix)))
- (t (intern (fmt "v~,02X~,03X" (ssucc lv) ix))))))
+ (t (intern (fmt "v~,02X~,03X" (ppred lv) ix))))))
(defun operand-to-exp (val)
(with-lev-idx (lv ix) val
@@ -292,7 +292,7 @@
nil
^(t ,ix)))
(1 ^(d ,ix))
- (t ^(v ,lv ,ix)))))
+ (t ^(v ,(ppred lv) ,ix)))))
(defun bits-to-obj (bits width)
(let ((tag (logtrunc bits 2))