summaryrefslogtreecommitdiff
path: root/nasm.c
diff options
context:
space:
mode:
authorH. Peter Anvin <hpa@zytor.com>2007-05-29 23:57:12 +0000
committerH. Peter Anvin <hpa@zytor.com>2007-05-29 23:57:12 +0000
commit5a640e11619ce553041b4ea595fd1d059c17b9fc (patch)
tree08af9f637cd1a9ff9fdac6585261d7259aeda85e /nasm.c
parent7a83374a9cc3f649187565431afa77c5d77d5508 (diff)
downloadnasm-5a640e11619ce553041b4ea595fd1d059c17b9fc.tar.gz
nasm-5a640e11619ce553041b4ea595fd1d059c17b9fc.tar.bz2
nasm-5a640e11619ce553041b4ea595fd1d059c17b9fc.zip
Clean up the existing operand flag definitions, and document
Diffstat (limited to 'nasm.c')
-rw-r--r--nasm.c9
1 files changed, 5 insertions, 4 deletions
diff --git a/nasm.c b/nasm.c
index a6c3d2f..5949992 100644
--- a/nasm.c
+++ b/nasm.c
@@ -1123,10 +1123,11 @@ static void assemble_file(char *fname)
*/
if (output_ins.operands >= 2 &&
- (output_ins.oprs[1].opflags & OPFLAG_FORWARD))
- {
- output_ins.oprs[1].type &=
- ~(ONENESS | BYTENESS);
+ (output_ins.oprs[1].opflags & OPFLAG_FORWARD) &&
+ !(IMMEDIATE & ~output_ins.oprs[1].type))
+ {
+ /* Remove special properties bits */
+ output_ins.oprs[1].type &= ~REG_SMASK;
}
} /* pass == 2 */