From 18802a2957af5c3ec86689c3c98831eb6a11c6ad Mon Sep 17 00:00:00 2001 From: Jonathan Turner Date: Mon, 11 Sep 2023 13:54:09 -0400 Subject: [PATCH] Initial Provided Files. --- Part1/.DS_Store | Bin 0 -> 6148 bytes Part1/basic.asm | 13 +++++++++++++ Part1/kernel.tar.gz | Bin 0 -> 47540 bytes Part1/print.asm | 45 ++++++++++++++++++++++++++++++++++++++++++++ Part1/test.md | 0 5 files changed, 58 insertions(+) create mode 100644 Part1/.DS_Store create mode 100644 Part1/basic.asm create mode 100644 Part1/kernel.tar.gz create mode 100644 Part1/print.asm delete mode 100644 Part1/test.md diff --git a/Part1/.DS_Store b/Part1/.DS_Store new file mode 100644 index 0000000000000000000000000000000000000000..5008ddfcf53c02e82d7eee2e57c38e5672ef89f6 GIT binary patch literal 6148 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 z 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 literal 0 HcmV?d00001 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