changeset 793:f6dd817060fc

Attempt at fixing #126.
author Christian Kamm <kamm incasoftware de>
date Thu, 27 Nov 2008 18:31:09 +0100
parents ec5981aba609
children 661384d6a936
files gen/asm-x86-32.h gen/asm-x86-64.h
diffstat 2 files changed, 2 insertions(+), 2 deletions(-) [+]
line wrap: on
line diff
--- a/gen/asm-x86-32.h	Thu Nov 27 17:43:20 2008 +0100
+++ b/gen/asm-x86-32.h	Thu Nov 27 18:31:09 2008 +0100
@@ -1926,7 +1926,7 @@
 		}
 		if (use_star)
 		    insnTemplate->writebyte('*');
-		if (operand->constDisplacement) {
+		if (operand->segmentPrefix != Reg_Invalid || operand->constDisplacement) {
 		    if (operand->symbolDisplacement.dim)
 			insnTemplate->writebyte('+');
 		    //addOperand(fmt, Arg_Integer, newIntExp(operand->constDisplacement), asmcode);
--- a/gen/asm-x86-64.h	Thu Nov 27 17:43:20 2008 +0100
+++ b/gen/asm-x86-64.h	Thu Nov 27 18:31:09 2008 +0100
@@ -2047,7 +2047,7 @@
 		}
 		if (use_star)
 		    insnTemplate->writebyte('*');
-		if (operand->constDisplacement) {
+		if (operand->segmentPrefix != Reg_Invalid || operand->constDisplacement) {
 		    if (operand->symbolDisplacement.dim)
 			insnTemplate->writebyte('+');
 		    //addOperand(fmt, Arg_Integer, newIntExp(operand->constDisplacement), asmcode);