]> git.lizzy.rs Git - nyax.git/blob - stage3/main.asm
Skyblue
[nyax.git] / stage3 / main.asm
1 global _start
2 extern print_str, print_dec, print_hex, print_chr, clear_screen, page_map, page_region
3
4 %define GFXINFO 0x1000-10
5
6 section .data
7
8 headline: db "nyax stage3", 10, 10, 0
9
10 gfxregion:
11         .start: dq 0
12         .size: dq 0
13         .type: dw 2
14         dw 0
15
16 section .text
17
18 _start:
19         call clear_screen
20
21         mov rdi, headline
22         call print_str
23
24         call page_map
25
26         ;mov qword[rbx], -1
27
28         ;jmp $
29
30         movzx rax, word[GFXINFO+0]
31         movzx rbx, word[GFXINFO+4]
32         mov rcx, 4
33
34         xor rdx, rdx
35         mul rbx
36
37         xor rdx, rdx
38         mul rcx
39
40         xor rbx, rbx
41         mov ebx, [GFXINFO+6]
42
43         mov [gfxregion.start], rbx
44         mov [gfxregion.size], rax
45
46         mov r9, gfxregion
47         call page_region
48
49         mov rbx, [gfxregion.start]
50         mov rax, [gfxregion.size]
51
52         add rax, rbx
53
54 .clear:
55         mov dword[rbx], 0x87CEEB
56         add rbx, 4
57         cmp rbx, rax
58         jb .clear
59
60         jmp $