Occam 2 toolset user manual - Part 2
March 1991
INMOS document number: 72-TDS-276-02
278 Pages
© INMOS Limited 1991.
Preface
The 'occam 2 toolset user manual' is a combined user and reference guide to the occam 2 toolset.
Part 2 'occam libraries and appendices' (this book) provides a detailed description of all the libraries supplied with the toolset. Technical reference data is given in the appendices at the end of this book which also includes a glossary of terms and a short bibliography.
A description of the toolset and how it is used to develop and run transputer programs is given in Part 1 'User guide and tools' (72-TDS-275-02).
References which span the two parts, take the form of a part number followed by a chapter or section number. Each part contains its own index.
This manual does not contain details of how to install the software, which is to be found in the Delivery Manual that accompanies the shipment.
Host versions
The manual is designed to cover all host versions of the toolset:
- IMS D7205 - IBM and NEC PC running MS-DOS
- IMS D5205 - Sun 3 systems running SunOS
- IMS D4205 - Sun 4 systems running SunOS
- IMS D6205 - VAX systems running VMS
Contents
Contents overview Contents Preface
Libraries
1 The occam libraries 1.1 Introduction 1.1.1 Using the occam libraries Linking libraries 1.1.2 Listing library contents 1.1.3 Toolset constants 1.2 Compiler libraries 1.2.1 User functions and procedures Maths functions 2D block moves Bit manipulation functions Supplementary arithmetic support functions Dynamic code loading support procedures Transputer error flag manipulation Rescheduling priority process queue 1.3 Maths libraries 1.3.1 Introduction Inputs Outputs Accuracy Symmetry The Function Specifications 1.3.2 Single length and double length elementary function libraries 1.3.3 IMS T400, T414 and T425 elementary function library 1.4 Host file server library 1.4.1 Errors and the C run time library 1.4.2 Inputting real numbers 1.4.3 Procedure descriptions 1.4.4 File access routines Procedure definitions 1.4.5 General host access Procedure definitions 1.4.6 Keyboard Input Procedure definitions 1.4.7 Screen output Procedure definitions 1.4.8 File output Procedure definitions 1.4.9 Miscellaneous commands Time processing Buffers and multiplexors 1.5 Streamio library 1.5.1 Naming conventions 1.5.2 Stream processes Procedure definitions 1.5.3 Stream Input Procedure definitions 1.5.4 Stream output Procedure definitions 1.6 String handling library 1.6.1 Character identification 1.6.2 String comparison 1.6.3 String searching 1.6.4 String editing 1.6.5 Line parsing 1.7 Type conversion library 1.7.1 Procedure definitions 1.8 Block CRC library 1.8.1 Function definitions 1.9 Extraordinary link handling library 1.9.1 Procedure definitions 1.10 Debugging support library 1.10.1 Procedure definitions 1.11 Mixed languages support library 1.11.1 Procedure definitions 1.12 DOS specific hostio library 1.12.1 Procedure definitions
Appendices
A Names defined by the software B Transputer instruction set support B.1 Pseudo-instructions B.2 Prefixing instructions B.3 Direct instructions B.4 Operations B.4.1 Short indirect instructions B.4.2 Long indirect instructions B.5 Additional instructions for the T400, T414, T425 and TB B.6 Additional instructions for the IMS T800, T801 and T805 B.6.1 Floating-point instructions B.7 Additional instructions for the IMS T225, T400, T425, T800, T801 and T805 B.8 Additional instructions for the IMS T225, T400, T425, T801 and T805 B.9 Differences between ASM and GUY C Constants C.1 Hostio constants C.2 Streamio constants C.3 Maths constants C.4 Transputer link addresses C.5 Rates of the transputer clocks C.6 DOS specific constants D Implementation of occam on the transputer D.1 Memory allocation by the compiler D.1.1 Procedure code D.1.2 Compilation modules D.1.3 Workspace D.2 Type mapping D.3 Hardware dependencies D.4 Language D.5 Summary of implementation restrictions D.6 Syntax of language extensions D.6.1 ASM statement D.6.2 PLACE statements D.6.3 INLINE statement D.6.4 *l or *L character E Configuration language definition E.1 New types and specifications E.2 Software description E.3 Hardware description E.4 Mapping structure E.5 Constraints E.6 Changes from the IMS D705/D605/D505 products F Bootstrap loaders F.1 Introduction F.1.1 The example bootstrap Transfer of control F.1.2 Writing bootstrap loaders F.2 Example user bootstrap F.3 The INMOS Network Loader G ITERM G.1 Introduction G.2 The structure of an ITERM file G.3 The host definitions G.3.1 ITERM version G.3.2 Screen size G.4 The screen definitions G.4.1 Goto X Y processing G.5 The keyboard definitions G.6 Setting up the ITERM environment variable G.7 An example ITERM H Host file server protocol H.1 The host file server iserver H.2 The server protocol H.2.1 Packet size H.2.2 Protocol operation H.3 The server libraries H.3.1 Problems with packet size H.4 Porting the server H.5 Defined protocol H.5.1 Reserved values H.5.2 File commands H.5.3 Host commands H.5.4 Server commands I Glossary J Bibliography J.1 INMOS publications J.2 INMOS technical notes J.3 References