---------------------------------------------------------------|

|
|
|
|
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
|
|--------------------------------------------------------------|
|
|
|
|
|
|
|
|

|
|
|
|
|
|
|
|
|
|
|
|
|
|
----------------------------------------------------------------