Disabled a_adjust_sp optimized steps for now.

Integrated proper stack frame calculation.
Changed rjmp to jmp in ATMEGA128 interrupt vectors.

git-svn-id: trunk@26964 -
This commit is contained in:
Jeppe Johansen 2014-03-05 19:17:46 +00:00
parent d9c663f198
commit 10522e9779
4 changed files with 40 additions and 40 deletions

View File

@ -1447,7 +1447,7 @@ unit cgcpu;
case value of case value of
0: 0:
; ;
-14..-1: {-14..-1:
begin begin
if ((-value) mod 2)<>0 then if ((-value) mod 2)<>0 then
list.concat(taicpu.op_reg(A_PUSH,NR_R0)); list.concat(taicpu.op_reg(A_PUSH,NR_R0));
@ -1458,7 +1458,7 @@ unit cgcpu;
begin begin
for i:=1 to value do for i:=1 to value do
list.concat(taicpu.op_reg(A_POP,NR_R0)); list.concat(taicpu.op_reg(A_POP,NR_R0));
end; end;}
else else
begin begin
list.concat(taicpu.op_reg_const(A_SUBI,NR_R28,lo(word(-value)))); list.concat(taicpu.op_reg_const(A_SUBI,NR_R28,lo(word(-value))));

View File

@ -63,7 +63,7 @@ unit cpupi;
function tavrprocinfo.calc_stackframe_size:longint; function tavrprocinfo.calc_stackframe_size:longint;
begin begin
maxpushedparasize:=align(maxpushedparasize,max(current_settings.alignment.localalignmin,4)); maxpushedparasize:=align(maxpushedparasize,max(current_settings.alignment.localalignmin,4));
result:=0; result:=Align(tg.direction*tg.lasttemp,max(current_settings.alignment.localalignmin,4))+maxpushedparasize;
end; end;

View File

@ -577,42 +577,42 @@ unit atmega128;
.init .init
.globl _start .globl _start
// .org 0x00 // .org 0x00
rjmp _start jmp _start
rjmp Int00Handler jmp Int00Handler
rjmp Int01Handler jmp Int01Handler
rjmp Int02Handler jmp Int02Handler
rjmp Int03Handler jmp Int03Handler
rjmp Int04Handler jmp Int04Handler
rjmp Int05Handler jmp Int05Handler
rjmp Int06Handler jmp Int06Handler
rjmp Int07Handler jmp Int07Handler
rjmp Int08Handler jmp Int08Handler
rjmp Int09Handler jmp Int09Handler
rjmp Int10Handler jmp Int10Handler
rjmp Int11Handler jmp Int11Handler
rjmp Int12Handler jmp Int12Handler
rjmp Int13Handler jmp Int13Handler
rjmp Int14Handler jmp Int14Handler
rjmp Int15Handler jmp Int15Handler
rjmp Int16Handler jmp Int16Handler
rjmp Int17Handler jmp Int17Handler
rjmp Int18Handler jmp Int18Handler
rjmp Int19Handler jmp Int19Handler
rjmp Int20Handler jmp Int20Handler
rjmp Int21Handler jmp Int21Handler
rjmp Int22Handler jmp Int22Handler
rjmp Int23Handler jmp Int23Handler
rjmp Int24Handler jmp Int24Handler
rjmp Int25Handler jmp Int25Handler
rjmp Int26Handler jmp Int26Handler
rjmp Int27Handler jmp Int27Handler
rjmp Int28Handler jmp Int28Handler
rjmp Int29Handler jmp Int29Handler
rjmp Int30Handler jmp Int30Handler
rjmp Int31Handler jmp Int31Handler
rjmp Int32Handler jmp Int32Handler
rjmp Int33Handler jmp Int33Handler
rjmp Int34Handler jmp Int34Handler
{ {
all ATMEL MCUs use the same startup code, the details are all ATMEL MCUs use the same startup code, the details are

View File

@ -69,7 +69,7 @@ procedure do_truncate(handle, pos: longint);
begin begin
end; end;
procedure do_open(var f;p:pchar;flags:longint; pchangeable: boolean); procedure do_open(var f;p:PFileTextRecChar;flags:longint; pchangeable: boolean);
begin begin
end; end;