Чтобы написать вашу первую программу (а именно операционную систему, но на уровне bootloader) вы можете воспользоваться NASM (Netwide Assembler) под архитектуру x86
Мне, к примеру, нравится больше переписанная реализация с более широким списком архитектур YASM (https://yasm.tortall.net/), но для начала вам хватит и NASM.
В чём он хорош?
- BSD License
- Простой и понятный синтаксис
Ставим компилятор и виртуализатор (qemu), для примера будет использоваться brew:
brew install nasm qemu
Далее берём код из закрепленного комментария к этой публикации и закидываем в boot.asm файл
Компилим
Запускаем
Наслаждаемся, команда вывода в последней строке после msg
Как залить в Live USB?
sudo dd if=boot.com of=/dev/sdb bs=512 count=1
Статья в Википедии про синтаксис (англ.): https://en.wikibooks.org/wiki/X86_Assembly/NASM_Syntax
Статья в Википедии о технологии (рус.): https://ru.wikipedia.org/wiki/NASM
Руководство с metanit на русском: https://metanit.com/assembler/nasm/
Официальный веб-сайт: https://www.nasm.us/
Код на nasm в закрепленном комментарии к этому посту.
А если хочешь чаще читать наши публикации и быть в курсе вообще всего, то для доступа к нашим публикациям переходи в канал @digitable_blog , а еще разные услуги можно найти в нашем интернет-магазине https://digitable.ru/