Вы здесь: HomeСтатьиОС своими руками

Введение

Добро пожаловать на этот бог который я хочу посвятить созданию ос своими руками.
Я желаю помочь всем кто хочет это сделать самостоятельно. Для этого я буду использовать язык ассемблера, а точнее ассемблер FASM. Почему именно fasm?
по началу выбор был на nasm и fasm (так как он поддерживаться и развиваются по сегодняшний день).  Но выбор упал на последний так как он написан на ассемблере и его макросинтаксис будет по побогаче, хотя принципиальной важности это не имеет, что не сказать про первое качество. Если хотим писать все на ассемблере то и сам ассемблер(компилятор) должен быть написан на нем.!))

Пишем загруочный сектор для ОС

В  данном посте хочу рассказать как можно запись исполняемый код в загрузочный сектор не задев при этом служебной информации о фат12(которая используется на дискете). Для большей ясности рекомендую прочесть статью на   харбе , прочитать про FAT а также на нашем сайте уже писалось по поводу загрузочного сектора.

И так приступим. Наш загрузчик должен быть компактен, чтоб его размер не превышал 256 байт(хотя можно и чуть больше,  я в данном примере копирую в сектор 432 (1b0h) байта то есть такой размер  кода может быть в загрузочном секторе , но реально 256 байт хватает с головой чтоб загрузить с дискеты файл и запустить его ). Для начала просто напишем код код который выводит на экран "Hello world!" . Для уменьшения кода я написал простенький макрос который используется в 2х местах _rwsecto, этот макрос как видите принимает два параметра, первый отвечает за запись/чтение второй буфер куда или от куда считывать.