DocAda(tm) is a productivity tool of KSCE

Prev | Up | Next | Back | Forward
About DocAda Light: Preface / Preliminary / Help / TOC / Copyright
DocAda Online at the Ada Home: Complete RM95 / Updates / News

13.8 Machine Code Insertions

A machine code insertion can be achieved by a call to a subprogram whose sequence_of_statements contains code_statements.

Syntax

   
       code_statement ::= qualified_expression;

Name Resolution Rules

The qualified_expression is expected to be of any type.

Legality Rules

The qualified_expression shall be of a type declared in package System.Machine_Code.

A code_statement shall appear only within the scope of a with_clause that mentions package System.Machine_Code.

Static Semantics

The contents of the library package System.Machine_Code (if provided) are implementation defined. The meaning of code_statements is implementation defined. Typically, each qualified_expression represents a machine instruction or assembly directive.

Implementation Permissions

An implementation may place restrictions on code_statements. An implementation is not required to provide package System.Machine_Code.

Examples

Example of a code statement:

    
       M : Mask;
       procedure Set_Mask; pragma Inline(Set_Mask);

       procedure Set_Mask is
         use System.Machine_Code; -- assume ``with System.Machine_Code;'' appears somewhere above
       begin
         SI_Format'(Code => SSM, B => M'Base_Reg, D => M'Disp);
         --  Base_Reg and Disp are implementation-defined attributes
       end Set_Mask;

About DocAda Light: Preface / Preliminary / Help / TOC / Copyright
DocAda Online at the Ada Home: Complete RM95 / Updates / News
Prev | Up | Next | Back | Forward


Copyright © 1994-1997 by Kempe Software Capital Enterprises. All Rights Reserved. For comments on this DocAda(tm) hypertext document, please write to KSCE, at docada@ksce.com