diff --git a/README.md b/README.md index 38ce06f..215ac34 100644 --- a/README.md +++ b/README.md @@ -1,3 +1,3 @@ -Kernel written in Assmebly -I don't really know what I'm doing -I am using the MikeOS bootloader (which is why I've got the MikeOS license) +Kernel written in Assmebly
+I don't really know what I'm doing
+I am using the MikeOS bootloader (which is why I've got the MikeOS license)
diff --git a/disk_images/crawos.flp b/disk_images/crawos.flp index 72c0016..247e5bf 100644 Binary files a/disk_images/crawos.flp and b/disk_images/crawos.flp differ diff --git a/disk_images/crawos.iso b/disk_images/crawos.iso index ab522e0..a657729 100644 Binary files a/disk_images/crawos.iso and b/disk_images/crawos.iso differ diff --git a/source/.kernel.asm.swp b/source/.kernel.asm.swp index 930c8e3..e50700a 100644 Binary files a/source/.kernel.asm.swp and b/source/.kernel.asm.swp differ diff --git a/source/features/.cli.asm.swp b/source/features/.cli.asm.swp index 13e6378..0983c75 100644 Binary files a/source/features/.cli.asm.swp and b/source/features/.cli.asm.swp differ diff --git a/source/features/.strings.asm.swp b/source/features/.strings.asm.swp new file mode 100644 index 0000000..182d119 Binary files /dev/null and b/source/features/.strings.asm.swp differ diff --git a/source/features/cli.asm b/source/features/cli.asm index 852bdf1..7e2765f 100644 --- a/source/features/cli.asm +++ b/source/features/cli.asm @@ -1,5 +1,7 @@ os_start_cli: pusha + + call os_print_newline mov si, prompt call os_print_string @@ -19,14 +21,6 @@ os_read_cli: .output_the_user_input: call os_print_newline - mov si, command_result_text - call os_print_string - - mov si, user_input - call os_print_string - - call os_print_newline - .check_matches: ; Check if the user input matches any internal commands mov si, user_input mov di, help_string @@ -40,10 +34,13 @@ os_read_cli: print_help_text: mov si, help_text call os_print_string_nl + call os_read_cli.finish user_input times 20 db 0 -prompt db 'CrawOS > ', 0 +prompt db 'CrawOS: ', 0 help_string db 'HELP', 0 -help_text db 'This is CrawOS', 0 +help_text db 'This is CrawOS, type "HELP" for help', 0 command_result_text db 'You typed: ', 0 +true db 'TRUE', 0 +false db 'FALSE', 0 diff --git a/source/features/strings.asm b/source/features/strings.asm index a921896..01abb11 100644 --- a/source/features/strings.asm +++ b/source/features/strings.asm @@ -7,7 +7,7 @@ ; ^ ; SI => lodsb loads value stored at SI to AX and then increments SI if DF is 0 os_compare_strings: - pusha + cld .compare: lodsb @@ -19,10 +19,8 @@ os_compare_strings: .unequal: mov cl, 0 ; Change to 0 if unquality is proven - popa ret .equal: mov cl, 1 - popa ret diff --git a/source/kernel.asm b/source/kernel.asm index 6a0663b..a34ecb3 100755 --- a/source/kernel.asm +++ b/source/kernel.asm @@ -37,7 +37,7 @@ os_main: je no_change no_change: - call os_clear_screen + call print_help_text call os_start_cli bootdev db 0 diff --git a/source/kernel.bin b/source/kernel.bin index 0067e28..c2df7e4 100644 Binary files a/source/kernel.bin and b/source/kernel.bin differ