; mem := clr(mem,sze)
; clears sze bytes of memory starting at mem, returns mem

; mem := memset(mem,chr,sze)
; puts char chr into sze bytes of memory starting at mem. returns mem

	XDEF	clr_ii
	XDEF	memset_iii

clr_ii	move.l	8(sp),a0	; get mem
	move.l	4(sp),a1	; get sze
	moveq	#0,d0
	bsr.s	_bla		; add another 4 bytes on stack :)
	rts
memset_iii
	move.l	12(sp),a0	; get mem
	move.l	8(sp),d0	; get chr
	move.l	4(sp),a1	; get sze
_bla	adda.l	a0,a1
.loop	cmp.l	a0,a1
	beq.s	.exit
	move.b	d0,(a0)+
	bra.s	.loop
.exit	move.l	12(sp),d0
	rts
