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
Pascal/MT+ Misc. Documentation
Distribution disk files
APUSUB.MAC
INDEXER
XREF
PROG.SRC, MOD1.SRC, MOD2.SRC
STRIP