This commit is contained in:
Garen Chan 2023-09-30 21:44:04 -03:00 committed by GitHub
commit 288f5f6d29
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
7 changed files with 15 additions and 13 deletions

View File

@ -11,7 +11,9 @@ and think on a strategy.
Take a look at the new folder structure. Most of the files have been symlinked
from previous lessons, so if we have to change them at some point, it will be
a better idea to remove the symlink and create a new file.
a better idea to remove the symlink and create a new file. Open `boot/bootsect.asm`
and note that since our kernel will be larger, the number of sectors to read when
loading it from disk has increased from `2` to `16`.
Furthermore, since from now on we will use mostly C to code, we'll take advantage of qemu's
ability to open a connection to gdb. First, let's install a cross-compiled `gdb` since

View File

@ -2,7 +2,7 @@
; this is how constants are defined
VIDEO_MEMORY equ 0xb8000
WHITE_OB_BLACK equ 0x0f ; the color byte for each character
WHITE_ON_BLACK equ 0x0f ; the color byte for each character
print_string_pm:
pusha
@ -10,7 +10,7 @@ print_string_pm:
print_string_pm_loop:
mov al, [ebx] ; [ebx] is the address of our character
mov ah, WHITE_OB_BLACK
mov ah, WHITE_ON_BLACK
cmp al, 0 ; check if end of string
je print_string_pm_done

View File

@ -2,7 +2,7 @@
; this is how constants are defined
VIDEO_MEMORY equ 0xb8000
WHITE_OB_BLACK equ 0x0f ; the color byte for each character
WHITE_ON_BLACK equ 0x0f ; the color byte for each character
print_string_pm:
pusha
@ -10,7 +10,7 @@ print_string_pm:
print_string_pm_loop:
mov al, [ebx] ; [ebx] is the address of our character
mov ah, WHITE_OB_BLACK
mov ah, WHITE_ON_BLACK
cmp al, 0 ; check if end of string
je print_string_pm_done

View File

@ -2,7 +2,7 @@
; this is how constants are defined
VIDEO_MEMORY equ 0xb8000
WHITE_OB_BLACK equ 0x0f ; the color byte for each character
WHITE_ON_BLACK equ 0x0f ; the color byte for each character
print_string_pm:
pusha
@ -10,7 +10,7 @@ print_string_pm:
print_string_pm_loop:
mov al, [ebx] ; [ebx] is the address of our character
mov ah, WHITE_OB_BLACK
mov ah, WHITE_ON_BLACK
cmp al, 0 ; check if end of string
je print_string_pm_done

View File

@ -2,7 +2,7 @@
; this is how constants are defined
VIDEO_MEMORY equ 0xb8000
WHITE_OB_BLACK equ 0x0f ; the color byte for each character
WHITE_ON_BLACK equ 0x0f ; the color byte for each character
print_string_pm:
pusha
@ -10,7 +10,7 @@ print_string_pm:
print_string_pm_loop:
mov al, [ebx] ; [ebx] is the address of our character
mov ah, WHITE_OB_BLACK
mov ah, WHITE_ON_BLACK
cmp al, 0 ; check if end of string
je print_string_pm_done

View File

@ -2,7 +2,7 @@
; this is how constants are defined
VIDEO_MEMORY equ 0xb8000
WHITE_OB_BLACK equ 0x0f ; the color byte for each character
WHITE_ON_BLACK equ 0x0f ; the color byte for each character
print_string_pm:
pusha
@ -10,7 +10,7 @@ print_string_pm:
print_string_pm_loop:
mov al, [ebx] ; [ebx] is the address of our character
mov ah, WHITE_OB_BLACK
mov ah, WHITE_ON_BLACK
cmp al, 0 ; check if end of string
je print_string_pm_done

View File

@ -2,7 +2,7 @@
; this is how constants are defined
VIDEO_MEMORY equ 0xb8000
WHITE_OB_BLACK equ 0x0f ; the color byte for each character
WHITE_ON_BLACK equ 0x0f ; the color byte for each character
print_string_pm:
pusha
@ -10,7 +10,7 @@ print_string_pm:
print_string_pm_loop:
mov al, [ebx] ; [ebx] is the address of our character
mov ah, WHITE_OB_BLACK
mov ah, WHITE_ON_BLACK
cmp al, 0 ; check if end of string
je print_string_pm_done