20 lines
319 B
ArmAsm
20 lines
319 B
ArmAsm
|
.sect .text
|
||
|
|
||
|
! Does a block move of words between non-overlapping buffers.
|
||
|
! Stack: ( src dst len -- )
|
||
|
|
||
|
.define .bls4
|
||
|
.bls4:
|
||
|
lwz r3, 0(sp) ! len
|
||
|
lwz r4, 4(sp) ! dst
|
||
|
lwz r5, 8(sp) ! src
|
||
|
addi sp, sp, 12
|
||
|
srwi r3, r3, 2
|
||
|
mtspr ctr, r3
|
||
|
addi r5, r5, -4
|
||
|
addi r4, r4, -4
|
||
|
1: lwzu r3, 4(r5)
|
||
|
stwu r3, 4(r4)
|
||
|
bdnz 1b
|
||
|
blr
|