Давайте перейдем к самому языку для понимания сущности асма.
напишем «ОС», которая напишет на экран «В»:
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/666452/
Добавить комментарий