DataMuseum.dk

Presents historical artifacts from the history of:

CR80 Hard and Floppy Disks

This is an automatic "excavation" of a thematic subset of
artifacts from Datamuseum.dk's BitArchive.

See our Wiki for more about CR80 Hard and Floppy Disks

Excavated with: AutoArchaeologist - Free & Open Source Software.


top - download

⟦56d596069⟧ TextFile

    Length: 3410 (0xd52)
    Types: TextFile
    Names: »XMITMSG«

Derivation

└─⟦21011a92c⟧ Bits:30005095 8" CR80 Floppy CR80FD_0052 ( HMDIR 2 VOL: BACKUP MD: ISH.D From: HMDIR*ISH.D )
    └─⟦777b1406f⟧ 
        └─ ⟦this⟧ »ISH.D!XMITMSG« 

TextFile

;-----------------------------------------------------------------------
; 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
;-----------------------------------------------------------------------