win32 merge

This commit is contained in:
bellard
2005-04-14 23:49:21 +00:00
parent d733dc752e
commit 4821702fb4
82 changed files with 23836 additions and 13 deletions

29
win32/lib/chkstk.S Normal file
View File

@ -0,0 +1,29 @@
// =================================================
// chkstk.s
.text
.globl __chkstk
__chkstk:
xchg (%esp), %ebp // store ebp, get ret.addr
push %ebp // push ret.addr
lea 4(%esp), %ebp // setup frame ptr
push %ecx // save ecx
mov %ebp, %ecx
P0:
sub $4096,%ecx
test %eax,(%ecx)
sub $4096,%eax
cmp $4096,%eax
jge P0
sub %eax,%ecx
mov %esp,%eax
test %eax,(%ecx)
mov %ecx,%esp
mov (%eax),%ecx // restore ecx
mov 4(%eax),%eax
push %eax
ret