---------------------------------------------------------------- | | | | | 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 * | |$ANSI []$ |ON: warning messages if non-standard | |$ASM_FILE$ |Create assembler source file ASMxxxx | |$ASMB_SYM []$ |OFF: suppress output to :asmb_sym file *| |$DEBUG []$ |ON: check all arithmetic operations | |$EMIT_CODE []$ |OFF: suppress output to :reloc file | |$END_ORG$ |Use relocatable variable addresses | |$EXTENSIONS []$ |ON: microprocessor oriented extensions | |$EXTVAR []$ |ON: following variables are EXTERNAL | |$GLOBPROC []$ |ON: following procedures are GLOBAL | |$GLOBVAR []$ |ON: following variables are GLOBAL | |$LINE_NUMBERS []$|OFF: suppress line number symbols * | |$LIST []$ |OFF: suppress output to listing | |$LIST_CODE []$ |ON: include symbolic code in listing | |$LIST_OBJ []$ |ON: include object code in listing * | |$OPTIMISE []$ |ON: ignore certain run-time checks | |$ORG n$ |Use absolute variable addresses | |$PAGE$ |Output form feed to listing | |$RANGE []$ |OFF: suppress array index checking * | |$RECURSIVE []$ |OFF: compile procedures in static mode | |$SEPARATE []$ |ON: use separate PROG and DATA areas | |$TITLE "string"$ |Use 1st 50 chars in listing header | |$USER_DEFINED$ |Allow redefinition of operators | |$WARN []$ |OFF: suppress warnings in listing | |$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 | |--------------------------------------------------------------| | | | | | | | | | | | | | | | | | | | | | | ----------------------------------------------------------------