; a0 - string

	xdef	_UpperStr

_UpperStr	move.l	a0,d0		; return value
.loop	move.b	(a0)+,d1
	beq.s	.finish
	cmp.b	#97,d1
	blt.s	.loop
	cmp.b	#123,d1
	bgt.s	.loop
	sub.b	#32,d1
	move.b	d1,(-1,a0)
	bra.s	.loop
.finish	rts			; d0 is set above
