#
.sect .text; .sect .rom; .sect .data; .sect .bss

/* Does a block move of words between non-overlapping buffers.
 * Stack: ( src dst len -- )
 */

.sect .text
.define .bls4
.bls4:
	lw r4, 0(sp)	! r4=len
	lw r5, 4(sp)	! r5=dst
	lw r6, 8(sp)	! r6=src
	addiu sp, sp, 12

	srl r4, r4, 2   ! convert len to words
1:
	beq r4, zero, 2f
	nop

	lw at, 0(r6)
	sw at, 0(r5)
	addiu r6, r6, 4
	addiu r5, r5, 4
	addiu r4, r4, -1
	b 1b
	nop

2:
	jr ra
	nop
