Procházet zdrojové kódy

* got rid of push const also in tcg8086.a_loadaddr_ref_cgpara

git-svn-id: trunk@24384 -
nickysn před 12 roky
rodič
revize
8fddb1361b
1 změnil soubory, kde provedl 8 přidání a 1 odebrání
  1. 8 1
      compiler/i8086/cgcpu.pas

+ 8 - 1
compiler/i8086/cgcpu.pas

@@ -512,7 +512,14 @@ unit cgcpu;
                   begin
                   begin
                     if assigned(symbol) then
                     if assigned(symbol) then
                       begin
                       begin
-                        list.concat(Taicpu.Op_sym_ofs(A_PUSH,opsize,symbol,offset));
+                        if current_settings.cputype < cpu_186 then
+                          begin
+                            tmpreg:=getaddressregister(list);
+                            a_loadaddr_ref_reg(list,r,tmpreg);
+                            list.concat(taicpu.op_reg(A_PUSH,opsize,tmpreg));
+                          end
+                        else
+                          list.concat(Taicpu.Op_sym_ofs(A_PUSH,opsize,symbol,offset));
                       end
                       end
                     else
                     else
                       push_const(list,OS_ADDR,offset);
                       push_const(list,OS_ADDR,offset);