Материал Чтобы написать вашу первую программу (а именно операционную систему, но на ур…
0%

Чтобы написать вашу первую программу (а именно операционную систему, но на ур…

cover Чтобы написать вашу первую программу (а именно операционную систему, но на уровне 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/

Ставьте Ваши реакции и задавайте вопросы в комментариях, они помогают стать нам лучше! 👇

Оригинал в Telegram

Нашли неточность? Выделите фрагмент текста — рядом появится жучок.

Нужен разбор именно вашей ситуации?

Статья описывает общий случай. Если у вас частный — можно разобрать его отдельно, платно. А если не хватает целого материала, предложите тему: её оплачивают вскладчину, и она выходит открытой для всех.

Доска запросов