|
|
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 - metrics - download
Length: 3410 (0xd52)
Types: TextFile
Names: »XMITMSG«
└─⟦21011a92c⟧ Bits:30005095 8" CR80 Floppy CR80FD_0052 ( HMDIR 2 VOL: BACKUP MD: ISH.D From: HMDIR*ISH.D )
└─⟦777b1406f⟧
└─⟦this⟧ »ISH.D!XMITMSG«
;-----------------------------------------------------------------------
; PROCEDURE "TRANSMIT_MESSAGE"(XMITMSG).
;
; NARRATIVE:
; THE MTCB DELEIVERED BY CALLER (R0),IS UPDATED IN ACCORDANCE TO TYPE
; (NARRATIVE/CONTROL,R1) AND DESTINATION (I.E. ROUTING MASK DESIGNATED
; BY R2),AND ENQUEUED IN THE TRANSPORT QUEUE 'TQ'.
;
; REGISTER USE: ENTRY EXIT
; R0: MTCB INDEX DESTROYED
; R1 MSG TYPE DESTROYED
; R2 DESTINATION DESTROYED
; R3,R4 - DESTROYED
; R7 - DESTROYED
;
; INPUT: DRMASK(DESTINATION)
; MPNMSG/MPCMSG
;
; OUTPUT: TQ
;
; CALLS TO: MIO,MPUTMTCB
; MIO,MENQUE
; MTCB,RELEASEMTCB
;
; RETURNS: LINK+0:DONE
; UREXXX:ERROR
;-----------------------------------------------------------------------
;
;ROUTING ADDRESSES:
;---------------------------------
CURLOC=LOC,LOC=0 ; ADDRESS DESIGNATORS:
MINDEST: DESTCIP:LOC=LOC+1 ; TO CIP
MAXDEST: DESTSIP:LOC=LOC+1 ; TO SIP
LOC=CURLOC ;
DRMASK: CIPRMSK0,CIPRMSK1 ; ROUTINGMASK(DESIGNATOR)
SIPRMSK0,SIPRMSK1 ;
;-----------------------------------------------------------------------
XMITMSG: ;BEGIN XMITMSG
MOV R5 RLI100 ;
SLO R2 MINDEST ;
SLO R2 MAXDEST+1 ; IF DESTINATION UNKNOWN
JMPI & S4 URE020 ;E OR
SEQP R1 TCTRLMSG ; UNKNOWN MSG TYPE THEN
SEQ R1 TNMSG ;
JMPI & S4 URE021 ;E REPORT ERROR
MOV R2 R4 ; ELSE
SLL R4 1 ; X(DEST):=2*DEST.
MVP DRMASK.X4 R2 ; READ ROUTINGMASK(DEST.)
MVP 1+DRMASK.X4 R3 ;
SEQ R1 TCTRLMSG ; SELECT MTCB PARM.BLOCK
MODC MPNMSG-MPCMSG ; I.E. NARRATIVE OR
MOVC MPCMSG R4 ; CONTROL MSG MTCB PARM.BLOCK
; 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 ; X0:ERROR,REPORT ERROR
; X1:DONE
JMPI RLI100 ; RETURN LINK+0
; ENDIF
;END XMITMSG
;-----------------------------------------------------------------------