241 lines
15 KiB
Plaintext
241 lines
15 KiB
Plaintext
----------------------------------------------------------------
|
|
| |
|
|
| |
|
|
| 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 |
|
|
|--------------------------------------------------------------|
|
|
| |
|
|
| |
|
|
| |
|
|
| |
|
|
| |
|
|
| |
|
|
| |
|
|
| |
|
|
| |
|
|
| |
|
|
| |
|
|
----------------------------------------------------------------
|