kolibrios/programs/develop/ktcc/trunk/libc/kolibrisys/thread.asm

33 lines
602 B
NASM
Raw Normal View History

format ELF
include "public_stdcall.inc"
section '.text' executable
extrn sysmalloc
public_stdcall _ksys_start_thread,12
;arg1 - proc
;arg2 - stacksize
;arg3 - pid
push dword [esp+8]
call sysmalloc
test eax,eax
jz .no_mem
push ebx
mov edx,eax
add edx,[esp+12]
mov [edx-4],dword 0
mov ecx,[esp+8]
mov ebx,1
mov eax,51
int 0x40
mov ebx,[esp+16]
test ebx,ebx
jz .no_val
mov [ebx],eax
.no_val:
mov eax,edx
sub eax,[esp+12]
pop ebx
ret 12
.no_mem:
mov ecx,[esp+12]
mov [ecx],eax
ret 12