Ver Fonte

* do not destroy flags while clearing R1, resolves #33170

git-svn-id: trunk@38241 -
florian há 7 anos atrás
pai
commit
311bcd4c08
1 ficheiros alterados com 2 adições e 2 exclusões
  1. 2 2
      compiler/avr/cgcpu.pas

+ 2 - 2
compiler/avr/cgcpu.pas

@@ -1909,12 +1909,12 @@ unit cgcpu;
               if reg in regs then
                 list.concat(taicpu.op_reg(A_PUSH,newreg(R_INTREGISTER,reg,R_SUBWHOLE)));
 
-            list.concat(taicpu.op_reg(A_CLR,NR_R1));
-
             { Save SREG }
             list.concat(taicpu.op_reg_const(A_IN, NR_R0, $3F));
             list.concat(taicpu.op_reg(A_PUSH, NR_R0));
 
+            list.concat(taicpu.op_reg(A_CLR,NR_R1));
+
             if current_procinfo.framepointer<>NR_NO then
               begin
                 list.concat(taicpu.op_reg_const(A_IN,NR_R28,NIO_SP_LO));