Front Cover

Copyrights

Table of Contents

CHAPTER 1: PASCAL/MT+ INTRODUCTION AND OVERVIEW
1.1 HOW TO USE THIS MANUAL
1.2 SYSTEM OVERVIEW
1.3 SYSTEM REQUIREMENTS
1.4 RUN-TIME REQUIREMENTS
1.5 PASCAL/MT+ DISTRIBUTION DISK INFORMATION
1.6 MINIMUM CONFIGURATION

CHAPTER 2: HOW TO OPERATE THE PASCAL/MT+ SYSTEM
2.1 COMPILE AND RUN A SAMPLE PROGRAM
2.2 COMPILER OPERATION
2.2.1 INVOCATION and FILENAMES
2.2.2 COMPILER COMMAND LINE SWITCHES
2.2.3 COMPILATION DATA
2.2.4 COMPILER TOGGLES
2.2.4.1 Entry Point Record Generation (E)
2.2.4.2 Recursion and Stack Frame Allocation (S)
2.2.4.3 Include Files (I)
2.2.4.4 Setting the Stack Pointer (Z)
2.2.4.5 Strict Type and Portability Checking (T,W)
2.2.4.6 Run-time Range Checking (R)
2.2.4.7 Run-time Exception Checking (X)
2.2.4.8 Listing Controls (L,P)
2.2.4.9 Space Reduction: Real Arithmetic (C)
2.2.4.10 Space Reduction: Recursion (Qn)
2.2.4.11 Symbol Table Space Reduction (K)
2.2.4.12 Toggle Summary
2.2.5 ERROR MESSAGES
2.3 LINKER OPERATION
2.3.1 INVOCATION
2.3.2 LINKER OPTION SWITCHES
2.3.2.1 Run-time Libray Search (/S)
2.3.2.2 Memory Map (/M)
2.3.2.3 Load Maps (/L), (/E)
2.3.2.4 Program (/P) and Data (/D) Origin
2.3.2.5 Hex Output (/H)
2.3.2.6 Linker Input Command File (/F)
2.3.2.7 Overlay Switches
2.3.2.8 Linker Switch Summary
2.3.3 WHAT RELOCATABLE FILES ARE REQUIRED?
2.3.4 LINKER ERROR MESSAGES
2.3.5 ATTRIBUTES OF LINKABLE MODULES
2.3.6 USING OTHER LINKERS
2.4 DISASSEMBLER
2.4.1 INSTRUCTIONS
2.4.2 SAMPLE
2.5 DEBUGGER
2.5.1 INSTRUCTIONS
2.5.2 COMMAND FORMAT
2.6 LIBRARIAN, LIB/MT+
2.6.1 INVOCATION AND INPUT FILES
2.6.2 USE AS A LIBRARIAN
2.6.3 USE AS A CONVERTER TO L80 FORMAT

CHAPTER 3: PASCAL/MT+ LANGUAGE EXTENTIONS
3.1 MODULAR COMPILATION
3.2 PASCAL/MT+ : ASSEMBLY INTERFACING
3.2.1 ASSEMBLERS
3.2.2 NAMING CONSIDERATIONS
3.2.3 VARIABLE ACCESSING
3.2.3.1 Assembly Language Entry Points from Pascal
3.2.3.2 Pascal Entry Points From Assembly Language
3.2.4 DATA ALLOCATION
3.2.5 PARAMETER PASSING
3.2.6 RESTRICTIONS
3.2.7 ASSEMBLY LANGUAGE INTERFACE EXAMPLE
3.3 PASCAL/MT+ OVERLAYS
3.3.1 DEFINITION OF OVERLAYS
3.3.2 LINKING OVERLAYS AND ROOT PROGRAMS
3.3.2.1 Overlay Area Switch /V
3.3.2.2 Overlay Group and SYM Switch /0
3.3.2.3 Overlay Local Storage /X:
3.3.2.4 Linking Main Program
3.3.2.5 Linking an Overlay
3.3.2.6 Overlay Filenames
3.3.2.7 Linking a Program with Overlays
3.3.3 OVERLAY OPERATIONAL DESCRIPTION
3.3.3.1 Declaring an Overlay Procedure
3.3.3.2 Calling an Overlay Procedure
3.3.3.3 Overlays Calling Other Overlays
3.3.3.4 Access to Root Program Symbols
3.3.4 ERROR MESSAGES
3.3.5 EXAMPLE
3.4 BUILT-IN PROCEDURES AND FUNCTIONS
3.4.1 MOVE,MOVERIGHT, MOVELEFT
3.4.2 EXIT
3.4.3 @CMD
3.4.4 TSTBIT, SETBIT, CLRBIT
3.4.5 SHR, SHL
3.4.6 HI, LO, SWAP
3.4.7 ADDR
3.4.8 SIZEOF
3.4.9 FILLCHAR
3.4.10 LENGTH
3.4.11 CONCAT
3.4.12 COPY
3.4.13 POS
3.4.14 DELETE
3.4.15 INSERT
3.4.16 ASSIGN
3.4.17 WNB, GNB
3.4.18 BLOCKREAD, BLOCKWRITE
3.4.19 OPEN
3.4.20 CLOSE
3.4.21 PURGE
3.4.22 IORESULT
3.4.23 SEEKREAD, SEEKWRITE
3.4.24 READHEX, WRITEHEX
3.4.25 MEMAVAIL, MAXAVAIL
3.4.26 WAIT
3.4.27 RIM85, SIM85
3.4.28 QUICK REFERENCE GUIDE TO BUILT-INS
3.5 CHAINING
3.6 INTERRUPT PROCEDURES
3.7 NON-STANDARD DATA ACCESS METHODS
3.7.1 INP AND OUT ARRAYS
3.7.2 REDIRECTED INPUT/OUTPUT METHOD
3.7.3 ABSOLUTE VARIABLES
3.8 INLINE AND MINI ASSEMBLER
3.8.1 SYNTAX
3.8.2 CODE EXAMPLES
3.8.3 CONSTANT DATA GENERATION
3.9 RECURSION AND NON-RECURSION

