DataMuseum.dkPresents historical artifacts from the history of: CR80 Hard and Floppy Disks |
This is an automatic "excavation" of a thematic subset of
See our Wiki for more about CR80 Hard and Floppy Disks Excavated with: AutoArchaeologist - Free & Open Source Software. |
top - download
Length: 4992 (0x1380) Types: TextFile Names: »PREFIX«
└─⟦8c5bcce80⟧ Bits:30005186 8" CR80 Floppy CR80FD_0183 ( CR/D/0436 PASCAL UTILITIES HPH Date 790524 Copy of CR/D/0958 ) └─⟦12c79cc2c⟧ └─ ⟦this⟧ »BLK.PREFIX« └─⟦9975dd352⟧ Bits:30005088 8" CR80 Floppy CR80FD_0043 ( CR/D/1032 PROMGEN (HBA) 790917 HBA PROMGEN BACKUP ) └─⟦69b0db55a⟧ └─ ⟦this⟧ »HBA.PREFIX«
"##################################################" "CR80 SEQUENTIAL PASCAL STANDARD PREFIX. PHO-790330" "##################################################" CONST NL = '(:10:)'; FF = '(:12:)'; CR = '(:13:)'; EM = '(:25:)'; CONST NULL = '(:0:)'; SP = ' '; CONST PAGELENGTH = 256; TYPE PAGE = ARRAY [1..PAGELENGTH] OF INTEGER; CONST LINELENGTH = 132; TYPE LINE = ARRAY [1..LINELENGTH] OF CHAR; CONST IDLENGTH = 12; TYPE IDENTIFIER = ARRAY [1..IDLENGTH] OF CHAR; TYPE FILE = 1..2; TYPE ARGTAG = (NILTYPE, BOOLTYPE, INTTYPE, IDTYPE, PTRTYPE); TYPE POINTER = @BOOLEAN; TYPE ARGTYPE = RECORD CASE TAG: ARGTAG OF NILTYPE, BOOLTYPE: (BOOL: BOOLEAN); INTTYPE: (INT: INTEGER); IDTYPE: (ID: IDENTIFIER); PTRTYPE: (PTR: POINTER) END; CONST MAXARG = 10; TYPE ARGLIST = ARRAY [1..MAXARG] OF ARGTYPE; CONST S = 2; P = 3; O = 4; N = 5; D = 6; L = 7; TYPE ARGSEQ = (INP, OUT); TYPE PROGRESULT = (TERMINATED, OVERFLOW, POINTERERROR, RANGEERROR, VARIANTERROR, HEAPLIMIT, STACKLIMIT, CODELIMIT, TIMELIMIT, CALLERROR); TYPE BITPOSITION = 0..15; TYPE BITFIELDLENGTH = 0..16; TYPE BITVALUE = (LOW, HIGH); TYPE MESSAGE_BUFFER = ARRAY (.1..5.) OF INTEGER; TYPE EVENT_TYPE = (TIME_OUT, ANSWER, MESSAGE, INTERRUPT); TYPE WORD_ADDRESS = RECORD MEMORY_SECTION: INTEGER; WORD_DISPLACEMENT:INTEGER END; TYPE BYTE_ADDRESS = RECORD BYTE_DISPLACEMENT: INTEGER; WORD_ADDR: WORD_ADDRESS END; TYPE PROCESS_NAME = RECORD NAME: ARRAY [0..2] OF CHAR; NAME_IDENT:INTEGER; PROC_IDENT:INTEGER END; PROCEDURE READ(VAR C: CHAR); PROCEDURE WRITE(C: CHAR); PROCEDURE OPEN(F: FILE; ID: IDENTIFIER; VAR FOUND: BOOLEAN); PROCEDURE CLOSE(F: FILE); PROCEDURE GET(F: FILE; P: INTEGER; VAR BLOCK: UNIV PAGE); PROCEDURE PUT(F: FILE; P: INTEGER; VAR BLOCK: UNIV PAGE); PROCEDURE READARG(S: ARGSEQ; VAR ARG: ARGTYPE); PROCEDURE WRITEARG(S: ARGSEQ; ARG: ARGTYPE); PROCEDURE ACCEPT(VAR C:CHAR); PROCEDURE DISPLAY(C: CHAR); PROCEDURE MARK(VAR TOP: INTEGER); PROCEDURE RELEASE(TOP: INTEGER); PROCEDURE RUN(ID: IDENTIFIER; VAR PARAM: ARGLIST; VAR LINE: INTEGER; VAR RESULT: PROGRESULT); PROCEDURE EXIT; PROCEDURE HALT; PROCEDURE SET_TRACE(MASK: INTEGER; DEVICE:IDENTIFIER); PROCEDURE PRINT_TRACE(ON: BOOLEAN); FUNCTION IAND(MASK1, MASK2: UNIV INTEGER): INTEGER; FUNCTION IOR(MASK1, MASK2: UNIV INTEGER): INTEGER; FUNCTION XOR(MASK1, MASK2: UNIV INTEGER): INTEGER; FUNCTION INV(MASK: UNIV INTEGER): INTEGER; FUNCTION LEFTSHIFT(BITS: UNIV INTEGER; SHIFTS: INTEGER): INTEGER; FUNCTION RIGHTSHIFT(BITS: UNIV INTEGER; SHIFTS: INTEGER): INTEGER; FUNCTION GETBITS(BITS: UNIV INTEGER; LEFTMOST: BITPOSITION; FIELDLENGTH: BITFIELDLENGTH): INTEGER; PROCEDURE PUTBITS(FROM: UNIV INTEGER; VAR TO_: UNIV INTEGER; LEFTTO: BITPOSITION; FIELDLENGTH: BITFIELDLENGTH); FUNCTION TESTBIT(BITS: UNIV INTEGER; BITNUMBER: BITPOSITION): BOOLEAN; PROCEDURE SETBIT(VAR BITS: UNIV INTEGER; BITNUMBER: BITPOSITION); PROCEDURE CLEARBIT(VAR BITS: UNIV INTEGER; BITNUMBER: BITPOSITION); PROCEDURE PACK(UNPACKED, PACKED: IDENTIFIER; NO_OF_BYTES: INTEGER); PROCEDURE UNPACK(PACKED, UNPACKED: IDENTIFIER; NO_OF_BYTES: INTEGER); PROCEDURE PACK_SWAPPED(UNPACKED, PACKED: IDENTIFIER; NO_OF_BYTES: INTEGER); PROCEDURE UNPACK_SWAPPED(PACKED, UNPACKED: IDENTIFIER; NO_OF_BYTES: INTEGER); PROCEDURE RESERVE_INTERRUPT(DEVPR: INTEGER; VAR INTRPT: INTEGER); PROCEDURE RELEASE_INTERRUPT(INTRPT: INTEGER); PROCEDURE CLEAR_INTERRUPT(INTRPT: INTEGER; VAR COUNT: INTEGER); PROCEDURE WAIT_INTERRUPT(DELAY: INTEGER; INTRPT: INTEGER; VAR TIMED_OUT: BOOLEAN; VAR COUNT: INTEGER); PROCEDURE SENSE_IO(DEVICE: INTEGER; VAR STATUS: INTEGER); PROCEDURE READ_IO(DEVICE: INTEGER; VAR DATA: INTEGER); PROCEDURE CONTROL_IO(DEVICE: INTEGER; STATUS: INTEGER); PROCEDURE WRITE_IO(DEVICE: INTEGER; DATA: INTEGER); PROCEDURE SEND_MESSAGE(RECEIVER: PROCESS_NAME; MSG:UNIV MESSAGE_BUFFER; VAR EVENT: INTEGER); PROCEDURE SEND_ANSWER(ANS: UNIV MESSAGE_BUFFER; EVENT: INTEGER); PROCEDURE WAIT_ANSWER(DELAY: INTEGER; EVENT: INTEGER; VAR ANS: UNIV MESSAGE_BUFFER; VAR TIMED_OUT: BOOLEAN); PROCEDURE WAIT_MESSAGE(DELAY: INTEGER; VAR MSG: UNIV MESSAGE_BUFFER; VAR EVENT: INTEGER; VAR TIMED_OUT: BOOLEAN); PROCEDURE WAIT_EVENT(DELAY: INTEGER; INTRPT: INTEGER; VAR MSG: UNIV MESSAGE_BUFFER; VAR EVENT: INTEGER; VAR EVTTYPE: EVENT_TYPE; VAR COUNT: INTEGER; VAR TIMED_OUT: BOOLEAN); PROCEDURE RESUME_EVENT; PROCEDURE COPY(SOURCE, DEST: BYTE_ADDRESS; NO_OF_BYTES: INTEGER); PROCEDURE GET_ABS_ADDR(STRUCTURE: LINE; VAR WORD_ADDR: WORD_ADDRESS); PROCEDURE GET_ABS_ADDR1(STRUCTURE: LINE; VAR WORD_ADDR: WORD_ADDRESS); PROCEDURE GET_ABS_ADDR2(STRUCTURE: LINE; VAR WORD_ADDR: WORD_ADDRESS); FUNCTION CURRENT_LINE: INTEGER; PROCEDURE CURRENT_LEVEL(VAR LEVEL: INTEGER); PROCEDURE LONG_EXIT(LEVEL: INTEGER); PROCEDURE ASSIGNBITS(VALUE: UNIV BITVALUE; VAR P: UNIV PAGE; FIRSTBIT, NO_OF_BITS: INTEGER); PROCEDURE SKIPBITS(VALUE: UNIV BITVALUE; P: UNIV PAGE; VAR FIRSTBIT: INTEGER; NO_OF_BITS: INTEGER; VAR BITSSKIPPED: INTEGER); PROGRAM MAIN(VAR PARAM: ARGLIST); «eof»