From 148da8ed91f17c6fb367f52c927629b0f4cacb5e Mon Sep 17 00:00:00 2001 From: Eugen Wissner Date: Fri, 18 Apr 2025 09:26:57 +0200 Subject: Initial commit --- boot/asm-boot.s | 29 +++++++++++++++++++++++++++++ 1 file changed, 29 insertions(+) create mode 100644 boot/asm-boot.s (limited to 'boot/asm-boot.s') diff --git a/boot/asm-boot.s b/boot/asm-boot.s new file mode 100644 index 0000000..594c624 --- /dev/null +++ b/boot/asm-boot.s @@ -0,0 +1,29 @@ +# s1 - Contains the current position in the source text. + +.data + +.equ SYS_EXIT, 93 +.equ SOURCE_BUFFER_SIZE, 2048 + +.bss +.global source_code +.type source_code, @object +.size source_code, SOURCE_BUFFER_SIZE +source_code: .zero SOURCE_BUFFER_SIZE + +.text +.global _start # Program entry point. + +_start: + # Read the source from the standard input. + la a0, source_code + li a1, SOURCE_BUFFER_SIZE # Buffer size. + call read_file + + la s1, source_code # s1 = Source code position. + call compile + + # Call exit. + addi a0, zero, 0 # Use 0 return code. + addi a7, zero, SYS_EXIT + ecall -- cgit v1.2.3