	.386p
	ifndef	??version
?debug	macro
	endm
publicdll macro	name
	public	name
	endm
	endif
	?debug	V 300h
	?debug	S "RCPTR.CPP"
	?debug	C E9E5208A1E0952435054522E435050
RCPTR_TEXT	segment byte public use16 'CODE'
RCPTR_TEXT	ends
DGROUP	group	_DATA,_BSS
	assume	cs:RCPTR_TEXT,ds:DGROUP
_DATA	segment word public use16 'DATA'
d@	label	byte
d@w	label	word
_DATA	ends
_BSS	segment word public use16 'BSS'
b@	label	byte
b@w	label	word
_BSS	ends
RCPTR_TEXT	segment byte public use16 'CODE'
	?debug	C E8010952435054522E435050E5208A1E
   ;	
   ;	void main(void) {
   ;	
	?debug	L 77
	assume	cs:RCPTR_TEXT
_main	proc	far
	?debug	B
	push	bp
	mov	bp,sp
	sub	sp,32
	?debug	B
	cmp	word ptr __stklen,sp
	ja	short @1@86
	call	far ptr F_OVERFLOW@
@1@86:
   ;	
   ;		RCBPtr<int> p1;
   ;	
	?debug	L 78
	mov	dword ptr [bp-8],large 0
	mov	dword ptr [bp-4],large 0
   ;	
   ;		p1.bind(new int(7));
   ;	
	?debug	L 79
	push	2
	call	far ptr @$bnew$qui
	add	sp,2
	mov	word ptr [bp-10],dx
	mov	word ptr [bp-12],ax
	les	bx,dword ptr [bp-12]
	mov	word ptr es:[bx],7
	cmp	dword ptr [bp-4],large 0
	je	short @1@170
	les	bx,dword ptr [bp-4]
	dec	word ptr es:[bx]
	mov	ax,word ptr es:[bx]
	or	ax,ax
	jne	short @1@170
	push	dword ptr [bp-8]
	call	far ptr @$bdele$qnv
	add	sp,4
	push	dword ptr [bp-4]
	call	far ptr @$bdele$qnv
	add	sp,4
	jmp	short @1@170
@1@170:
	mov	eax,dword ptr [bp-12]
	mov	dword ptr [bp-8],eax
	cmp	dword ptr [bp-12],large 0
	je	short @1@226
	push	2
	call	far ptr @$bnew$qui
	add	sp,2
	mov	word ptr [bp-14],dx
	mov	word ptr [bp-16],ax
	les	bx,dword ptr [bp-16]
	mov	word ptr es:[bx],1
	jmp	short @1@254
@1@226:
	xor	dx,dx
	xor	ax,ax
@1@254:
	mov	word ptr [bp-2],dx
	mov	word ptr [bp-4],ax
   ;	
   ;		RCBPtr<int> p2=p1;
   ;	
	?debug	L 80
	mov	eax,dword ptr [bp-8]
	mov	dword ptr [bp-24],eax
	mov	eax,dword ptr [bp-4]
	mov	dword ptr [bp-20],eax
	cmp	dword ptr [bp-8],large 0
	je	short @1@310
	les	bx,dword ptr [bp-20]
	inc	word ptr es:[bx]
	jmp	short @1@310
@1@310:
   ;	
   ;	
   ;		*p2=24;
   ;	
	?debug	L 82
	les	bx,dword ptr [bp-24]
	mov	word ptr es:[bx],24
   ;	
   ;		++*p1;
   ;	
	?debug	L 83
	les	bx,dword ptr [bp-8]
	inc	word ptr es:[bx]
   ;	
   ;		p2.bind(new int(8));
   ;	
	?debug	L 84
	push	2
	call	far ptr @$bnew$qui
	add	sp,2
	mov	word ptr [bp-26],dx
	mov	word ptr [bp-28],ax
	les	bx,dword ptr [bp-28]
	mov	word ptr es:[bx],8
	cmp	dword ptr [bp-20],large 0
	je	short @1@394
	les	bx,dword ptr [bp-20]
	dec	word ptr es:[bx]
	mov	ax,word ptr es:[bx]
	or	ax,ax
	jne	short @1@394
	push	dword ptr [bp-24]
	call	far ptr @$bdele$qnv
	add	sp,4
	push	dword ptr [bp-20]
	call	far ptr @$bdele$qnv
	add	sp,4
	jmp	short @1@394
@1@394:
	mov	eax,dword ptr [bp-28]
	mov	dword ptr [bp-24],eax
	cmp	dword ptr [bp-28],large 0
	je	short @1@450
	push	2
	call	far ptr @$bnew$qui
	add	sp,2
	mov	word ptr [bp-30],dx
	mov	word ptr [bp-32],ax
	les	bx,dword ptr [bp-32]
	mov	word ptr es:[bx],1
	jmp	short @1@478
@1@450:
	xor	dx,dx
	xor	ax,ax
@1@478:
	mov	word ptr [bp-18],dx
	mov	word ptr [bp-20],ax
	cmp	dword ptr [bp-20],large 0
	je	short @1@562
	les	bx,dword ptr [bp-20]
	dec	word ptr es:[bx]
	mov	ax,word ptr es:[bx]
	or	ax,ax
	jne	short @1@562
	push	dword ptr [bp-24]
	call	far ptr @$bdele$qnv
	add	sp,4
	push	dword ptr [bp-20]
	call	far ptr @$bdele$qnv
	add	sp,4
	jmp	short @1@562
@1@562:
	cmp	dword ptr [bp-4],large 0
	je	short @1@646
	les	bx,dword ptr [bp-4]
	dec	word ptr es:[bx]
	mov	ax,word ptr es:[bx]
	or	ax,ax
	jne	short @1@646
	push	dword ptr [bp-8]
	call	far ptr @$bdele$qnv
	add	sp,4
	push	dword ptr [bp-4]
	call	far ptr @$bdele$qnv
	add	sp,4
	leave	
	ret	
@1@646:
   ;	
   ;	}
   ;	
	?debug	L 85
	leave	
	ret	
	?debug	C E318000400160400
	?debug	C E60270321902E8FF000270311902F8FF00
	?debug	E
	?debug	E
