Guest User

Untitled

a guest
Jan 6th, 2018
101
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. .macro PUSH reg
  2.         subi    sp, sp, 4
  3.         stw     \reg, 0(sp)
  4. .endm
  5.  
  6. .macro POP reg
  7.         ldw     \reg, 0(sp)
  8.         addi    sp, sp, 4
  9. .endm
  10.  
  11. .global delay
  12.  
  13. .equ    delaycount,    180
  14.  
  15. delay:      PUSH    ra
  16.         PUSH    r16        
  17.         PUSH    r17
  18.  
  19.            
  20.         mov r16, r4
  21.         addi    r17, r17, delaycount               
  22.         bgeu    r16, r0, loop
  23.         br  return
  24.            
  25.        
  26. loop:       bgeu    r17, r0, inner
  27.         subi    r16, r16, 1
  28.         bgeu    r16, r0, loop
  29.         br  return
  30.        
  31. inner:      subi    r17, r17, 1
  32.         br  loop
  33.            
  34. return:     POP r17        
  35.         POP r16
  36.         POP ra
  37.         ret
Add Comment
Please, Sign In to add comment