From 74aae839a755bd8e68b07293a5ee63917239ff16 Mon Sep 17 00:00:00 2001 From: hyper1923 <82442186+hyper1923@users.noreply.github.com> Date: Fri, 29 Jul 2022 23:29:08 +0300 Subject: [PATCH] Add files via upload --- bootloader/bootloader.asm | 15 +++++++++ bootloader/disk.asm | 16 +++++++++ bootloader/print.asm | 24 ++++++++++++++ build/x86_64/armenianOS-x86_64.flp | Bin 0 -> 2660 bytes compile.bat | 13 ++++++++ kernel/cpuid.asm | 30 +++++++++++++++++ kernel/gdt.asm | 34 +++++++++++++++++++ kernel/kernel.asm | 51 +++++++++++++++++++++++++++++ kernel/kmain.cpp | 10 ++++++ kernel/paging.asm | 32 ++++++++++++++++++ 10 files changed, 225 insertions(+) create mode 100644 bootloader/bootloader.asm create mode 100644 bootloader/disk.asm create mode 100644 bootloader/print.asm create mode 100644 build/x86_64/armenianOS-x86_64.flp create mode 100644 compile.bat create mode 100644 kernel/cpuid.asm create mode 100644 kernel/gdt.asm create mode 100644 kernel/kernel.asm create mode 100644 kernel/kmain.cpp create mode 100644 kernel/paging.asm diff --git a/bootloader/bootloader.asm b/bootloader/bootloader.asm new file mode 100644 index 0000000..16834fe --- /dev/null +++ b/bootloader/bootloader.asm @@ -0,0 +1,15 @@ +org 0x7c00 + + +mov [BOOT_DISK], dl +mov bp, 0x7c00 +mov sp, bp +call boot + + + + +%include "bootloader/disk.asm" + +times (510-($-$$)) db 0 +dw 0xaa55 \ No newline at end of file diff --git a/bootloader/disk.asm b/bootloader/disk.asm new file mode 100644 index 0000000..a51c1a3 --- /dev/null +++ b/bootloader/disk.asm @@ -0,0 +1,16 @@ +PROGRAM_SPACE equ 0x7e00 + +boot: + mov ah, 0x02 + mov dl, [BOOT_DISK] + mov bx, PROGRAM_SPACE + mov al, 32 + mov ch, 0x00 + mov dh, 0x00 + mov cl, 0x02 + int 0x13 + jmp PROGRAM_SPACE + + +BOOT_DISK: + db 0 \ No newline at end of file diff --git a/bootloader/print.asm b/bootloader/print.asm new file mode 100644 index 0000000..5db7d70 --- /dev/null +++ b/bootloader/print.asm @@ -0,0 +1,24 @@ +[bits 16] +ClearScreen: + mov ah, 00h + mov al, 03h + int 10h + +PrintString: + push ax + push bx + + mov ah, 0x0e + .Loop: + cmp [bx], byte 0 + je .Exit + mov al, [bx] + int 0x10 + inc bx + jmp .Loop + .Exit: + pop ax + pop bx + ret + + diff --git a/build/x86_64/armenianOS-x86_64.flp b/build/x86_64/armenianOS-x86_64.flp new file mode 100644 index 0000000000000000000000000000000000000000..d39c7b7615cd3d9a620202523f2f6e10b533df14 GIT binary patch literal 2660 zcmeH|&r1SP5XZl}rn`{#mVQ`J;Nl+;6?E!Q;iWohA_$$64nY^8h%m*7^st1-&`ZZI z8CYycWG$!{v16x_sCfOjB?KMXW~Kg#*nv0SnK$n}m=6zT&+Fg1z*gp+10^v_Ss96< zdWtigh>gCNI{~)+TLO_I?gJmd7ZbeU1XC-qbX{Qn$}3OEc+9!Q=bTYO(a}(X;Zjd> z8gVHrHI%?xJGx~2Q87)54w~p_u8BcRC4j1Po_w?F43Qig`Do^95>OE=6Ls#z(;V^-{#0m=?KdJYlD_)>;dP1ody52m)# zb(Q&B=Trup@PJ-sW7Lm_@+386#B>GPt#+eTw3f!XQv&#kX_|c9ayyn=AouFs24wIj zm-UiuHUXP}O~58#6ZoeDB6FE19m#G~F{g_iUDmrgx~jW=Rqp88+c(hv%R$&&gs`Cq e!){65r)fJx`y;f9G(<