diff options
Diffstat (limited to 'main.sh')
| -rwxr-xr-x | main.sh | 62 |
1 files changed, 62 insertions, 0 deletions
@@ -0,0 +1,62 @@ +#!/bin/sh +# Copyright (C) 2026 Sebastian G. Kirmayer <gloria@gloria-mundi.eu> +# +# 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 <https://www.gnu.org/licenses/>. +# + +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 |
