Browse Source

* got rid of push const also in tcg8086.a_loadaddr_ref_cgpara

git-svn-id: trunk@24384 -
nickysn 12 years ago
parent
commit
8fddb1361b
1 changed files with 8 additions and 1 deletions
  1. 8 1
      compiler/i8086/cgcpu.pas

+ 8 - 1
compiler/i8086/cgcpu.pas

@@ -512,7 +512,14 @@ unit cgcpu;
                   begin
                     if assigned(symbol) then
                       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
                     else
                       push_const(list,OS_ADDR,offset);