mirror of
https://gitlab.com/freepascal.org/fpc/source.git
synced 2025-04-18 05:00:07 +02:00
+ implemented setjmp record and longjmp
This commit is contained in:
parent
5b6f8ca821
commit
e7130af5a8
@ -23,12 +23,58 @@ function setjmp(var S : jmp_buf) : longint;assembler;[Public, alias : 'FPC_SETJM
|
||||
|
||||
procedure longjmp(var S : jmp_buf;value : longint);assembler;[Public, alias : 'FPC_LONGJMP'];
|
||||
asm
|
||||
{$warning FIXME!!!!}
|
||||
end;
|
||||
lwz r1,(r3)
|
||||
lwz r2,4(r3)
|
||||
lwz r0,8(r3)
|
||||
lwz r14,12(r3)
|
||||
lfd fp14,88(r3)
|
||||
lwz r15,16(r3)
|
||||
lfd fp15,96(r3)
|
||||
lwz r16,20(r3)
|
||||
lfd fp16,104(r3)
|
||||
lwz r17,24(r3)
|
||||
lfd fp17,112(r3)
|
||||
lwz r18,28(r3)
|
||||
lfd fp18,120(r3)
|
||||
lwz r19,32(r3)
|
||||
lfd fp19,128(r3)
|
||||
lwz r20,36(r3)
|
||||
lfd fp20,136(r3)
|
||||
mtlr r0
|
||||
lwz r21,40(r3)
|
||||
lfd fp21,144(r3)
|
||||
lwz r22,44(r3)
|
||||
lfd fp22,152(r3)
|
||||
lwz r0,84(r3)
|
||||
lwz r23,48(r3)
|
||||
lfd fp23,160(r3)
|
||||
lwz r24,52(r3)
|
||||
lfd fp24,168(r3)
|
||||
lwz r25,56(r3)
|
||||
lfd fp25,176(r3)
|
||||
mtcrf 0xFF,r0
|
||||
lwz r26,60(r3)
|
||||
lfd fp26,184(r3)
|
||||
lwz r27,64(r3)
|
||||
lfd fp27,192(r3)
|
||||
lwz r28,68(r3)
|
||||
lfd fp28,200(r3)
|
||||
lwz r29,72(r3)
|
||||
lfd fp29,208(r3)
|
||||
lwz r30,76(r3)
|
||||
lfd fp30,216(r3)
|
||||
lwz r31,80(r3)
|
||||
lfd fp31,224(r3)
|
||||
mr r3,r4
|
||||
blr
|
||||
end;
|
||||
|
||||
{
|
||||
$Log$
|
||||
Revision 1.5 2002-09-07 16:01:26 peter
|
||||
Revision 1.6 2003-04-26 18:54:30 florian
|
||||
+ implemented setjmp record and longjmp
|
||||
|
||||
Revision 1.5 2002/09/07 16:01:26 peter
|
||||
* old logs removed and tabs fixed
|
||||
|
||||
Revision 1.4 2002/08/31 14:27:40 florian
|
||||
|
@ -17,7 +17,8 @@
|
||||
|
||||
type
|
||||
jmp_buf = packed record
|
||||
{$warning FIXME!!!!}
|
||||
r1,r2,lr,r14,r15,r16,r17,r18,r19,r20,r21,r22,r23,r24,r25,r26,r27,r28,r29,r30,r31,cr : dword;
|
||||
f14,f15,f16,f17,f18,f19,f20,f21,f22,f23,f24,f25,f26,f27,f28,f29,f30,f31 : double;
|
||||
end;
|
||||
pjmp_buf = ^jmp_buf;
|
||||
|
||||
@ -26,7 +27,10 @@ procedure longjmp(var S : jmp_buf;value : longint);
|
||||
|
||||
{
|
||||
$Log$
|
||||
Revision 1.5 2002-09-15 10:03:04 carl
|
||||
Revision 1.6 2003-04-26 18:54:30 florian
|
||||
+ implemented setjmp record and longjmp
|
||||
|
||||
Revision 1.5 2002/09/15 10:03:04 carl
|
||||
* make the record packed (just in case)
|
||||
|
||||
Revision 1.4 2002/08/10 17:14:36 jonas
|
||||
|
Loading…
Reference in New Issue
Block a user