3. Program Development

 

 

Writing a Program . . . . . . . . . . . . . . . . . . . . . . . . . .

3-2

How to Use Intrinsics . . . . . . . . . . . . . . . . . . . . . . . .

3-2

Compiling a Program . . . . . . . . . . . . . . . . . . . . . . . . .

3-3

Compiler Input . . . . . . . . . . . . . . . . . . . . . . . . . . .

3-3

Compiler Output . . . . . . . . . . . . . . . . . . . . . . . . . .

3-4

Compiler Operation . . . . . . . . . . . . . . . . . . . . . . . . .

3-4

Compiled Code . . . . . . . . . . . . . . . . . . . . . . . . . .

3-6

Data Variables Information . . . . . . . . . . . . . . . . . . . . .

3-6

Unresolved References . . . . . . . . . . . . . . . . . . . . . . .

3-6

Compiler Libraries . . . . . . . . . . . . . . . . . . . . . . . .

3-6

Command to Compile Only . . . . . . . . . . . . . . . . . . . .

3-6

Compiler Control . . . . . . . . . . . . . . . . . . . . . . . . .

3-7

Linking a Program . . . . . . . . . . . . . . . . . . . . . . . . . .

3-7

Creating Executable Program Files . . . . . . . . . . . . . . . . . .

3-9

Symbol Listing . . . . . . . . . . . . . . . . . . . . . . . . . . .

3-9

Loading and Running a Program . . . . . . . . . . . . . . . . . . . .

3-13

Program Auxiliary Header . . . . . . . . . . . . . . . . . . . . . .

3-13

Using Executable Libraries . . . . . . . . . . . . . . . . . . . . . .

3-14

Searching Executable Libraries . . . . . . . . . . . . . . . . . . . .

3-14

UNSAT Procedure . . . . . . . . . . . . . . . . . . . . . . . . .

3-14

System Libraries . . . . . . . . . . . . . . . . . . . . . . . . . .

3-15

Mixing Execution Modes . . . . . . . . . . . . . . . . . . . . . . .

3-15

Virtual Memory and Demand P aging . . . . . . . . . . . . . . . . .

3-16

LMAP: Load MAP . . . . . . . . . . . . . . . . . . . . . . . . .

3-16

Load-time Binding Sequence . . . . . . . . . . . . . . . . . . . . .

3-16

Running a Program . . . . . . . . . . . . . . . . . . . . . . . . .

3-16

Multi-programming En vironment . . . . . . . . . . . . . . . . . . . .

3-17

Priority Lev els . . . . . . . . . . . . . . . . . . . . . . . . . . .

3-17

Linear Subqueues . . . . . . . . . . . . . . . . . . . . . . . . .

3-17

Circular Subqueues . . . . . . . . . . . . . . . . . . . . . . . .

3-18

Error Detection . . . . . . . . . . . . . . . . . . . . . . . . . . . .

3-18

Command Interpreter Errors . . . . . . . . . . . . . . . . . . . . .

3-18

File System Errors . . . . . . . . . . . . . . . . . . . . . . . . .

3-18

Compiler, Link Editor, and Loader Errors . . . . . . . . . . . . . . .

3-18

Run-time Errors . . . . . . . . . . . . . . . . . . . . . . . . . .

3-19

Abort Message Information

. . . . . . . . . . . . . . . . . . . . .

3-19

Typical Causes of Program Aborts . . . . . . . . . . . . . . . . . .

3-20

File Information Display (T ombstone) . . . . . . . . . . . . . . . . .

3-20

Control Codes (JCWs) . . . . . . . . . . . . . . . . . . . . . . . .

3-21

System JCW . . . . . . . . . . . . . . . . . . . . . . . . . . . .

3-21

JCW Notation . . . . . . . . . . . . . . . . . . . . . . . . . . .

3-22

Using a System JCW . . . . . . . . . . . . . . . . . . . . . . . .

3-23

User-de￿ned JCWs . . . . . . . . . . . . . . . . . . . . . . . . .

3-24

Using a User-de￿ned JCW . . . . . . . . . . . . . . . . . . . . . .

3-24

Contents-3