summaryrefslogtreecommitdiff
path: root/software
diff options
context:
space:
mode:
Diffstat (limited to 'software')
-rw-r--r--software/first/delay.S26
1 files changed, 0 insertions, 26 deletions
diff --git a/software/first/delay.S b/software/first/delay.S
deleted file mode 100644
index 039d924..0000000
--- a/software/first/delay.S
+++ /dev/null
@@ -1,26 +0,0 @@
-.section .text
-.align 2
-.global delay
-.include "memory_map.inc"
-
-
-# a0 is delay-in-milliseconds argument
-
-delay:
- addi sp, sp, -16 # Allocate stack frame
- sw ra, 12(sp) # save return address to the stack
-
- li t0, MTIME # load the timer register
- lw t1, 0(t0) # load low value of the timer
- lw t2, 4(t0) # load high value of the timer
-
- li t3, MTIME_FREQUENCY # get clock freq (approx.)
- mul t3, t3, a0 # multiply milliseconds with freq
- add t4, t1, t3 # target mtime is now in t4
- li t0, MTIMECMP # load address of MTIMECMP register
- sw t2, 4(t0) # set higher 32bits of MTIMECMP
- sw t4, 0(t0) # store target time to MTIMECMP register. This only stores 32 bits so I am not sure if that is correct...
-
- lw ra, 12(sp) # load return address
- addi sp, sp, 16 # deallocate stack frame
- ret