Pergunta
Estou procurando fazer uma ferramenta de depuração de hardware que seja executada na CPU nu (x86), no modo protegido de 32 bits e nenhum sistema operacional. Devido a restrições de tempo, não escreverei a ferramenta tudo na montagem x86. Gosto da linguagem ADA (mas sou inexperiente com ela) e achei que seria interessante usar a ADA em vez de C para este projeto.
Com C, pode -se usar subprogramas de montagem embutida ou chamada escritos na montagem para acessar o BIOS para coisas básicas, como E/S do teclado ou exibir texto na tela. ADA tem uma capacidade semelhante? E se sim, alguém conhece algum recurso ou tutorial para chamar métodos de montagem e vincular a eles?
Solução
Você pode usar o código de montagem embutido no ADA. Você precisa usar o System.Machine_Code
pacote que fornece o (sobrecarregado) Asm
função.
Outras dicas
O manual de referência de Gnat tem uma seção sobre Inserções de código da máquina, e embora seja específico para o mosquito, deve-se ter uma noção geral de como funciona, mesmo se você estiver usando um compilador diferente.