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 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 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 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 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 ; this is how constants are defined
VIDEO_MEMORY equ 0xb8000 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: print_string_pm:
pusha pusha
@ -10,7 +10,7 @@ print_string_pm:
print_string_pm_loop: print_string_pm_loop:
mov al, [ebx] ; [ebx] is the address of our character 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 cmp al, 0 ; check if end of string
je print_string_pm_done je print_string_pm_done

View File

@ -2,7 +2,7 @@
; this is how constants are defined ; this is how constants are defined
VIDEO_MEMORY equ 0xb8000 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: print_string_pm:
pusha pusha
@ -10,7 +10,7 @@ print_string_pm:
print_string_pm_loop: print_string_pm_loop:
mov al, [ebx] ; [ebx] is the address of our character 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 cmp al, 0 ; check if end of string
je print_string_pm_done je print_string_pm_done

View File

@ -2,7 +2,7 @@
; this is how constants are defined ; this is how constants are defined
VIDEO_MEMORY equ 0xb8000 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: print_string_pm:
pusha pusha
@ -10,7 +10,7 @@ print_string_pm:
print_string_pm_loop: print_string_pm_loop:
mov al, [ebx] ; [ebx] is the address of our character 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 cmp al, 0 ; check if end of string
je print_string_pm_done je print_string_pm_done

View File

@ -2,7 +2,7 @@
; this is how constants are defined ; this is how constants are defined
VIDEO_MEMORY equ 0xb8000 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: print_string_pm:
pusha pusha
@ -10,7 +10,7 @@ print_string_pm:
print_string_pm_loop: print_string_pm_loop:
mov al, [ebx] ; [ebx] is the address of our character 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 cmp al, 0 ; check if end of string
je print_string_pm_done je print_string_pm_done

View File

@ -2,7 +2,7 @@
; this is how constants are defined ; this is how constants are defined
VIDEO_MEMORY equ 0xb8000 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: print_string_pm:
pusha pusha
@ -10,7 +10,7 @@ print_string_pm:
print_string_pm_loop: print_string_pm_loop:
mov al, [ebx] ; [ebx] is the address of our character 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 cmp al, 0 ; check if end of string
je print_string_pm_done je print_string_pm_done

View File

@ -2,7 +2,7 @@
; this is how constants are defined ; this is how constants are defined
VIDEO_MEMORY equ 0xb8000 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: print_string_pm:
pusha pusha
@ -10,7 +10,7 @@ print_string_pm:
print_string_pm_loop: print_string_pm_loop:
mov al, [ebx] ; [ebx] is the address of our character 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 cmp al, 0 ; check if end of string
je print_string_pm_done je print_string_pm_done