- @ -
@ equivalent to ^, 17, 134 @BDOS source, 212 @ERR, 114, 115 @INI, 8, 125, 128 @OVL, 65 @OVS, 66 @RNC, 8, 129 @SFP, 124 @WNC, 8, 129
- A -
ABSOLUTE variables, 103, 109 ADDR, 79 AMD 9511, 7, 118, 211 AND and 16 bit variables, 143 ARCTAN, 153 ARRAY as procedural parameters, 151 storage, 53 Assembly language access to Pascal variables, 52 and Pascal program interface, 51 assemblers, 51 functions, 55 identifier names, 51 parameter example, 54 parameter passing, 54 PUBLIC, 52 stack, 54 ASSIGN, 88, 164 Assignment compatibility, 139 Available memory message, 18
- B -
B switch, 17, 118 BCD REAL, 17, 118 BCDREALS.ERL, 7 BDOS, 9 111 Bit and byte manipulation, 143 BLOCKREAD, 91, 182 BLOCKWRITE, 91, 182 BOOLEAN, 117 Built-in procedures (see individual listings)o ADDR, 79 ASSIGN, 88 BLOCKREAD, 91 BLOCKWRITE, 91 CLOSE, 93 CLRBIT, 76 CONCAT, 83 COPY, 84 DELETE, 86 EXIT, 74 FILLCHAR, 81 GNB, 90 HI, 78 INSERT, 87 IORESULT, 95 LENGTH, 82 LO, 78 MAXAVAIL, 98 MEMAVAIL, 98 MOVE, 72 MOVELEFT, 72 MOVERIGHT, 72 OPEN, 92 POS, 85 READHEX, 97 RIM, 100 SEEKREAD, 96 SEEKWRITE, 96 SETBIT, 76 SHL, 77 SHR, 77 SIM, 100 SIZEOF, 80 summary of, 101 SWAP, 78 TSTBIT, 76 WAIT, 99 WNB, 90 WRITEHEX, 97 PURGE, 94 BYTE, 119, 136 Byte manipulation (see Bit and byte manipulation)
- C -
CALC.SRC, 7 Chaining,, 103 Chaining absolute variable communication, 103 example, 103 global variable communication, 103 how-to, 103 maintain heap, 103 source file, 8 CHAR, 117 CHN.MAC, 8 CHR, 117, 140, 154 CLOSE, 93, 166 CLOSEDEL, 93, 189 CLRBIT, 76 Comments syntax, 133 Compiler control toggles entry point control $E, 19 hardware stack pointer initialization $Z, 20 listing controls $P/$L, 21 real arithmetic space reduction toggle $C, 21 recursive/static Variable control $S, 19 recursion space reduction toggle $Q, 21 run-time range checking control $R, 20 run-time exception checking control $X, 20 source code include mechanism $I, 19 strict/relaxed type checking control $T/$W, 20 summary, 23 symbol table control $K, 21 syntax, 19 Compiler # output, 18 + output, 18 available memory, 13 command line switch syntax, 16 command line switches, 16 compile time informational output, 13, 18 execution, 16 input files, 16 installation, 11 operational description, 16 PHASE 1, 18, 24. PHASE 2, 18, 24 remaining memory, 13 sample output, 13 separate compilation, 47 step-by-step instructions, 12 system requirements, 5 user table space, 13 CON:, 88 CONCAT, 83 Conformant arrays, 151, 152 Constant data at compile-time, 112 COPY, 84 CP/M devices supported, 88 CPMRD.SRC, 8
- D -
Data storage, 124 Data types BOOLEAN, 117 BYTE, 119 CHAR, 117 INTEGER, 118 range, 117 REAL, 118 SET, 123 size, 117 STRING, 120 WORD, 119 DBUGHELP.TXT, 7 Debugger and compiler D switch, 39 and recursion, 40 command summary, 42 command syntax, 40 compiler switch, 17 instructions, 39 non-CP/M use, 39 overview, 39 PSY, 39 sample link command line, 39 SYP, 39 undefined symbols, 40 DEBUGGER.ERL, 7 DELETE, 86 DIS8080.COM, 7 Disassembler example, 32 instructions, 31 introduction, 31 output, 33 DISPOSE, 216 Distribution disk contents, 6 minimum configuragion, 9 DIVMOD.MAC, 8
- E -
End of file, 161, 168, 170 EOF, 109, 154, 161, 164, 166, 167, 168, 170 EOLN, 109, 164, 166, 169 Error handling run-time, 114 Error message type conflict, 139 Error messages, 24 Exception checking (see Compiler control toggles) EXIT, 74 Extensions to ISO standard (see ISO standard extensions) Extensions summary, 131 EXTERNAL and assembly language modules, 52 and entry point symbols, 19 and modular compilation, 47 and overlays, 59, 65 and procedures/functions, 48 and variables, 47 routines as parameters, 48
- F -
FIB (see File Information Block) FIBDEF.LIB, 8, 160 File Information Block, 160 File variable, 161 File variableUntyped files are allowed., 139 Filename definition, 159 Filenames associating external and internal, 88 compiler input, 16 linker input, 25 Files sector I/O, 182 ASCII text, 139 ASSIGN procedure, 88 associating files with external names, 150 built-in procedures, 150 chaining, 139 closing, 93, 166 creating, 164 definition, 159 deleting, 93, 94 devices CON:, LST:, TRM:, KBD:, 88 error handling, 95, 164 example, 163 fast byte routines, 90, 183 formatted output, 156, 171 hex input, 97 hex output, 97 I/O error handling, 116 implied conversions, 139 input/output table, 188 interactive, 88 local, 88, 151, 164, 189 local files and linker /D switch, 26 non-echo console input, 88 opening (see also RESET), 92 pre-defined type TEXT, 139 primitive file access, 91 printer output, 88, 158 random access, 5, 96, 175, 178 redirected I/O capabilities, 108, 180 temporary, (see local) text, 160, 169, 183 untyped, 139 window variable, 160, 161, 165, 166, 167, 173, 178, 183 writing to printer, 174 FILLCHAR, 81 Floating Point REAL, 118, 211 Formatted output, 156, 171 FORWARD, 151 FPREALS.ERL, 7, 119 FULLHEAP.ERL, 7, 98
- G -
GET, 167 GNB, 90, 183 GOTO, 146
- H -
Heap management ISO standard, 216 MEMAVAIL and MAXAVAIL, 98 on the stack, 216 parameters, 154 Hexadecimal numbers, 134 Hexadecimal output from linker, 27 HI, 78 HLT.SRC, 8
- I -
I/O (see also Files) INP and OUT arrays description, 108 INP and OUT examples, 108 re-directed I/O capabilities, 108 Identifers overlay filenames, 63 Identifers and assembly language modules, 51 Identifiers and @, 133, 134 and assembly language modules, 51 and overlays, 59 converting to L80, 44 external signifigance, 48 legal Pascal, 134 Include files, 19 INLINE and recursion, 112 branching, 110 code examples, 111 constant data example, 112 mini-assembler, 110 syntax, 110 INP, 108 INSERT, 87 INTEGER, 118 Interrupt procedure, 150 Interrupt procedures 8080/Z80, 105 declaration, 105 example, 105 in ROM, 127 Z80 mode 2, 105 Interrupt hardware stack, 125 IOERR.SRC, 9 IORESULT, 95, 164 ISO standard extensions additions to assignment compatibility rules, 145 assembly language interfacing, 51 BNF syntax description of Pascal/MT+, 199 chaining, 103 consise list of MT+ facilities, 1 ELSE clause on CASE statement, 147 INLINE and mini assembler, 110 interrupt procedures, 105 interrupt procedure example, 106 interrupt procedures, 150 modular compilation, 47 operators, 143 WRD type transfer function, 153 ISO standard assigment compatibility, 140 changes from Jensen and Wirth for FOR loops, 148 draft used by MT MicroSYSTEMS, 1 extensions for conformant arrays, 151 summary of features, 131 type compatibility, 140
- K -
KBD:, 88
- L -
LENGTH, 82 LIBMT.COM, 7 Librarian .BLD file, 43 L80 conversion, 44 linker searching, 43 overview, 43 Line, 169 Linker /D and chaining, 103 attributes of compatible modules, 30 auto chain switch, 17 command file facility switch /F, 27 data origin switch /D, 26 effects of /P and /D on .COM file contents, 26 effects of using /D on local files, 26 extended map switch /E, 26 gaining memory space, 26 hex output switch /H, 27 input filenames, 25 invocation, 25 library search switch /s, 25 linking an overlay, 62 linking root, 61 load map switch /L, 26 memory map switch /M, 26 other linkers, 30 overlay area switch /V, 60 overlay example, 67 overlay group switch /0:, 60 overlay local storage /X:, 61 program origin switch /P, 26 restrictions, 55 sample, 14 sample output, 14 saving space by using /D, 26 switch summary, 28 switches, 25 LINKMT.COM, 7 Listing, 17, 21 LO, 78 Local files (see Files) Local variable stack, 124 LST:, 88, 174
- M -
MAXAVAIL, 98, 216 MAXINT, 118 MEMAVAIL, 98, 124, 216 Mini-assembler, 110 Modular compilation and $E toggle, 47 and EXTERNAL, 47 example, 48 overview, 47 syntax, 47 MOVE, 72 MOVELEFT, 72 MOVERIGHT, 72 MTERRS.TXT, 6 MTPLUS.COM, 6, 9, 16
- N -
NEW, 216 NOT and 16 bit variables, 143 Number to string routine, 181
- O -
ODD, 117, 154 OPEN, 92, 189 Operators AND, 118 and 16 bit variables, 143 NOT, 118 OR, 118 Option Switches compiler, 16 compiler example, 18 Option switches linker, 25 OR and 16 bit vairables, 143 ORD, 117, 118, 140, 154 OUT, 108 Output formatted, 171 Overlay @OVS, 66 and /D switch, 62, 64 and /P switch, 62, 64 and root run-time routines, 67 and run-time routines, 67 area, 58, 59 area numbers, 59 area switch /V, 60, 64 calling from root, 65 calling on non-default drive, 66 calling other overlays, 66 contents of, 59 declaration in program, 65 entry points, 59 error messages, 67 EXTERNAL, 65 features, 58 filenames, 63 group, 58, 59, 61, 65 group switch /0, 60 linking an overlay, 62, 64 linking example, 67 linking root, 61, 64 memory map, 62 number of groups, 59 re-linking, 63 reload, 66 root, 58 root symbol file, 60, 62, 64 sample overlay link, 70 sample root link, 70 space reduction, 67 static variables, 59, 62, 64, 66, 70 static variables /X:, 61 OVL files, 9 OVLMGR.MAC, 9
- P -
PACKED, 117, 137 PASLIB, 44 PASLIB.ERL, 7 PINI.SRC, 8 Pointers, 139 Portability, 20 POS, 85 Printer writing example, 174 writing to, 174 PRN (see Listing) Program sample @CMD_DEMO, 75 CHAIN1, 104 CONCAT_DEMO, 83 CONV_DEMO (redirected I/O, strings), 181 DEMOCON (conformant arrays), 152 DEMO_INLINE, 112 Demo prog (Overlays), 68 External Demo (Modular compilation), 49 FILE_TRANSFER (Block I/O), 184 FILE_TRANSFER (Byte I/O), 185 FILE_TRANSFER (Random I/O), 186 FILE_TRANSFER (GET/PUT), 187 FILE TRANSFER (Main Program Body), 188 Function @BDOS (inline demo), 111 Function KEYPRESSED, 212 INT_DEMO (interrupt procedures), 106 Module Overlay1, 69 Module Overlay2, 69 Module_Demo (Modular compilation, 50 PEEK_POKE (assembly language), 56 PPRIME, 32 PRINTER, 174 Procedure @INI, 128 Procedure @RNC, 129 Procedure @WNC, 129 Procedure ACCESS (strings), 121 Procedure ADDR_DEMO, 79 Procedure ASSIGN (strings), 120 Procedure COMPARE (strings), 122 Procedure COPY_DEMO, 84 Procedure DELETE_DEMO, 86 Procedure EXITTEST, 74 Procedure FILL_DEMO, 81 Procedure HI_LO_SWAP, 78 Procedure INSERT_DEMO, 87 Procedure LENGTH_DEMO, 82 Procedure MOVE_DEMO, 73 Procedure P0S_DEMO, 85 Procedure SHIFT_DEMO, 77 Procedure SIZE_DEMO, 80 Procedure TST_SET_CLR_BITS, 76 Procedure WAIT_DEMO, 99 RANDOM_DEMO, 176 TEXTIO_DEMO, 172 WRITE_READ_FILE_DEMO, 163 PSY, 39 PUN:, 88 PURGE, 94, 189 PUT, 165
- R -
Random file I/O, 186 RANDOMIO.ERL, 8 Range checking (see Compiler control toggles) (see Run-time) RDR:, 88 READ, 168 READHEX, 97 READLN, 173 REAL B switch, 17 BCD, 118 floating point, 118 RECORD storage, 53 Recursion stack overflow, 24 Recursion and debugger, 40 and GOTO, 146 compiler toggle, 19 INLINE, 112 INP and OUT, 108 local files, 88, 151 space reduction, 21 vs. non-recursion, 113 Redirected I/O and strings, 109 ROM, 126 sample, 180 syntax, 108 Remaining memory message, 18 Requirements host system, 5 run-time, 5 Reserved words, 198 RESET, 166 REWRITE, 164 RIM, 100 ROM, 126 ROVLMGR.ERL, 7, 66 Run-time Library source, 8 Run-time error handling, 114 exception checking, 20 range checking, 20 ROM based considerations, 126 routines, 207
- S -
Scalars storage, 52 SEEKREAD, 96, 178, 183 SEEKWRITE, 96, 178, 183 SET, 53 SETBIT, 76 SHL, 77 SHR, 77 SIM, 100 SIZEOF, 80, 182 Space reduction and @INI, 126 and linker /D switch, 26 and overlays, 67 and real arithmetic, 21 and recursion, 21 in symbol table, 21 Stack, 125 Storage of variables, 52 STRING, 169 STRING implementation details, 120 String to number routine, 181 STRING access, 121 and interrupt procedures, 105 and READLN, 173 and redirected I/O, 109 assignment, 120 below $100H, 109 comparison, 122 CONCAT, 83 COPY, 84 default length, 137 definition, 120, 136 explicit length declaration, 137 null string, 135 run-time error, 114 use as arrays of characters, 141 Strings DELETE, 86 INSERT, 87 LENGTH, 82 P0S, 85 SWAP, 78 Symbols nested comments, 133 Symbols identifier significance, 134 use of @ in identifiers, 133 use of hexadecimal numeric literals, 134 use of underscore in identifiers, 134 SYP, 39 SYSMEM, 62, 124, 216
- T -
TEXT files definition, 169 TPA, 5 TRANCEND.ERL, 7 TRM:, 88 TSTBIT, 76 Type checking toggle, 20 Type conflict error, 139 Types ABSOLUTE attribute for variables, 109 data implementation, 117 extended, 136 file types, 139 implementation of PACKED, 137 pointers, 139 pre-defined, 136 range of SET type, 138 restrictions on use of ABSOLUTE with strings, 109
- U -
User table space, 18
- V -
Variable access assembly language variables from Pascal modules, 52 Pascal variables from assembly language modules, 52 Variable allocation, 52
- W -
WAIT, 99 Window variable (see Files) WNB, 90, 183 WORD, 119, 136 WRD, 117, 140, 153, 154 WRITE, 165 WRITEHEX, 97 WRITELN and text files, 170