-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathbootloader.asm
More file actions
80 lines (65 loc) · 1 KB
/
bootloader.asm
File metadata and controls
80 lines (65 loc) · 1 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
bits 16
mov ax, 0x07C0
mov ds, ax
mov ax, 0x07E0
mov ss, ax
mov sp, 0x2000
call clearscreen
push 0x0000
call movecursor
add sp, 2
push msg
call print
add sp, 2
cli
hlt
clearscreen:
push bp
mov bp, sp
pusha
mov ah, 0x07
mov al, 0x00
mov bh, 0x07
mov cx, 0x00
mov dh, 0x18
mov dl, 0x4f
int 0x10
popa
mov sp, bp
pop bp
ret
movecursor:
push bp
mov bp, sp
pusha
mov dx, [bp+4]
mov ah, 0x02
mov bh, 0x00
int 0x10
popa
mov sp, bp
pop bp
ret
print:
push bp
mov bp, sp
pusha
mov si, [bp+4]
mov bh, 0x00
mov bl, 0x00
mov ah, 0x0E
.char:
mov al, [si]
add si, 1
or al, 0
je .return
int 0x10
jmp .char
.return:
popa
mov sp, bp
pop bp
ret
msg: db "Test string", 0
times 510-($-$$) db 0
dw 0xAA55