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: 3618 (0xe22) Types: TextFile Names: »TRANSMSG«
└─⟦80dc9b589⟧ Bits:30005096 8" CR80 Floppy CR80FD_0053 ( HMDIR 6 VOL: BACKUP MD: CPM.D From: HMDIR*CPM.D ) └─⟦08785f861⟧ └─ ⟦this⟧ »CPM.D!TRANSMSG«
;----------------------------------------------------------------------- ; PROCEDURE "TRANSMIT_MESSAGE"(TRANSMSG). ; ; NARRATIVE: ; TRANSMSG HAS TREE ENTRIES,ONE FOR CONTROL_MESSAGES RECIEVED VIA 'NC' ; FOR OUTBOUND DELIVERY,ONE FOR NARRATIVE_MESSAGES RETRIEVED FROM 'NM'- ; QUEUE,AND ONE FOR TRANSMISSION OF LOCAL GENERATED MESSAGE (SYNCMSG). ; THE ROUTING MASK IS RETRIEVED FROM THE ROUTING_HEADER,AND LOADED ; TO THE MTCB (CMTCBX).NARRATIVE MESSAGES ARE IN ADDITION ROUTED TO ; COLLOCATED SIP FOR ACCOUNTING PURPOSES,AND THE ROUTING MASK UPDATED ; ACCORDINGLY.THE MTCB IS SUBSEQUENTLY ENQUEUED IN 'TQ' FOR TRANSMIS- ; SION TO FIKS NETWORK. ; ; REGISTER USE: ENTRY EXIT ; R0=MTCB_INDEX (ENTRY TRANSMSG) ; R2,R3=ROUTING_MASK (ENTRY TRANSMSG) ; R4=MPCB (ENTRY TRANSMSG) ; R5=LINK R0-R7 DESTROYED ; ; INPUT: MPNMSG ; CMTCBX ; ; OUTPUT: TQ ; MPCMSG ; ; CALLS T0: INCTRLMSG ; MON MIO,MPUTMTCB/MENQQE ; MON MTCB,RELEASEMTCB ; ; RETURNS: LINK+0:DONE ; UREXXX:ERROR ;----------------------------------------------------------------------- CMTRANS: ;BEGIN TRANSCM: MOV R5 RLI100 ; SAVE LINK JMP S5 INCTRLMSG ; "IN_CTRL_MSG"(CMTCBX) MOVC CMCDAT R4 ; (CTRLMSG IS LOADED TO CMMFDCB) MOVL BHRMSK0.X4 R23 ; RETRIEVE ROUTING MASK MOV CMTCBX R0 ; GET MTCB INDEX MOVC MPCMSG R4 ; GET REF.TO PRE.ASS. MTCB JMP I130 ; GOTO ENQUEUE_MTCB: ; NMTRANS: ;BEGIN TRANS_NARR_MSG: MOV R5 RLI100 ; SAVE LINK MOV CRMASK+0 R2 ; MOV CRMASK+1 R3 ; RETRIEVE ROUTING MASK MOVC SIPRMSK0 R0 ; MOVC SIPRMSK1 R1 ; IOR R0 R2 ; UPDATE ROUTING MASK TO IN- IOR R1 R3 ; CLUDE COLLOCATED SIP. MOV CMTCBX R0 ; GET MTCB INDEX MOVC MPNMSG R4 ; GET REF.TO PRE.ASS. MTCB JMP I130 ; GOTO ENQUEUE_MTCB ; TRANSMSG: ;BEGIN TRANSMSG MOV R5 RLI100 ; SAVE LINK I130: ; ENQUEUE_MTCB: ; BEGIN WRITE MTCB MOVL R23 MPRWD4.X4 ; ROUTING MASK MON MIO,MPUTMTCB ; "PUT_MTCB" JMPI & S4 URE001 ;E X0:ERROR,REPORT ERROR ; X1:DONE,R0=MTCB INDEX ; END WRITE MTCB MOV MPRAPR.X4 R2 ; READ QUEUE NO.(PREC) MOVC QDTQ R4 ; QUEUE=TQ MOV R2 QDQN. X4 ; LOAD QUEUE NO. MON MIO,MENQQE ; "ENQQUE"(R0=MTCB,R4=QUEUE) JMPI & S4 URE001 ;E X0:ERROR,REPORT ERROR ; X1:DONE MON MTCB,RELEASEMTCB ; "RELEASE_MTCB"(R0) JMPI & S4 URE002 ;E X0:ERROR,REPORT ERROR ; X1:DONE JMPI RLI100 ; RETURN LINK+0 ;END TRANSMSG ;----------------------------------------------------------------------- ▶1a◀