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: 2674 (0xa72) Types: TextFile Names: »MS3500.S«
└─⟦b5acf5c79⟧ Bits:30005104 8" CR80 Floppy CR80FD_0063 ( VOL: SCC.V MSS Directory: MS2.D ) └─⟦f918199fd⟧ └─ ⟦this⟧ »MS2.D!MS3500.S«
MESSAGE <:MS3500.S V810325:> ;----------------------------------------------------------------------- ; SUBROUTINE MS3500 ; READ MSG_ID ; ; REGISTERS CALL EXIT ; R0,R1,R2,R3 - DEST ; R4 LINK - ; R5 NOT USED ; R6 REF(IOCB) REF(IOCB) ; ; INPUT: IIDREF,FILE ; OUTPUT: INPID ; EXIT TO: LINK+0 (NOT READ) ; LINK+1 (OK) ;----------------------------------------------------------------------- MS3500: ; READ MSG_ID: MOV IOTYP. X6 R0 ; GET IOCB TYPE MOV IIDREF R1 ; AND MSG_ID REFERENCE SEQ R1 0 ; IF ZERO MSGID IBZ R0 IOBFIX ; OR IF NICS RECORDS JMP 0. X4 ;R THEN EXIT(0) ADDC 1 R4 ; ELSE PREPARE EXIT(1) MOV R4 RL3000 ; SAVE RETURN LINK MS3502: ; READ FIRST(NEXT) RECORD: JMPI S4 MI1020 ; READ A FIKS RECORD JMPI & S4 MIE100 ;E FILE EMPTY-ERROR MOV IOFNX. X6 R0 ; GET CURRENT FILE INDEX MOV IIDREF R1 ; AND CONSTANT MSGID REF IHS R0 R1 ; IF PAST MSGID JMPI S4 MIE100 ;E THEN FILE ERROR SUB R0 R1 ; GET RELATIVE MSGID REF MOV IOBLT. X6 R0 ; AND THIS BLOCK LENGTH IGE R1 R0 ; IF MSGID NOT IN THIS RECORD JMP MS3502 ; THEN LOOPBACK TILL DONE ADDC -6 R0 ; GET BUFFER LENGTH MINUS 6 BYTES ILT R0 R1 ; IF MSG-ID OVERLAPS 2 LINES JMPI S4 MIE100 ;E THEN FILE ERROR MOV R1 R4 ; POSITION INPUT MOVC INPID R2 ; AND OUTPUT MOVC 3 R3 ; SETUP TO COPY 3 WORDS MS3504: ; COPY FIRST(NEXT) 2 BYTES: MOD IOBUF. X6 ; PROVIDE BUFFER ADDR MOVB 0. X4 R0 ; READ FIRST BYTE MOD IOBUF. X6 ; PROVIDE BUFFER ADDR MOVB 1. X4 R1 ; READ SECOND BYTE SWP R1 ; AS LEFT BYTE IOR R1 R0 ; MERGE 2 BYTES MOV R0 X2 ; SAVE IN INPID ADDC 2 R4 ; STEP POINTERS ADDC 1 R2 ; SOB R3 MS3504 ; LOOPBACK TILL DONE JMPI RL3000 ;R EXIT(1)