You are on page 1of 5

----------------------------------------------------------------

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