Ассемблер. Урок 1

от автора

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

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/

Следующий урок: здесь_будет_ссылка

Только зарегистрированные пользователи могут участвовать в опросе. Войдите, пожалуйста.
Следующий урок?
16.67% Да 1
83.33% Не 5
Проголосовали 6 пользователей. Воздержался 1 пользователь.

ссылка на оригинал статьи https://habr.com/ru/post/666452/


Комментарии

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *