; a1 - mem

	xdef	_Free

_Free	beq.s	.exit
	subq.l	#8,a1
	subq.l	#4,a1
	tst.l	(a1)
	beq.s	.jump1
	move.l	(a1),a0
	move.l	(4,a1),(4,a0)	; remove from list
.jump1	tst.l	(4,a1)
	beq.s	.jump2
	move.l	(4,a1),a0
	move.l	(a1),(a0)		; remove from list
.jump2	move.l	a1,d0
	cmp.l	(lst,pc),d0
	beq.s	.jump3
	move.l	(a1),lst
.jump3	move.l	(8,a1),d0		; memsize
	move.l	4.w,a6
	jsr	(-210,a6)
.exit	rts

	xref	mem
	xref	lst
