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: 3514 (0xdba) Types: TextFile Names: »COMONPARAMS.S«
└─⟦732a9e2da⟧ Bits:30005117 8" CR80 Floppy CR80FD_0076 ( CR/D/2322 Diverse systemmoduler SWELL PREFIX F Copy af CRD2315 I K CRD2322 810225 AEK S ) └─⟦b9b5abdc9⟧ └─ ⟦this⟧ »SWELLPREFIX.D!COMONPARAMS.S«
"----------------------------------------------------------------------- " " " MODULE NAME: COROUTINE MONITOR PARAMETERS (COMONPARAMS) " MODULE ID NMB: CSS/879 " MODULE VERSION: 0101 " MODULE TYPE: PREFIX " MERGE FILES: - " " SPECIFICATIONS: - " AUTHOR/DATE: JSL/800603 " " DELIVERABLE: - " SOURCE LANGUAGE: SWELL " COMPILE COMPUTER: CR80 " TARGET COMPUTER: CR80 " OPER. SYSTEM: AMOS " "----------------------------------------------------------------------- " " CHANGE RECORD " " VERSION AUTHOR/DATE DESCRIPTION OF CHANGE " ------- ----------- --------------------- " "----------------------------------------------------------------------- "PAGE«ff» TYPE OP_TYPE = INTEGER; "USED TO DESTINGUISH BETWEEN MESSAGES "ANSWERS AND INTERNAL SIGNALS AT A GE "NERAL SEMAPHORE TYPE SEM_ID = INTEGER; "SEMAPHORE IDENTIFICATION (ITS ADDRESS) TYPE COROUTINE_LINK = ABSPTR; "TO THE NEXT ELEMENT IN A QUEUE TYPE COROUTINE_QUEUE = "QUEUE OF COROUTINES OR OPERATIONS RECORD FIRST: COROUTINE_LINK; "QUEUE HEAD LAST: COROUTINE_LINK; "QUEUE TAIL END; TYPE COROUTINE_DESCRIPTOR = RECORD LINK: COROUTINE_LINK; "TO THE NEXT COROUTINE DESCRIPTOR SAVE: ARRAY[0..7] OF INTEGER; "REGISTER SAVE ARRAY END; TYPE SEMAPHORE = RECORD Q: COROUTINE_QUEUE;"QUEUE OF COROUTINES WAITING AT (OR "OPERATIONS SIGNALLED TO) THIS SEM VAL: INTEGER; "THE VALUE OF THIS SEMAPHORE END; TYPE INTERNAL_OPERATION = RECORD LINK: COROUTINE_LINK; "LINK TO OTHER OPERATIONS WHICH ARE "QUEUED AT THE SAME SEMAPHORE " <USER DEFINED FIELDS> THE FIRST OF WHICH SHOULD BE OP_TYPE " IF THE OPERATION WILL BE DELIVERED " AT A GENERAL SEMAPHORE END; TYPE EXTERNAL_OPERATION = RECORD LINK: COROUTINE_LINK; "IN A QUEUE OF OPERATIONS OPN: OP_TYPE; "TYPE OF OPERATION DELIVERED (USER DEF) SEM: SEM_ID; "ADDRESS OF SEMAPHORE AT WHICH THIS EX "TERNAL OPERATION SHALL BE DELIVERED EVT: EVENT; "IDENTIFICATION OF ASSOCIATED EVENT BUF: MESSAGE_BUFFER; "AMOS MESSAGE BUFFER END; "A POINTER TO A VARIABLE OF TYPE COMON_VAR MUST BE SUPPLIED AS THE FIRST "PARAMETER FOLLOWING A COROUTINE MONITOR CALL. THUS THE CALLING SEQUENCE "IS MON(COR, POINTER, SUBFUNCTION, VARIABLE_EXPRESSIONS); TYPE COMON_VAR = RECORD CURRENT_COROUTINE: COROUTINE_LINK; READY_Q, WAITING_MES_Q, WAITING_ANS_Q: COROUTINE_QUEUE; MES_BUF: MESSAGE_BUFFER; WAITING_INT_Q: COROUTINE_QUEUE; END; "COROUTINE MONITOR PROCEDURES SUBFUNCTION CODES: CONST CM_SIGNAL = 0; CM_WAIT = 1; SIGNAL_OP = 2; WAIT_OP = 3; SEM_SEND_SYS_MES = 4; SEM_ALLOC_SYS_MES = 5; CM_SEND_SYS_ANS = 6; CM_INIT = 7; CM_ADD = 8; SEM_INIT = 9; SEM_ALLOC_INT = 10; "END OF COMONPARAMS :