----------------------------------------------------------------
|                                                              |
|                                                              |
|                       Hewlett Packard                        |
|                                                              |
|                                                              |
|                      H     H   PPPPPP                        |
|                      H     H   P     P                       |
|                      H     H   P     P                       |
|                      HHHHHHH   PPPPPP                        |
|                      H     H   P                             |
|                      H     H   P                             |
|                      H     H   P                             |
|                                                              |
|                                                              |
|         666         4       000       000       000          |
|        6           44      0   0     0   0     0   0         |
|       6           4 4     0   0 0   0   0 0   0   0 0        |
|       666666     4  4     0  0  0   0  0  0   0  0  0        |
|       6     6   4444444   0 0   0   0 0   0   0 0   0        |
|       6     6       4      0   0     0   0     0   0         |
|        66666        4       000       000       000          |
|                                                              |
|                                                              |
|   PPPPPP       A       SSSSS      CCCC       A      L        |
|   P     P     A A     S     S    C    C     A A     L        |
|   P     P    A   A    S         C          A   A    L        |
|   PPPPPP    AAAAAAA    SSSSS    C         AAAAAAA   L        |
|   P         A     A         S   C         A     A   L        |
|   P         A     A   S     S    C    C   A     A   L        |
|   P         A     A    SSSSS      CCCC    A     A   LLLLLLL  |
|                                                              |
|                                                              |
|                     Pascal/64000 Summary                     |
|                                                              |
|                                                              |
|                                                              |
|                                                              |
|                                                              |
|                                                              |
|                                                              |
|----------------------- XXXX ---------------------------------|
|*********************  XXXX            #######################|
|*****************     XXXX                  ##################|
|***************      XXXX                     ################|
|*************       XXXX                        ##############|
|************       XXXX                          #############|
|***********       XXXXXXXXXXXX     XXXXXXXXXXX    ############|
|**********       XXXX      XXXX   XXXX     XXXX    ###########|
|**********      XXXX      XXXX   XXXX     XXXX     ###########|
|**********     XXXX      XXXX   XXXX     XXXX      ###########|
|**********    XXXX      XXXX   XXXX     XXXX       ###########|
|***********  XXXX      XXXX   XXXXXXXXXXXX        ############|
|************                 XXXX                #############|
|*************               XXXX                ##############|
|***************            XXXX               ################|
|*****************         XXXX              ##################|
|**********************   XXXX          #######################|
|----------------------- XXXX ---------------------------------|
|                                                              |
|                                                              |
|                                                              |
|                                                              |
|                                                              |
|                                                              |
|                                                              |
|                                                              |
|Written by     Jonathan Bowen                                 |
|               Programming Research Group                     |
|               Oxford University Computing Laboratory         |
|               8-11 Keble Road                                |
|               Oxford OX1 3QD                                 |
|               England                                        |
|                                                              |
|               Tel +44-865-273840                             |
|                                                              |
|Created        February 1982                                  |
|Updated        April 1985                                     |
|Issue          1.1                Copyright (C) J.P.Bowen 1985|
----------------------------------------------------------------
----------------------------------------------------------------
|Feature          |Description                                 |
|-----------------+--------------------------------------------|
|$AMNESIA []$     |ON: forget contents of registers     * <OFF>|
|$ANSI []$        |ON: warning messages if non-standard   <OFF>|
|$ASM_FILE$       |Create assembler source file ASMxxxx   <OFF>|
|$ASMB_SYM []$    |OFF: suppress output to :asmb_sym file *<ON>|
|$DEBUG []$       |ON: check all arithmetic operations    <OFF>|
|$EMIT_CODE []$   |OFF: suppress output to :reloc file     <ON>|
|$END_ORG$        |Use relocatable variable addresses          |
|$EXTENSIONS []$  |ON: microprocessor oriented extensions <OFF>|
|$EXTVAR []$      |ON: following variables are EXTERNAL   <OFF>|
|$GLOBPROC []$    |ON: following procedures are GLOBAL    <OFF>|
|$GLOBVAR []$     |ON: following variables are GLOBAL     <OFF>|
|$LINE_NUMBERS []$|OFF: suppress line number symbols     * <ON>|
|$LIST []$        |OFF: suppress output to listing         <ON>|
|$LIST_CODE []$   |ON: include symbolic code in listing   <OFF>|
|$LIST_OBJ []$    |ON: include object code in listing   * <OFF>|
|$OPTIMISE []$    |ON: ignore certain run-time checks     <OFF>|
|$ORG n$          |Use absolute variable addresses             |
|$PAGE$           |Output form feed to listing           <null>|
|$RANGE []$       |OFF: suppress array index checking    * <ON>|
|$RECURSIVE []$   |OFF: compile procedures in static mode  <ON>|
|$SEPARATE []$    |ON: use separate PROG and DATA areas   <OFF>|
|$TITLE "string"$ |Use 1st 50 chars in listing header    <null>|
|$USER_DEFINED$   |Allow redefinition of operators       <null>|
|$WARN []$        |OFF: suppress warnings in listing       <ON>|
|$WIDTH n$        |Specifies source width to be compiled  <240>|
|-----------------+--------------------------------------------|
| nnB             |Binary number                              #|
| nn              |Decimal number                              |
| nnD             | ditto                                     #|
| nnH             |Hexadecimal number                         #|
| nnO             |Octal number                               #|
| nnQ             | ditto                                     #|
| 'string'        |String (* character) constant               |
| ^ident          |Pointer type identifier                     |
| ident^          |Pointer variable identifier                 |
|-----------------+--------------------------------------------|
|BOOLEAN          |8-bit logical TYPE (0 = FALSE, 1 = TRUE)    |
|BYTE             |8-bit signed integer TYPE                  #|
|CHAR             |8-bit ASCII character TYPE                  |
|FALSE            |Boolean false (= 0)                         |
|INTEGER          |16/32-bit signed integer TYPE               |
|MAXINT           |Maximum integer constant                    |
|SIGNED_8         |8-bit signed integer TYPE                 *#|
|SIGNED_16        |16-bit signed integer TYPE                *#|
|SIGNED_32        |32-bit signed integer TYPE                *#|
|STRING           |PACKED ARRAY[0..255] OF CHAR ([0]=length) *#|
|TRUE             |Boolean true (= 1)                          |
|UNSIGNED_8       |8-bit unsigned integer TYPE               *#|
|UNSIGNED_16      |16-bit unsigned integer TYPE              *#|
|UNSIGNED_32      |32-bit unsigned integer TYPE              *#|
|-----------------+--------------------------------------------|
|REAL             |Real numbers not implemented                |
|SIN COS etc.     |Standard real functions not implemented     |
|SQR              |Square function not implemented             |
|STRING           |Limited to 255 characters                 * |
|FILE TEXT etc.   |Files not implemented                       |
|GET PUT etc.     |Input/output procedures not implemented     |
|PACKED           |Ignored except for strings                  |
|PACK UNPACK      |Procedures not implemented                  |
|SET              |Limited to 256 (* 16) elements, no subranges|
|PROCEDURE etc.   |Procedures/functions not allowed as param's |
|-----------------+--------------------------------------------|
|ABS(param)       |Return absolute value of parameter          |
|ADDR(param)      |Pointer (* INTEGER) TYPE address function  #|
|CHR(param)       |Return character with parameter value       |
|DISPOSE(pointer) |Release previously allocated space on heap  |
|INITHEAP(addr,n) |Initialise heap to address and length      #|
|MARK(pointer)    |Mark current state of heap                 #|
|ODD(param)       |Return true value if parameter is odd       |
|ORD(param)       |Return ordinal value of paramter            |
|NEW(pointer)     |Allocate new space on heap                  |
|PRED(param)      |Return predecessor of parameter             |
|RELEASE(pointer) |Release heap to previously marked state    #|
|ROTATE(param,n)  |(* SHIFTC) Circular shift function         #|
|SHIFT(param,n)   |Logical shift function                     #|
|SUCC(param)      |Return successor of parameter               |
----------------------------------------------------------------
----------------------------------------------------------------
|Feature          |Description                                 |
|-----------------+--------------------------------------------|
| AND             |Logical conjunction operator                |
| ARRAY           |Array type                                  |
| BEGIN           |Start new block                             |
| CASE            |Case statement                              |
| CONST           |Constant declarations                       |
| DIV             |Integer division operator                   |
| DO              |Used with WHILE, FOR and WITH statements    |
| DOWNTO          |Step -1 for FOR loop clause                 |
| ELSE            |Alternative for IF clause                   |
| END             |End of BEGIN, CASE or RECORD clause         |
| EXTERNAL        |External routine declaration               #|
| FOR             |FOR loop statement                          |
| FORWARD         |Forward routine declaration                #|
| FUNCTION        |Start of new function                       |
| GLOBAL          |Global routine declaration                 #|
| GOTO            |GOTO statement                              |
| IF              |IF statement                                |
| IN              |Set membership operator                     |
| LABEL           |Label for GOTO statement                    |
| MOD             |Modulus operator                            |
| NIL             |Null pointer                                |
| NOT             |Logical negation operator                   |
| OF              |Used with CASE, ARRAY, SET and RECORD       |
| OR              |Logical disjunction operator                |
| OTHERWISE       |Exception clause for CASE statement        #|
| PACKED          |Packed type                                 |
| PROCEDURE       |Start of new procedure                      |
| PROGRAM         |Start of program                            |
| RECORD          |Record type                                 |
| REPEAT          |REPEAT statement                            |
| SET             |Set type                                    |
| THEN            |Used with IF statement                      |
| TO              |Step +1 for FOR loop clause                 |
| TYPE            |Type declarations                           |
| UNTIL           |End of REPEAT clause                        |
| VAR             |Variable declarations                       |
| WHILE           |WHILE statement                             |
| WITH            |WITH variable(s) statement                  |
|-----------------+--------------------------------------------|
| :=              |Assignment operator                         |
| +               |Addition, set union or identity operator    |
| -               |Subtraction, set difference or inversion op.|
| *               |Multiplication or set intersection operator |
| /               |Real division operator                      |
| =               |Relational equality operator                |
| <>              |Relational inequality operator              |
| <               |Relational less than or set inclusion op.   |
| >               |Relational greater than or set incl. op.    |
| <=              |Relational less/equal or set incl. op.      |
| =>              |Relational greater/equal or set incl. op.   |
|-----------------+--------------------------------------------|
| []              |ON or OFF option                            |
| #               |Non-standard Pascal feature in Pascal/64000 |
| *               |Not included in 8080/8085 & Z80 compilers   |
| (* ...)         |Alternative for 8080/8085 & Z80 compilers   |
| <...>           |Initialised value                           |
| $...$           |Compiler option                             |
| addr            |Memory address                              |
| ident           |Pascal identifier                           |
| n               |Integer number                              |
| nn              |String of digits                            |
| param           |Function parameter                          |
| pointer         |Pointer type parameter                      |
| string          |ASCII character string                      |
|--------------------------------------------------------------|
|                                                              |
|                                                              |
|                                                              |
|                                                              |
|                                                              |
|                                                              |
|                                                              |
|                                                              |
|                                                              |
|                                                              |
|                                                              |
----------------------------------------------------------------
