From 9a6c7d85eb1be819b94d0feb0cb84de8546e36fd Mon Sep 17 00:00:00 2001 From: "Sebastian G. Kirmayer" Date: Tue, 7 Jul 2026 23:54:15 +0200 Subject: 0.1 --- main.sh | 62 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 62 insertions(+) create mode 100755 main.sh (limited to 'main.sh') diff --git a/main.sh b/main.sh new file mode 100755 index 0000000..f32d707 --- /dev/null +++ b/main.sh @@ -0,0 +1,62 @@ +#!/bin/sh +# Copyright (C) 2026 Sebastian G. Kirmayer +# +# This file is part of sysf-i386. +# +# sysf-i386 is free software: you can redistribute it and/or modify it under +# the terms of the GNU General Public License as published by the Free +# Software Foundation, either version 3 of the License, or (at your option) +# any later version. +# +# sysf-i386 is distributed in the hope that it will be useful, but WITHOUT ANY +# WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS +# FOR A PARTICULAR PURPOSE. See the GNU General Public License for more +# details. +# +# You should have received a copy of the GNU General Public License along +# with sysf-i386. If not, see . +# + +SYSF_VERSION=0.1 + +set -e + +VAL_APP=-1 +VAL_ABS=-2 +VAL_FIX=-3 +VAL_READ=-4 +VAL_WRITE0=-5 +VAL_WRITE1=-6 +VAL_EXIT=-7 + +PARSE_STACK_SIZE=0x800 +TYPE_STACK_SIZE=$((PARSE_STACK_SIZE*16)) +MACROS_SIZE=0x1000 + +string() { +label $1 + ascii "$2" +label $1_end +label $1_len $1 +} + +stderr() { +rodata +L stderr_string_start + ascii "$1" +L stderr_string_end +text + movl stderr_string_start^ %eax + movl stderr_string_end^ %ecx + call stderr +} + +prog() { + . ./start.asm + . ./parse.asm + . ./type.asm + . ./eval.asm + . ./string.asm +} + +. ./asm.sh -- cgit v1.2.3