M1750 Ada Technical Summary: For mission-critical applications | ||
---|---|---|
Prev | Chapter 3. Language-Related Issues | Next |
M1750 Ada supports all of the implementation-dependent features of Ada 95 Reference Manual Section 13 that have a useful meaning in an embedded system.
In particular:
The pragma Pack is supported.
Length clauses are supported, including the following:
Size specification for types
Small specification for fixed point types, using arbitrary values
Storage_Size specification for tasks
Enumeration representation clauses are supported.
Record representation clauses are supported.
Alignment clauses are supported (up to the maximum data object size).
Address clauses are supported for constants and variables.
The pragma Interface is supported.
Unchecked programming is supported.
The predefined package Machine_Code is supported.
The following are not supported:
interrupt entries for tasks
address clauses for subprograms, packages or tasks
the predefined packages Ada.Unchecked_Deallocation and Unchecked_Deallocation
the predefined package System.Storage_Pools
the predefined package Ada.Streams
Table 3-4 specifies values from the predefined package System.
The predefined type Address is 16 bits in size, and the unit of storage addressed is an 16-bit word. The value of the null address is zero. The type Address is declared in the visible part of package System, so that address expressions may contain numeric literals. M1750 Ada also declares the type Code_Address which is always 32 bits in size. This is used for the address of instructions.