Изврат и ВелосипедСтатьи

Операционная система

Автор:

Первые шаги... Операционная система.

ZUXIS - так я назвал своё детище.
Не спрашивайте почему, я стесняюсь. Потом как нибудь расскажу.

Код выкладываю сюда. Если что, давайте смело её менять, модифицировать. Её или, если предложите идею умней (Linuxы, Unixы, Windowsы, MacOSы, OS/2сы, DOSы не предлагать), я вам повинуюсь. Если что, меняйте всё, только согласовано! Это основная концепция!

[29.01.2008]: Начался суръёзный кодинг.
Вот начальный код на асме:

;================================
;
; OS Zuxis VE
; (C)2007-2008 Polezhayev Kyrylo
;
;================================

org 0x7c00
use16

 ; Real mode loader
 jmp short rml
 nop
 rml:
 xor ax, ax
 cli
 mov ss, ax
 mov sp, rml
 sti
 mov ds, ax
 mov es, ax
 mov ch, 0
 mov bx, 0x7e00
 mov ah, 0x02
 mov al, 17
 mov cl, 2
 mov dl, 0
 mov dh, 0
 int 0x13
 jmp 0x7e00
 db 474 dup 0
 db 0xaa, 0x55

org 0x7e00

 ; Protected mode loader
 pml:
 cli
 mov al,00010001b
 out 0x20, al
 mov al, 0x20
 out 0x21, al
 mov al, 00000100b
 out 0x21, al
 mov al, 00000001b
 out 0x21, al
 ; Enable A20
 in al, 0x92
 or al, 2
 out 0x92, al

 lgdt [gd_reg]

 push word 0
 popf
 ; Enable protected mode
 mov eax, cr0
 or al, 1
 mov cr0, eax
 jmp 16:_protected

use32
 _protected:
 mov ax, 1000b
 mov es, ax
 mov ds, ax
 mov ss, ax

6 января 2008 (Обновление: 29 янв 2008)