If you need to write low-level software that interacts directly
with the hardware, Ada provides two ways for you to incorporate assembly
language code into your program. First, you can import and invoke
external routines written in assembly language, an Ada feature fully
supported by GNAT. However, for small sections of code, it may be simpler
or more efficient to include assembly language statements directly
in your Ada source program, using the facilities of the implementation-defined
package System.Machine_Code
, which incorporates the gcc
Inline Assembler. The Inline Assembler approach offers a number of advantages,
including the following:
This appendix presents a series of examples to show you how to use the Inline Assembler. Although it focuses on the Intel x86, the general approach applies also to other processors. It is assumed you are familiar with both Ada and assembly language programming.