Давайте перейдем к самому языку для понимания сущности асма.
напишем "ОС", которая напишет на экран "В":

org 7C00h

mov al, "B" mov ah, 0Eh int 10h

cli hlt jmp $-2

times 510-$+$ db 00h dw 0AA55h

Давайте разберем данный код.

org 07C00h

Подробно поговорим об этом позже, сейчас просто запомните,
что это нужно для такой "ОС" в начале кода.

mov al, "B"

Положим в регистр АL букву В, храниться она, само собой,
будет как число.

mov ah, 0Eh

Положим в регистр АH число 14, это номер команды.

int 10h

возбудим прерывание БИОСа. это прерывание(№10)
работает с экраном и называется "Видеосервис БИОС"

прерывание №10, с командой №14 выводит букву из AL
на экран после последней написанной на экран буквы
и возвращает управление.

cli

Поговорим об этом позже. Просто запомните, что это нужно
для следующей команды.

hlt

Говорим процессору зависнуть.

jmp $-2

Говорим процессору прыгнуть в строку где написано cli,
чтобы снова зависнуть. Требуется, если процессор
каким-то чудом развиснет.

times 510-$+$$ db 00h

Поговорим об этом позже. Запомните, что эта и следующая
строка требуются для такого рода "ОС".

Можете попробовать поиграть с кодом и попробовать
написать "Hello, world!". У вас все получится!

Предыдущий урок: https://habr.com/ru/post/666450/

Следующий урок: https://habr.com/ru/post/666458/

Комментарии (9)


  1. CrashLogger
    18.05.2022 17:51

    Вы же сами писали в прошлой статье, что DOS и 16-битный режим никому не нужны, а теперь именно про них и рассказываете. Кому это интересно в 2022 году ?


    1. TalismanChet Автор
      18.05.2022 18:05

      Это только начало. Это не значит, что не будет перехода в защищенный режим и т.д.


  1. staticmain
    18.05.2022 18:14

    В чем смысл статей из 10ти строчек без подробного объяснения работы процессора\кешей\памяти\прерываний?


    1. TalismanChet Автор
      18.05.2022 18:18

      а следующие уроки? я специально ссылки оставляю!