Subversion Repositories Kolibri OS

Compare Revisions

Regard whitespace Rev 4972 → Rev 4973

/programs/develop/libraries/menuetlibc/src/libc/ansi/setjmp/Makefile
0,0 → 1,3
THIS_SRCS = longjmp.s setjmp.s
 
include $(MENUET_LIBC_TOPDIR)/Make.rules
/programs/develop/libraries/menuetlibc/src/libc/ansi/setjmp/longjmp.s
0,0 → 1,64
# 1 "longjmp.s"
#include<libc/asm.h>
MK_C_SYM(longjmp)
movl 4(%esp),%edi
movl 8(%esp),%eax
movl %eax,0(%edi)
 
movw 46(%edi),%fs
movw 48(%edi),%gs
movl 4(%edi),%ebx
movl 8(%edi),%ecx
movl 12(%edi),%edx
movl 24(%edi),%ebp
 
movw 50(%edi),%es
movl 28(%edi),%esi
subl $28,%esi
 
movl 60(%edi),%eax
es
movl %eax,(%esi)
 
movzwl 42(%edi),%eax
es
movl %eax,4(%esi)
 
movl 20(%edi),%eax
es
movl %eax,8(%esi)
 
movl 16(%edi),%eax
es
movl %eax,12(%esi)
 
movl 32(%edi),%eax
es
movl %eax,16(%esi)
 
movl 40(%edi),%eax
es
movl %eax,20(%esi)
 
movl 36(%edi),%eax
es
movl %eax,24(%esi)
 
movl 0(%edi),%eax
movw 44(%edi),%es
 
movw 50(%edi),%ss
movl %esi,%esp
 
popl C_SYM(__djgpp_exception_state_ptr)
popl %ds
popl %edi
popl %esi
 
iret
 
MK_C_SYM(__djgpp_exception_state_ptr)
.word 0
.word 0
.word 0
.word 0
/programs/develop/libraries/menuetlibc/src/libc/ansi/setjmp/setjmp.s
0,0 → 1,44
#include<libc/asm.h>
MK_C_SYM(setjmp)
pushl %ebp
movl %esp,%ebp
 
pushl %edi
movl 8(%ebp),%edi
 
movl %eax, (%edi)
movl %ebx,4(%edi)
movl %ecx,8(%edi)
movl %edx,12(%edi)
movl %esi,16(%edi)
 
movl -4(%ebp),%eax
movl %eax,20(%edi)
 
movl (%ebp),%eax
movl %eax,24(%edi)
 
movl %esp,%eax
addl $12,%eax
movl %eax,28(%edi)
movl 4(%ebp),%eax
movl %eax,32(%edi)
 
pushfl
popl 36(%edi)
 
movw %cs, 40(%edi)
movw %ds, 42(%edi)
movw %es, 44(%edi)
movw %fs, 46(%edi)
movw %gs, 48(%edi)
movw %ss, 50(%edi)
movl C_SYM(__djgpp_exception_state_ptr), %eax
movl %eax, 60(%edi)
 
popl %edi
xorl %eax,%eax
popl %ebp
ret