bios
This commit is contained in:
@@ -1,3 +1,4 @@
|
||||
bits 16
|
||||
org 0x7c00
|
||||
|
||||
halt:
|
||||
34
boot/util.asm
Normal file
34
boot/util.asm
Normal file
@@ -0,0 +1,34 @@
|
||||
%define cr 0x0a
|
||||
%define lf 0x0d
|
||||
%define endl 0x0
|
||||
|
||||
; Reads a character
|
||||
; out:
|
||||
; al = asci character
|
||||
; ah = scan code
|
||||
read_char:
|
||||
mov ah, 0
|
||||
int 0x16
|
||||
ret
|
||||
|
||||
; Prints a character
|
||||
; in:
|
||||
; al = asci character to print
|
||||
print_char:
|
||||
mov ah, 0x0e
|
||||
int 0x10
|
||||
ret
|
||||
|
||||
; Prints a null terminated string
|
||||
; in:
|
||||
; si = null terminated string pointer
|
||||
print_line:
|
||||
.loop:
|
||||
cmp byte [si], 0
|
||||
je .done
|
||||
mov al, [si]
|
||||
call print_char
|
||||
inc si
|
||||
jmp .loop
|
||||
.done:
|
||||
ret
|
||||
10
makefile
10
makefile
@@ -1,8 +1,8 @@
|
||||
boot.bin: boot.asm
|
||||
nasm -o boot.bin boot.asm
|
||||
boot/boot.bin: boot/boot.asm
|
||||
nasm -o boot/boot.bin boot/boot.asm
|
||||
|
||||
run: boot.bin
|
||||
qemu-system-x86_64 boot.bin
|
||||
run: boot/boot.bin
|
||||
qemu-system-x86_64 -drive file=boot/boot.bin,format=raw,index=0,media=disk
|
||||
|
||||
clean:
|
||||
rm boot.bin
|
||||
rm boot/boot.bin
|
||||
Reference in New Issue
Block a user