This repository has been archived by the owner on Nov 27, 2022. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathzero.asm
87 lines (70 loc) · 3.46 KB
/
zero.asm
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
81
82
83
84
85
86
87
;===============================================================================
; Copyright (C) Andrzej Adamczyk (at https://blackdev.org/). All rights reserved.
; GPL-3.0 License
;
; Main developer:
; Andrzej Adamczyk
;===============================================================================
%define PROGRAM_NAME "zero"
%define PROGRAM_VERSION "1.0"
;===============================================================================
; 16 bitowy kod głównego programu rozruchowego =================================
;===============================================================================
[bits 16]
; pozycja kodu w przestrzeni segmentu CS
[org 0x1000]
;===============================================================================
zero:
; inicjalizuj tryb tekstowy 80x25
mov ax, 0x0003
int 0x10
;-----------------------------------------------------------------------
; wczytaj plik jadra systemu
;-----------------------------------------------------------------------
%include "zero/storage.asm"
;-----------------------------------------------------------------------
; przygotuj mapę pamięci
;-----------------------------------------------------------------------
%include "zero/memory.asm"
;-----------------------------------------------------------------------
; włącz tryb graficzny
;-----------------------------------------------------------------------
%include "zero/graphics.asm"
;-----------------------------------------------------------------------
; przełącz procesor w tryb 32 bitowy
;-----------------------------------------------------------------------
%include "zero/protected_mode.asm"
;-----------------------------------------------------------------------
; przełącz procesor w tryb 64 bitowy
;-----------------------------------------------------------------------
%include "zero/long_mode.asm"
;-----------------------------------------------------------------------
; konfiguruj obslugę wyjątków i przerwań sprzętowych
;-----------------------------------------------------------------------
%include "zero/idt.asm"
;-----------------------------------------------------------------------
; włącz przerwania sprzętowe na kontrolerze PIC
;-----------------------------------------------------------------------
%include "zero/pic.asm"
;-----------------------------------------------------------------------
; wyłącz przerwanie na kontrolerze PIT
;-----------------------------------------------------------------------
%include "zero/pit.asm"
;-----------------------------------------------------------------------
; przekaż wszystkie niezbędne informacje do jadra systemu
;-----------------------------------------------------------------------
%include "zero/kernel.asm"
;-----------------------------------------------------------------------
; procedura zaokrąglająca adres do pełnej strony
;-----------------------------------------------------------------------
%include "zero/page.asm"
;-----------------------------------------------------------------------
; procedury wyświetlające litery/znaki/cyfry
;-----------------------------------------------------------------------
%include "zero/print.asm"
;-----------------------------------------------------------------------
; zmienne programu rozruchowego
;-----------------------------------------------------------------------
%include "zero/data.asm"
;===============================================================================
zero_end: