Browse Source

* AVR: do not insert jmp if not supported

git-svn-id: trunk@43995 -
florian 5 years ago
parent
commit
bd96765632
1 changed files with 4 additions and 1 deletions
  1. 4 1
      compiler/avr/aasmcpu.pas

+ 4 - 1
compiler/avr/aasmcpu.pas

@@ -454,7 +454,10 @@ implementation
                               begin
                                 current_asmdata.getjumplabel(l);
                                 list.insertafter(tai_label.create(l),curtai);
-                                list.insertafter(taicpu.op_sym(A_JMP,taicpu(curtai).oper[0]^.ref^.symbol),curtai);
+                                if CPUAVR_HAS_JMP_CALL in cpu_capabilities[current_settings.cputype] then
+                                  list.insertafter(taicpu.op_sym(A_JMP,taicpu(curtai).oper[0]^.ref^.symbol),curtai)
+                                else
+                                  list.insertafter(taicpu.op_sym(A_RJMP,taicpu(curtai).oper[0]^.ref^.symbol),curtai);
                                 taicpu(curtai).oper[0]^.ref^.symbol:=l;
                                 taicpu(curtai).condition:=inverse_cond(taicpu(curtai).condition);
                                 again:=true;