BR 2172659: Fix incorrect output value for byte operands
authorH. Peter Anvin <hpa@zytor.com>
Thu, 16 Oct 2008 20:01:43 +0000 (13:01 -0700)
committerH. Peter Anvin <hpa@zytor.com>
Thu, 16 Oct 2008 20:01:43 +0000 (13:01 -0700)
A typo in checkin c1377e9a98dd5ca6f7900c048df5d346d1733d05 caused a
bunch of signed-byte immediates to incorrectly be issued as zero.

Signed-off-by: H. Peter Anvin <hpa@zytor.com>
assemble.c

index 0550d95..aade9d4 100644 (file)
@@ -1534,11 +1534,11 @@ static void gencode(int32_t segment, int64_t offset, int bits,
                        "signed byte value exceeds bounds");
            }
             if (opx->segment != NO_SEG) {
-                data = um;
+                data = uv;
                 out(offset, segment, &data, OUT_ADDRESS, 1,
                     opx->segment, opx->wrt);
             } else {
-                bytes[0] = um;
+                bytes[0] = uv;
                 out(offset, segment, bytes, OUT_RAWDATA, 1, NO_SEG,
                     NO_SEG);
             }