summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorVictor van den Elzen <victor.vde@gmail.com>2008-09-11 13:14:23 +0200
committerVictor van den Elzen <victor.vde@gmail.com>2008-09-11 13:14:23 +0200
commit28f463463442010dff5dce13d07962f241faf1f5 (patch)
tree40f482fe77d4acb5e71aed7f7b966bcd408285ae
parent233c4945b1e4e78c5a9efed9d0ce196805e12af0 (diff)
downloadnasm-28f463463442010dff5dce13d07962f241faf1f5.tar.gz
Remove obsolete ROL-EQU hack
Now that there is proper forward reference resolution, we can get rid of this junk. Wiping the flags also removed the SBYTEnn flags, causing cmp eax, a-b a: nop b: to assemble with -Ox like cmp eax, strict dword -1 This is now fixed.
-rw-r--r--nasm.c29
-rw-r--r--[-rwxr-xr-x]test/_version.asm0
-rw-r--r--[-rwxr-xr-x]test/macro-defaults.asm0
3 files changed, 0 insertions, 29 deletions
diff --git a/nasm.c b/nasm.c
index 198d4bb6..8a689e45 100644
--- a/nasm.c
+++ b/nasm.c
@@ -1524,36 +1524,7 @@ static void assemble_file(char *fname, StrList **depend_ptr)
fwinf->operand = i;
}
}
- } else { /* passn > 1 */
- /*
- * Hack to prevent phase error in the code
- * rol ax,x
- * x equ 1
- *
- * If the second operand is a forward reference,
- * the UNITY property of the number 1 in that
- * operand is cancelled. Otherwise the above
- * sequence will cause a phase error.
- *
- * This hack means that the above code will
- * generate 286+ code.
- *
- * The forward reference will mean that the
- * operand will not have the UNITY property on
- * the first pass, so the pass behaviours will
- * be consistent.
- */
-
- if (output_ins.operands >= 2 &&
- (output_ins.oprs[1].opflags & OPFLAG_FORWARD) &&
- !(IMMEDIATE & ~output_ins.oprs[1].type))
- {
- /* Remove special properties bits */
- output_ins.oprs[1].type &= ~REG_SMASK;
- }
-
}
-
}
/* forw_ref */
diff --git a/test/_version.asm b/test/_version.asm
index 4c89a859..4c89a859 100755..100644
--- a/test/_version.asm
+++ b/test/_version.asm
diff --git a/test/macro-defaults.asm b/test/macro-defaults.asm
index 17b1624b..17b1624b 100755..100644
--- a/test/macro-defaults.asm
+++ b/test/macro-defaults.asm