CHAPTER 4: RUN-TIME ERROR HANDLING
4.1 RANGE CHECKING
4.2 EXCEPTION CHECKING
4.3 USER SUPPLIED HANDLERS
4.4 I/O ERROR HANDLING

CHAPTER 5: ANATOMY OF A PASCAL/MT+ PROGRAM
5.1 DATA TYPES
5.1.1 CHAR
5.1.2 BOOLEAN
5.1.3 INTEGER
5.1.4 REAL
5.1.5 BYTE
5.1.6 WORD
5.1.7 STRING
5.1.7.1 Definition
5.1.7.2 Assignment
5.1.7.3 Comparisons
5.1.7.4 Reading and Writing Strings
5.1.8 SET
5.2 EXECUTION TIME .COM FILE STRUCTURE
5.2.1 MEMORY LAYOUT AND SYSTEM VARIABLES
5.2.2 HARDWARE STACK SIZE
5.2.3 PROGRAM STRUCTURE

CHAPTER 6: STAND-ALONE OPERATION OF A PROGRAM

CHAPTER 7: PASCAL/MT+ LANGUAGE DEFINITION
7.1 INTRODUCTION
7.2 SUMMARY OF THE PASCAL/MT+ LANGUAGE
7.3 NOTATION, TERMINOLOGY, AND VOCABULARY
7.4 IDENTIFIERS, NUMBERS, AND STRINGS
7.5 CONSTANT DEFINITIONS
7.6 DATA TYPE DEFINITIONS
7.6.1 SIMPLE TYPES
7.6.1.1 Scalar Types
7.6.1.2 Standard Types
7.6.1.3 Subrange Types
7.6.2 STRUCTURED TYPES
7.6.2.1 Array Types
7.6.2.2 Record Types
7.6.2.3 Set Types
7.6.2.4 File Types
7.6.3 Pointer Types
7.6.4 TYPES AND ASSIGNMENT COMPATIBILITY
7.7 DECLARATIONS AND DENOTATIONS OF VARIABLES
7.7.1 ENTIRE VARIABLES
7.7.2 COMPONENT VARIABLES
7.7.2.1 Indexed Variables
7.7.2.2 Field Designators
7.7.2.3 File Buffers
7.7.3 REFERENCED VARIABLES
7.8 EXPRESSIONS
7.8.1 OPERATORS
7.8.1.1 The Operator Not
7.8.1.2 Multiplying Operators
7.8.1.3 Adding Operators
7.8.1.4 Relational Operators
7.8.2 FUNCTION DESIGNATORS
7.9 STATEMENTS
7.9.1 SIMPLE STATEMENTS
7.9.1.1 Assignment Statements
7.9.1.2 Procedure Statements
7.9.1.3 Goto Statements
7.9.2 STRUCTURED STATEMENTS
7.9.2.1 Compound Statments
7.9.2.2 Conditional Statments
7.9.2.2.1 If Statements
7.9.2.2.2 Case Statements
7.9.2.3 Repetitive Statements
7.9.2.3.1 While Statements
7.9.2.3.2 Repeat Statements
7.9.2.3.3 For Statements
7.9.2.4 With Statements
7.10 PROCEDURE DECLARATIONS
7.10.1 STANDARD PROCEDURES
7.10.1.1 File Handling Procedures
7.10.1.2 Dynamic Allocation Procedures
7.10.1.3 Data Transfer Procedures
7.10.2 FORWARD
7.10.3 CONFORMANT ARRAYS
7.11 FUNCTION DECLARATIONS
7.11.1 STANDARD FUNCTIONS
7.11.1.1 Arithmetic Functions
7.11.1.2 Predicates
7.11.1.3 Transfer Functions
7.11.1.4 Further Standard Functions
7.12 INPUT AND OUTPUT
7.12.1 THE PROCEDURE READ
7.12.2 THE PROCEDURE READLN
7.12.3 THE PROCEDURE WRITE
7.12.4 THE PROCEDURE WRITELN
7.12.5 ADDITIONAL PROCEDURES
7.13 PROGRAMS

APPENDIX A: PASCAL/MT+ FILE I/O
1. DEFINITIONS
2. FUNDAMENTAL FILE OPERATIONS
3. TEXT FILES
    DEFINITION
    Formatted Output
    Writing to the printer
4. RANDOM FILE I/O
5. REDIRECTED I/O
6. FILE INPUT AND OUTPUT METHODS
7. MISCELANEOUS FILE ROUTINES

APPENDIX B: ERROR MESSAGES

APPENDIX C: RESERVED WORDS

APPENDIX D: LANGUAGE SYNTAX DESCRIPTION

APPENDIX E: LIBRARY ROUTINES

APPENDIX F: AMD9511 HARDWARE MATH CHIP INTERFACE

APPENDIX G: DIRECT OPERATING SYSTEM ACCESS

APPENDIX H: INTER-PROCESSOR PORTABILIY

APPENDIX I: BIBLIOGRAPHY

APPENDIX J: HEAP MANAGEMENT

APPENDIX K: MINI-ASSEMBLER MNEMONICS

INDEX

Pascal/MT+ Misc. Documentation
    Distribution disk files
    APUSUB.MAC
    INDEXER
    XREF
    PROG.SRC, MOD1.SRC, MOD2.SRC
    STRIP

Errata