mirror of
https://gitlab.com/freepascal.org/fpc/source.git
synced 2025-08-17 03:19:29 +02:00
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:
parent
d9c663f198
commit
10522e9779
@ -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))));
|
||||||
|
@ -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;
|
||||||
|
|
||||||
|
|
||||||
|
@ -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
|
||||||
|
@ -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;
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user