Вопрос
Я смотрю на создание инструмента аппаратного отладки, который работает на головом процессоре (x86), 32-разрядном защищенном режиме и без ОС. Из -за ограничений по времени я не буду писать инструмент в сборе x86. Мне нравится язык ADA (но я неопытен в этом), и я подумал, что было бы интересно использовать ADA, а не C для этого проекта.
С помощью C можно использовать встроенные сборки или подпрограммы вызова, записанные в сборке для доступа к BIOS для основных вещей, таких как ввод -вывод клавиатуры или отображение текста на экране. Есть ли у ADA подобные возможности? И если так, кто -нибудь знает о каких -либо ресурсах или учебных пособиях для вызова методов сборки и связи с ними?
Решение
Вы можете использовать встроенный код сборки в ADA. Вам нужно использовать System.Machine_Code
пакет, который обеспечивает (перегружено) Asm
функция
Другие советы
Справочное руководство GNAT имеет раздел о Вставки машинного кода, и хотя он специфичен для комара, нужно иметь возможность получить общее представление о том, как это работает, даже если вы используете другой компилятор.