	SECTION _TEXT CLASS=CODE USE32
	SECTION _DATA CLASS=DATA USE32
	SECTION _BSS  CLASS=BSS USE32
	SECTION _CONST  CLASS=CONST USE32
	SECTION _STRING  CLASS=STRING USE32
	SECTION cstartup CLASS=INITDATA USE32
	SECTION crundown CLASS=EXITDATA USE32
	SECTION cppinit  CLASS=CPPINIT USE32
	SECTION cppexit  CLASS=CPPEXIT USE32
	GROUP DGROUP _DATA _BSS _CONST _STRING

SECTION _TEXT
[GLOBAL	__ll_malloc]
;
; Line 8:	{
;
__ll_malloc:
	PUSH	EBP
	MOV	EBP,ESP
	PUSH	EBX
;
; Line 10:	  if ((address = VirtualAlloc(0,size,(4096),(4))) == 0) {
;
	PUSH	BYTE 04H
	PUSH	DWORD 01000H
	PUSH	DWORD [EBP+08H]
	PUSH	BYTE 00H
	CALL	VirtualAlloc
	MOV	EBX,EAX
	TEST	EAX,EAX
	JNE	SHORT	L_1
;
; Line 11:			errno = _dos_errno = 8       ;
;
	MOV	DWORD [__dos_errno],08H
	MOV	DWORD [_errno],08H
;
; Line 12:			return 0;
;
	MOV	EAX,00H
	JMP	L_3
L_1:
;
; Line 14:		return address ;
;
	MOV	EAX,EBX
L_3:
	POP	EBX
	POP	EBP
	RET
[GLOBAL	__ll_free]
;
; Line 18:	{
;
__ll_free:
	PUSH	EBP
	MOV	EBP,ESP
;
; Line 19:		VirtualFree(block, 0, (32768));
;
	PUSH	DWORD 08000H
	PUSH	BYTE 00H
	PUSH	DWORD [EBP+08H]
	CALL	VirtualFree
;
; Line 20:	}
;
	POP	EBP
	RET


SECTION _TEXT
[EXTERN	VirtualAlloc]
[EXTERN	VirtualFree]

SECTION _DATA
[EXTERN	__dos_errno]
[EXTERN	_errno]
