diff options
Diffstat (limited to 'dhrystone/start.S')
-rw-r--r-- | dhrystone/start.S | 41 |
1 files changed, 41 insertions, 0 deletions
diff --git a/dhrystone/start.S b/dhrystone/start.S new file mode 100644 index 0000000..202727c --- /dev/null +++ b/dhrystone/start.S @@ -0,0 +1,41 @@ + .section .text + .global start + .global main + +start: + /* print "START\n" */ + lui a0,0x10000000>>12 + addi a1,zero,'S' + addi a2,zero,'T' + addi a3,zero,'A' + addi a4,zero,'R' + addi a5,zero,'\n' + sw a1,0(a0) + sw a2,0(a0) + sw a3,0(a0) + sw a4,0(a0) + sw a2,0(a0) + sw a5,0(a0) + + /* set stack pointer */ + lui sp,(64*1024)>>12 + + /* jump to main C code */ + jal ra,main + + /* print "DONE\n" */ + lui a0,0x10000000>>12 + addi a1,zero,'D' + addi a2,zero,'O' + addi a3,zero,'N' + addi a4,zero,'E' + addi a5,zero,'\n' + sw a1,0(a0) + sw a2,0(a0) + sw a3,0(a0) + sw a4,0(a0) + sw a5,0(a0) + + /* break */ + sbreak + |