1
0
Fork 0

bulk: changing experiments structure and how i use it.

This commit is contained in:
Strix 2025-06-27 16:23:34 +02:00
parent 20d4c9d3b7
commit 521c5b0063
20 changed files with 802 additions and 0 deletions

1
machine/riscv-asm/.gitignore vendored Normal file
View file

@ -0,0 +1 @@
build/

View file

@ -0,0 +1,17 @@
#!/bin/sh
set -e
echo "Building for RISC-V 64..."
[ -d "build" ] || mkdir build
rm -rf build/*
riscv64-linux-gnu-as main.s -o build/main.o
riscv64-linux-gnu-gcc \
build/main.o \
-o build/main \
-nostdlib \
-static
echo "OK"

View file

@ -0,0 +1,4 @@
#!/bin/sh
rm -rf build

19
machine/riscv-asm/main.s Normal file
View file

@ -0,0 +1,19 @@
.global _start
_start:
addi a7, x0, 64 # syscall write
addi a0, x0, 1 # stdout fd
la a1, str_helloworld # load label into reg: a1
addi a2, x0, 13 # length of string
ecall # call kernel
beqz x0, _exit # branch if = to zero
_exit:
addi a7, x0, 93 # syscall exit
addi a0, x0, 0 # exit code
ecall # call kernel
str_helloworld:
.ascii "Hello World!\n"

4
machine/riscv-asm/run.sh Normal file
View file

@ -0,0 +1,4 @@
#!/bin/sh
[ "$1" = "build" ] && sh ./build.sh
qemu-riscv64 build/main