From 0daa68f80401b3cfeba18b0ad00e26e549f04b56 Mon Sep 17 00:00:00 2001 From: CrazyEttin <> Date: Wed, 26 May 2021 20:43:46 +0300 Subject: [PATCH] Streamline the commands and give the major parts of the code headings --- src/os.asm | 78 ++++++++++++++++++++++++++++++++---------------------- 1 file changed, 46 insertions(+), 32 deletions(-) diff --git a/src/os.asm b/src/os.asm index 04bf7f6..3fb126f 100644 --- a/src/os.asm +++ b/src/os.asm @@ -1,3 +1,5 @@ +;Main + mov ax, 0x1000 mov ds, ax @@ -10,32 +12,28 @@ call print call read cmp byte [input], 0 je loop -mov si, input -mov di, cmdhello -call compare -jc .hello -mov si, input -mov di, cmdecho -call compare -jc .echo -mov si, unknown -call print -jmp loop +execute: .hello: -mov si, hello +mov si, input +mov di, command.hello +call compare +jnc .echo +call hello +jmp loop +.echo: +mov si, input +mov di, command.echo +call compare +jnc .unknown +call echo +jmp loop +.unknown: +mov si, command.unknown call print jmp loop -.echo: -call read -cmp byte [input], 0 -je loop -mov si, input -call print -mov si, newline -call print -jmp loop +;Calls print: lodsb @@ -132,12 +130,39 @@ ret stc ret +hello: +mov si, .msg +call print +ret +.msg: +db "Hello world!", 0xd, 0xa, 0 + +echo: +call read +cmp byte [input], 0 +je loop +mov si, input +call print +mov si, newline +call print +ret + +;Data + welcome: db 0xd, 0xa, "Welcome to EttinOS!", 0xd, 0xa, 0xd, 0xa, 0 prompt: db "> ", 0 +command: +.hello: +db "hello", 0 +.echo: +db "echo", 0 +.unknown: +db "Unknown command", 0xd, 0xa, 0 + newline: db 0xd, 0xa, 0 @@ -145,14 +170,3 @@ input: times 0x80 db 0 .end: db 0 - -unknown: -db "Unknown command", 0xd, 0xa, 0 - -cmdhello: -db "hello", 0 -hello: -db "Hello world!", 0xd, 0xa, 0 - -cmdecho: -db "echo", 0