Selaa lähdekoodia

+ support OS_32,OS_S32 in tcgz80.a_load_reg_cgpara

git-svn-id: branches/z80@45006 -
nickysn 5 vuotta sitten
vanhempi
commit
3014378ad2
1 muutettua tiedostoa jossa 20 lisäystä ja 0 poistoa
  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);