_main	endp
	?debug	C E9
	?debug	C FA00020000
RCPTR_TEXT	ends
_DATA	segment word public use16 'DATA'
s@	label	byte
_DATA	ends
RCPTR_TEXT	segment byte public use16 'CODE'
RCPTR_TEXT	ends
	?debug	C E3190C40255243425074722474692508002E01
	?debug	C ED00010000010C00
	?debug	C E31A000400160A00
	?debug	C E31B000400161900
	?debug	C E31C0000002D1B04091900
	?debug	C E31E0000002D1B04091900
	?debug	C E3200000002D0104091900
	?debug	C E322000400351900
	?debug	C E3230000002D22040D1900
	?debug	C E3250000002D0104091900
	?debug	C E327000400350400
	?debug	C E3280000002D27040D1900
	extrn	F_OVERFLOW@:far
	extrn	__stklen:word
	public	_main
	extrn	@$bdele$qnv:far
	extrn	@$bnew$qui:far
_s@	equ	s@
	?debug	C EA050C
	?debug	C E32A00000023040500
	?debug	C EB0B465F4F564552464C4F57402A00
	?debug	C EB085F5F73746B6C656E0A00
	?debug	C E32B00000023010400
	?debug	C EC055F6D61696E2B1800
	?debug	C E32C00000023010400
	?debug	C EB0B40246264656C6524716E762C00
	?debug	C E32E000400160100
	?debug	C E32D000000232E0400
	?debug	C EB0A4024626E6577247175692D00
	?debug	C E60A3C74656D706C6174653E190700
	?debug	C E270015404000174180001721A4A154025524342+
	?debug	C 507472247469254024626374722471761C4A2340+
	?debug	C 255243425074722474692540246263747224716D+
	?debug	C 78313125524342507472247469251E4915402552+
	?debug	C 4342507472247469254024626474722471762048+
	?debug	C 2340255243425074722474692540246261736724+
	?debug	C 716D783131255243425074722474692523481540+
	?debug	C 25524342507472247469254062696E6424716E69+
	?debug	C 254816402552434250747224746925402462696E+
	?debug	C 642478717628C008000000
	end
