diff --git a/gen/asm-x86-32.h b/gen/asm-x86-32.h index 70612099..e60e94d0 100644 --- a/gen/asm-x86-32.h +++ b/gen/asm-x86-32.h @@ -1926,7 +1926,7 @@ struct AsmProcessor } 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); diff --git a/gen/asm-x86-64.h b/gen/asm-x86-64.h index de4bc450..7a6a1106 100644 --- a/gen/asm-x86-64.h +++ b/gen/asm-x86-64.h @@ -2047,7 +2047,7 @@ struct AsmProcessor } 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);