Ада и сборка - PullRequest
       34

Ада и сборка

5 голосов
/ 21 мая 2009

Я смотрю на создание аппаратного средства отладки, которое работает на голом процессоре (x86), в 32-битном защищенном режиме и без ОС. Из-за нехватки времени я не буду писать инструмент в сборке x86. Мне нравится язык Ada (но я неопытен с ним) и думаю, что было бы интересно использовать Ada, а не C для этого проекта.

С C можно использовать встроенную сборку или вызывать подпрограммы, написанные на ассемблере, чтобы получить доступ к BIOS для таких базовых вещей, как ввод-вывод с клавиатуры или отображение текста на экране. Ада имеет подобную возможность? И если да, кто-нибудь знает какие-либо ресурсы или учебные пособия для вызова методов сборки и связи с ними?

Ответы [ 2 ]

5 голосов
/ 21 мая 2009

Вы можете использовать встроенный ассемблерный код в Ada. Вам необходимо использовать пакет System.Machine_Code, который предоставляет (перегруженную) функцию Asm.

2 голосов
/ 21 мая 2009

Справочное руководство по GNAT содержит раздел Вставки машинного кода , и, хотя оно специфично для GNAT, можно получить общее представление о том, как оно работает, даже если вы используете другой компилятор .

...