瀏覽代碼

* do not generate scaled indicies for case table jumps for i8086

git-svn-id: branches/i8086@23872 -
florian 12 年之前
父節點
當前提交
d6f0a1a0df
共有 1 個文件被更改,包括 4 次插入0 次删除
  1. 4 0
      compiler/x86/nx86set.pas

+ 4 - 0
compiler/x86/nx86set.pas

@@ -118,7 +118,11 @@ implementation
         reference_reset_symbol(href,table,0,sizeof(pint));
         href.offset:=(-aint(min_))*sizeof(aint);
         href.index:=indexreg;
+{$ifdef i8086}
+        cg.a_op_const_reg(current_asmdata.CurrAsmList,OP_SHL,OS_INT,1,indexreg);
+{$else i8086}
         href.scalefactor:=sizeof(aint);
+{$endif i8086}
         emit_ref(A_JMP,S_NO,href);
         { generate jump table }
         if (target_info.system in [system_i386_darwin,system_i386_iphonesim]) then