Explorar o código

+ support OS_32,OS_S32 in tcgz80.a_load_reg_cgpara

git-svn-id: branches/z80@45006 -
nickysn %!s(int64=5) %!d(string=hai) anos
pai
achega
3014378ad2
Modificáronse 1 ficheiros con 20 adicións e 0 borrados
  1. 20 0
      compiler/z80/cgcpu.pas

+ 20 - 0
compiler/z80/cgcpu.pas

@@ -258,6 +258,26 @@ unit cgcpu;
               2:
                 begin
                   cgpara.check_simple_location;
+                  getcpuregister(list,NR_L);
+                  a_load_reg_reg(list,OS_8,OS_8,r,NR_L);
+                  getcpuregister(list,NR_H);
+                  a_load_reg_reg(list,OS_8,OS_8,GetNextReg(r),NR_H);
+                  list.concat(taicpu.op_reg(A_PUSH,NR_HL));
+                  getcpuregister(list,NR_H);
+                  getcpuregister(list,NR_L);
+                end;
+              4:
+                begin
+                  cgpara.check_simple_location;
+
+                  getcpuregister(list,NR_L);
+                  a_load_reg_reg(list,OS_8,OS_8,GetNextReg(GetNextReg(r)),NR_L);
+                  getcpuregister(list,NR_H);
+                  a_load_reg_reg(list,OS_8,OS_8,GetNextReg(GetNextReg(GetNextReg(r))),NR_H);
+                  list.concat(taicpu.op_reg(A_PUSH,NR_HL));
+                  getcpuregister(list,NR_H);
+                  getcpuregister(list,NR_L);
+
                   getcpuregister(list,NR_L);
                   a_load_reg_reg(list,OS_8,OS_8,r,NR_L);
                   getcpuregister(list,NR_H);