factorio-riscv/os/kernel/boot.s

34 lines
579 B
ArmAsm
Raw Permalink Normal View History

2023-12-29 20:00:02 +00:00
_start:
2023-12-29 21:59:32 +00:00
li x1, 8 // ITERATION * 4
2023-12-30 18:04:40 +00:00
li x2, 10 * 4 // MAX ITERATIONS * 4
2023-12-29 21:59:32 +00:00
li x6, 0x100000 // MEM OFFSET
li x5, 1
sw x5, 4(x6)
fib:
add x3, x6, x1
lw x4, -4(x3) // get a
lw x5, -8(x3) // get b
add x4, x4, x5 // a = a + b
sw x4, (x3) // store a to c
// increment or stop
add x1, x1, 4
bne x1, x2, fib
li x5, 0
2023-12-30 18:04:40 +00:00
sw x5, (x6)
li x5, 1
sb x5, 1(x6)
lw x5, (x6)
mv x0, x5
li x5, 1
sh x5, (x6)
2023-12-29 21:59:32 +00:00
lw x5, (x6)
2023-12-30 18:04:40 +00:00
mv x0, x5
sh x0, 2(x6)
lw x5, (x6)
mv x0, x5