Lesson 18

This commit is contained in:
Carlos Fenollosa
2015-02-03 19:12:51 +01:00
parent 69a7c1c2a6
commit 418bb11305
17 changed files with 412 additions and 16 deletions

View File

@@ -1 +0,0 @@
../../05-bootsector-functions-strings/boot_sect_print.asm

View File

@@ -0,0 +1,37 @@
print:
pusha
; keep this in mind:
; while (string[i] != 0) { print string[i]; i++ }
; the comparison for string end (null byte)
start:
mov al, [bx] ; 'bx' is the base address for the string
cmp al, 0
je done
; the part where we print with the BIOS help
mov ah, 0x0e
int 0x10 ; 'al' already contains the char
; increment pointer and do next loop
add bx, 1
jmp start
done:
popa
ret
print_nl:
pusha
mov ah, 0x0e
mov al, 0x0a ; newline char
int 0x10
mov al, 0x0d ; carriage return
int 0x10
popa
ret