copy_page.S 532 B

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950
  1. /*
  2. * arch/alpha/lib/copy_page.S
  3. *
  4. * Copy an entire page.
  5. */
  6. .text
  7. .align 4
  8. .global copy_page
  9. .ent copy_page
  10. copy_page:
  11. .prologue 0
  12. lda $18,128
  13. nop
  14. unop
  15. nop
  16. 1: ldq $0,0($17)
  17. ldq $1,8($17)
  18. ldq $2,16($17)
  19. ldq $3,24($17)
  20. ldq $4,32($17)
  21. ldq $5,40($17)
  22. ldq $6,48($17)
  23. ldq $7,56($17)
  24. stq $0,0($16)
  25. subq $18,1,$18
  26. stq $1,8($16)
  27. addq $17,64,$17
  28. stq $2,16($16)
  29. stq $3,24($16)
  30. stq $4,32($16)
  31. stq $5,40($16)
  32. stq $6,48($16)
  33. stq $7,56($16)
  34. addq $16,64,$16
  35. bne $18, 1b
  36. ret
  37. nop
  38. unop
  39. nop
  40. .end copy_page