浏览代码

* ti8086vecnode.update_reference_reg_mul: remove the segment before calling
base, because base may in some cases call cg.a_loadaddr_ref_reg, which will
overwrite the next register, if the source reference contains a segment

git-svn-id: trunk@27713 -

nickysn 11 年之前
父节点
当前提交
38aec68d6f
共有 1 个文件被更改,包括 1 次插入0 次删除
  1. 1 0
      compiler/i8086/n8086mem.pas

+ 1 - 0
compiler/i8086/n8086mem.pas

@@ -175,6 +175,7 @@ implementation
         saveseg: TRegister;
         saveseg: TRegister;
       begin
       begin
         saveseg:=location.reference.segment;
         saveseg:=location.reference.segment;
+        location.reference.segment:=NR_NO;
         inherited update_reference_reg_mul(maybe_const_reg,l);
         inherited update_reference_reg_mul(maybe_const_reg,l);
         location.reference.segment:=saveseg;
         location.reference.segment:=saveseg;
       end;
       end;