	.386p
	ifndef	??version
?debug	macro
	endm
publicdll macro	name
	public	name
	endm
	endif
	?debug	V 300h
	?debug	S "..\SOURCE\STACK.C"
	?debug	C E94B832532112E2E5C534F555243455C535441434B2E43
STACK_TEXT	segment byte public use16 'CODE'
STACK_TEXT	ends
	assume	cs:STACK_TEXT,ds:STACK_DATA
STACK_DATA	segment word public use16 'FAR_DATA'
d@	label	byte
d@w	label	word
b@	label	byte
b@w	label	word
STACK_DATA	ends
STACK_TEXT	segment byte public use16 'CODE'
	?debug	C E801112E2E5C534F555243455C535441434B2E43+
	?debug	C 4B832532
   ;	
   ;	int func(void)
   ;	
	?debug	L 1
	assume	cs:STACK_TEXT
_func	proc	far
	?debug	B
	enter	2048,0
	push	ds
	mov	ax,STACK_DATA
	mov	ds,ax
	?debug	B
   ;	
   ;	{
   ;		int i,data[1024];
   ;		for (i=0;i<1024;i++) data[i]=0;
   ;	
	?debug	L 4
	xor	dx,dx
	jmp	short @1@114
@1@58:
	mov	bx,dx
	shl	bx,1
	lea	ax,word ptr [bp-2048]
	add	bx,ax
	mov	word ptr ss:[bx],0
	inc	dx
@1@114:
	cmp	dx,1024
	jl	short @1@58
   ;	
   ;		return 0;
   ;	
	?debug	L 5
	xor	ax,ax
	jmp	short @1@170
@1@170:
   ;	
   ;	}
   ;	
	?debug	L 6
	pop	ds
	leave	
	ret	
	?debug	C E3180000081A04
	?debug	C E60464617461180200F800016904040200
	?debug	E
	?debug	E
_func	endp
   ;	
   ;	int main(void)
   ;	
	?debug	L 7
	assume	cs:STACK_TEXT
_main	proc	far
	?debug	B
	push	bp
	mov	bp,sp
	push	ds
	mov	ax,STACK_DATA
	mov	ds,ax
	?debug	B
   ;	
   ;	{
   ;		func();
   ;	
	?debug	L 9
	push	cs
	call	near ptr _func
   ;	
   ;		return 0;
   ;	
	?debug	L 10
	xor	ax,ax
	jmp	short @2@58
@2@58:
   ;	
   ;	}
   ;	
	?debug	L 11
	pop	ds
	pop	bp
	ret	
	?debug	E
	?debug	E
_main	endp
	?debug	C E9
	?debug	C FA00000000
STACK_TEXT	ends
STACK_DATA	segment word public use16 'FAR_DATA'
s@	label	byte
STACK_DATA	ends
STACK_TEXT	segment byte public use16 'CODE'
STACK_TEXT	ends
	public	_main
	public	_func
_s@	equ	s@
	?debug	C EA010D
	?debug	C E31900000023040400
	?debug	C EC055F6D61696E191800
	?debug	C E31A00000023040400
	?debug	C EC055F66756E631A1800
	end
