diff --git a/Part1/.DS_Store b/Part1/.DS_Store new file mode 100644 index 0000000..5008ddf Binary files /dev/null and b/Part1/.DS_Store differ diff --git a/Part1/basic.asm b/Part1/basic.asm new file mode 100644 index 0000000..45e48eb --- /dev/null +++ b/Part1/basic.asm @@ -0,0 +1,13 @@ +; A simple boot sector program that loops forever +loop: + jmp loop +; the line below fills in remainder with zeros up to 510 bytes +times 510-($-$$) db 0 +; 386 CPUs required this number at end to recognize as bootsector +dw 0xaa55 +; Total Size is 512 bytes with two bytes for our bootloader code: + +;eb - the jump opcode +;fe - the relative offset (-2) +; Note the LittleEndian ordering when memory shown in hexdump + diff --git a/Part1/kernel.tar.gz b/Part1/kernel.tar.gz new file mode 100644 index 0000000..73daa44 Binary files /dev/null and b/Part1/kernel.tar.gz differ diff --git a/Part1/print.asm b/Part1/print.asm new file mode 100644 index 0000000..bf42f5b --- /dev/null +++ b/Part1/print.asm @@ -0,0 +1,45 @@ +mov ah, 0x0e ; set tty mode (teletype mode) of Interrupt 10h for character output (0x0e) +mov al, 'W' ; set a single byte, the output character +int 0x10 ; Call the interrupt routine +mov al, 'e' +int 0x10 +mov al, 'l' +int 0x10 +mov al, 'c' +int 0x10 +mov al, 'o' +int 0x10 +mov al, 'm' +int 0x10 +mov al, 'e' +int 0x10 +mov al, ' ' +int 0x10 +mov al, 't' +int 0x10 +mov al, 'o' +int 0x10 +mov al, ' ' +int 0x10 +mov al, ' ' +int 0x10 +mov al, 'O' +int 0x10 +mov al, 'S' +int 0x10 +mov al, '3' +int 0x10 +mov al, '5' +int 0x10 +mov al, '0' +int 0x10 +mov al, '2' +int 0x10 +mov al, '!' +int 0x10 + +jmp $ ; jump to current address = infinite loop this is your boot program + +; padding and magic number +times 510 - ($-$$) db 0 +dw 0xaa55 \ No newline at end of file diff --git a/Part1/test.md b/Part1/test.md deleted file mode 100644 index e69de29..0000000