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: 9088 (0x2380) Types: TextFile Names: »S8MXP2«
└─⟦d9c1548a9⟧ Bits:30005185 8" CR80 Floppy CR80FD_0182 ( UTILITIES FOR X25 HOH ) └─⟦851bd64f0⟧ └─ ⟦this⟧ »S8MXP2«
; CR80 SYSTEM ONE ; MONITOR ; MASTER: XPD - PROCESS DESCRIPTION (PART 2) IF XPD EQ UTILITYLENGTH OR XPD EQ PROGLENGTH THEN USE PROG XPSTATE= BMREENTRANT XREFS= 0 XBUFS= 1 XWORDS= 0 XPSIZE= LOC XCHAIN= 0 XPCOUNT= 1 XPNAME0= 0 XPNAME1= 0 XPNAME2= 0 XIDENT= 0 XPRPC= PROGLENGTH FI USE BASE IF XPD GT PROGLENGTH THEN XLOC= LOC-XLOC-C XSTATE= 0 XPARENT= 0 XNEXT= 0 XCHILD= 0 XCHAIN= 0 XKIND= 0 XNAME0= 0 XNAME1= 0 XNAME2= 0 XIDENT= 0 XPROCIDENT= 0 XDEBUG= 0 XCBASE= 0 XCBASEMOD= 0 XPRPC= 0 XTIMER= 100 XPSW= 0 XOLDPROC= 0 XLOCACTION= LOCACT XLOCRETURN= 0 XCAUSE= 0 XDEVPR= 0 XPRESET= 100 XERROR= 0 XWARNING= 0 XTERMINATE= 0 XRESERVER= 0 XDEVICE= 0 XINTERRUPT= 0 XACTION= LOCACT XEOFACTION= LOCACT IF XPD GT CURSIN THEN IF LOC NE CURSIN+XLOC THEN MESSAGE <:ERROR: XCURSIN LENGTH:> FI XCURIN= LOC BEGIN USE BASE XSHARE: XSNAME: XSNAME0 IF NAMELENGTH GT 1 THEN XSNAME1 IF NAMELENGTH GT 2 THEN XSNAME2 IF NAMELENGTH GT 3 THEN 0 REPEAT NAMELENGTH-3-1 FI FI FI IF LOC-XSNAME NE NAMELENGTH THEN MESSAGE <:ERROR: XSNAME LENGTH:> FI XSIDENT 0 ; SPROCIDENT XSMODE XSKIND 0 REPEAT 6 ; SMASK - SFILE XSFIRST XSTOP XSREM XSBUFSIZE XSUSED XSSID: 0 IF IDLENGTH GT 1 THEN 0 IF IDLENGTH GT 2 THEN 0 IF IDLENGTH GT 3 THEN 0 REPEAT IDLENGTH-3-1 FI FI FI IF LOC-XSSID NE IDLENGTH THEN MESSAGE <:ERROR: XSSID LENGTH:> FI 0 IF LOC-XSSID NE STACKLENGTH THEN MESSAGE <:ERROR: STACK LENGTH:> FI 0 REPEAT 9 ; SSAVE0 - SSAVE9 IF LOC-XSHARE NE SHARELENGTH THEN MESSAGE <:ERROR: XSHARE LENGTH:> FI XSBUFFERS= 1 XSNAME0= <:OC:> XSMODE= BMINPUT OR BMBYTE XSKIND= KINDOC OR BMBYTE OR BMDISP XSBUFSIZE= 128 XSBUFFERS= 2 IF XSMODE>BNBYTE THEN XSFACTOR=2 IF XSBUFSIZE THEN XSFILL=1 ELSE XSFILL=0 FI ELSE XSFACTOR=1 XSFILL=0 FI XSNAME0= 0 XSNAME1= 0 XSNAME2= 0 XSIDENT= 0 XSFIRST= (LOC+XSBUFFERS*BUFFERLENGTH)*XSFACTOR XSTOP= XSFIRST IF XSMODE>BNOPUT THEN XSREM= XSBUFSIZE ELSE XSREM= 0 FI XSUSED= LOC XSBUFFER= XSBUFFERS*(XSBUFSIZE+XSFILL) XSBUFAREA= (XSUSED+XSBUFFERS*BUFFERLENGTH)*XSFACTOR IF XSBUFFERS GT 0 THEN 0 REPEAT BFIRST-1 XSBUFAREA, XSBUFAREA=XSBUFAREA+XSBUFSIZE+XSFILL IF XSBUFFERS GT 1 THEN LOC-BNEXT+BUFFERLENGTH ELSE XSUSED FI XSBUFFERS=XSBUFFERS-1 FI IF XSBUFFERS GT 0 THEN 0 REPEAT BFIRST-1 XSBUFAREA, XSBUFAREA=XSBUFAREA+XSBUFSIZE+XSFILL IF XSBUFFERS GT 1 THEN LOC-BNEXT+BUFFERLENGTH ELSE XSUSED FI XSBUFFERS=XSBUFFERS-1 FI IF XSMODE>BNBYTE AN (NT XSKIND>BNBYTE) AN XSBUFAREA>15 THEN MESSAGE <:ADDR TOO BIG:> FI IF XSBUFFER GT 0 THEN 0 REPEAT (XSBUFFER-1)/XSFACTOR FI END IF XPD GT CURSOUT THEN IF LOC NE CURSOUT+XLOC THEN MESSAGE <:ERROR: XCURSOUT LENGTH:> FI XCUROUT= LOC BEGIN USE BASE XSHARE: XSNAME: XSNAME0 IF NAMELENGTH GT 1 THEN XSNAME1 IF NAMELENGTH GT 2 THEN XSNAME2 IF NAMELENGTH GT 3 THEN 0 REPEAT NAMELENGTH-3-1 FI FI FI IF LOC-XSNAME NE NAMELENGTH THEN MESSAGE <:ERROR: XSNAME LENGTH:> FI XSIDENT 0 ; SPROCIDENT XSMODE XSKIND 0 REPEAT 6 ; SMASK - SFILE XSFIRST XSTOP XSREM XSBUFSIZE XSUSED XSSID: 0 IF IDLENGTH GT 1 THEN 0 IF IDLENGTH GT 2 THEN 0 IF IDLENGTH GT 3 THEN 0 REPEAT IDLENGTH-3-1 FI FI FI IF LOC-XSSID NE IDLENGTH THEN MESSAGE <:ERROR: XSSID LENGTH:> FI 0 IF LOC-XSSID NE STACKLENGTH THEN MESSAGE <:ERROR: STACK LENGTH:> FI 0 REPEAT 9 ; SSAVE0 - SSAVE9 IF LOC-XSHARE NE SHARELENGTH THEN MESSAGE <:ERROR: XSHARE LENGTH:> FI XSBUFFERS= 1 XSNAME0= <:OC:> XSMODE= BMOUTPUT OR BMBYTE XSKIND= KINDOC OR BMBYTE OR BMDISP XSBUFSIZE= 128 XSBUFFERS= 2 IF XSMODE>BNBYTE THEN XSFACTOR=2 IF XSBUFSIZE THEN XSFILL=1 ELSE XSFILL=0 FI ELSE XSFACTOR=1 XSFILL=0 FI XSNAME0= 0 XSNAME1= 0 XSNAME2= 0 XSIDENT= 0 XSFIRST= (LOC+XSBUFFERS*BUFFERLENGTH)*XSFACTOR XSTOP= XSFIRST IF XSMODE>BNOPUT THEN XSREM= XSBUFSIZE ELSE XSREM= 0 FI XSUSED= LOC XSBUFFER= XSBUFFERS*(XSBUFSIZE+XSFILL) XSBUFAREA= (XSUSED+XSBUFFERS*BUFFERLENGTH)*XSFACTOR IF XSBUFFERS GT 0 THEN 0 REPEAT BFIRST-1 XSBUFAREA, XSBUFAREA=XSBUFAREA+XSBUFSIZE+XSFILL IF XSBUFFERS GT 1 THEN LOC-BNEXT+BUFFERLENGTH ELSE XSUSED FI XSBUFFERS=XSBUFFERS-1 FI IF XSBUFFERS GT 0 THEN 0 REPEAT BFIRST-1 XSBUFAREA, XSBUFAREA=XSBUFAREA+XSBUFSIZE+XSFILL IF XSBUFFERS GT 1 THEN LOC-BNEXT+BUFFERLENGTH ELSE XSUSED FI XSBUFFERS=XSBUFFERS-1 FI IF XSMODE>BNBYTE AN (NT XSKIND>BNBYTE) AN XSBUFAREA>15 THEN MESSAGE <:ADDR TOO BIG:> FI IF XSBUFFER GT 0 THEN 0 REPEAT (XSBUFFER-1)/XSFACTOR FI END IF XPD GT CURSWORK THEN IF LOC NE CURSWORK+XLOC THEN MESSAGE <:ERROR: XCURSWORK LENGTH:> FI XCURWRK= LOC BEGIN USE BASE XSHARE: XSNAME: XSNAME0 IF NAMELENGTH GT 1 THEN XSNAME1 IF NAMELENGTH GT 2 THEN XSNAME2 IF NAMELENGTH GT 3 THEN 0 REPEAT NAMELENGTH-3-1 FI FI FI IF LOC-XSNAME NE NAMELENGTH THEN MESSAGE <:ERROR: XSNAME LENGTH:> FI XSIDENT 0 ; SPROCIDENT XSMODE XSKIND 0 REPEAT 6 ; SMASK - SFILE XSFIRST XSTOP XSREM XSBUFSIZE XSUSED XSSID: 0 IF IDLENGTH GT 1 THEN 0 IF IDLENGTH GT 2 THEN 0 IF IDLENGTH GT 3 THEN 0 REPEAT IDLENGTH-3-1 FI FI FI IF LOC-XSSID NE IDLENGTH THEN MESSAGE <:ERROR: XSSID LENGTH:> FI 0 IF LOC-XSSID NE STACKLENGTH THEN MESSAGE <:ERROR: STACK LENGTH:> FI 0 REPEAT 9 ; SSAVE0 - SSAVE9 IF LOC-XSHARE NE SHARELENGTH THEN MESSAGE <:ERROR: XSHARE LENGTH:> FI XSBUFFERS= 1 XSMODE= BMWORD XSKIND= BMWORD XSBUFSIZE= 64 XSBUFFERS= 2 IF XSMODE>BNBYTE THEN XSFACTOR=2 IF XSBUFSIZE THEN XSFILL=1 ELSE XSFILL=0 FI ELSE XSFACTOR=1 XSFILL=0 FI XSNAME0= 0 XSNAME1= 0 XSNAME2= 0 XSIDENT= 0 XSFIRST= (LOC+XSBUFFERS*BUFFERLENGTH)*XSFACTOR XSTOP= XSFIRST IF XSMODE>BNOPUT THEN XSREM= XSBUFSIZE ELSE XSREM= 0 FI XSUSED= LOC XSBUFFER= XSBUFFERS*(XSBUFSIZE+XSFILL) XSBUFAREA= (XSUSED+XSBUFFERS*BUFFERLENGTH)*XSFACTOR IF XSBUFFERS GT 0 THEN 0 REPEAT BFIRST-1 XSBUFAREA, XSBUFAREA=XSBUFAREA+XSBUFSIZE+XSFILL IF XSBUFFERS GT 1 THEN LOC-BNEXT+BUFFERLENGTH ELSE XSUSED FI XSBUFFERS=XSBUFFERS-1 FI IF XSBUFFERS GT 0 THEN 0 REPEAT BFIRST-1 XSBUFAREA, XSBUFAREA=XSBUFAREA+XSBUFSIZE+XSFILL IF XSBUFFERS GT 1 THEN LOC-BNEXT+BUFFERLENGTH ELSE XSUSED FI XSBUFFERS=XSBUFFERS-1 FI IF XSMODE>BNBYTE AN (NT XSKIND>BNBYTE) AN XSBUFAREA>15 THEN MESSAGE <:ADDR TOO BIG:> FI IF XSBUFFER GT 0 THEN 0 REPEAT (XSBUFFER-1)/XSFACTOR FI END IF XPD GT ENTRYAREA THEN IF LOC NE ENTRYAREA+XLOC THEN MESSAGE <:ERROR: XENTRYAREA LENGTH:> FI XCENTRY= LOC 0 REPEAT ENTRYLENGTH-1 IF XPD GT WORKAREA THEN IF LOC NE WORKAREA+XLOC THEN MESSAGE <:ERROR: XWORKAREA LENGTH:> FI XWORKING= LOC 0 REPEAT WORKLENGTH-1 IF LOC NE UTILITYLENGTH+XLOC THEN MESSAGE <:ERROR: XUTILITY LENGTH:> FI FI FI FI FI FI XCURIN= 0 XCUROUT= 0 XCURWORK= 0 XCENTRY= 0 XWORKING= 0 IF XREFS EQ 0 THEN XREFSX=0 ELSE XREFSX: XREFS=XREFS-1 IF XREFS EQ 0 THEN 0 REPEAT REFLENGTH-1 ELSE 0,0,LOC+REFLENGTH-NEXT,0 REPEAT REFLENGTH-4 XREFS=XREFS-1 IF XREFS EQ 0 THEN 0 REPEAT REFLENGTH-1 ELSE 0,0,LOC+REFLENGTH-NEXT,0 REPEAT REFLENGTH-4 XREFS=XREFS-1 IF XREFS EQ 0 THEN 0 REPEAT REFLENGTH-1 ELSE 0,0,LOC+REFLENGTH-NEXT,0 REPEAT REFLENGTH-4 XREFS=XREFS-1 IF XREFS EQ 0 THEN 0 REPEAT REFLENGTH-1 ELSE 0,0,LOC+REFLENGTH-NEXT,0 REPEAT REFLENGTH-4 XREFS=XREFS-1 IF XREFS EQ 0 THEN 0 REPEAT REFLENGTH-1 ELSE 0,0,LOC+REFLENGTH-NEXT,0 REPEAT REFLENGTH-4 XREFS=XREFS-1 IF XREFS EQ 0 THEN 0 REPEAT REFLENGTH-1 ELSE 0,0,LOC+REFLENGTH-NEXT,0 REPEAT REFLENGTH-4 XREFS=XREFS-1 IF XREFS EQ 0 THEN 0 REPEAT REFLENGTH-1 ELSE 0,0,LOC+REFLENGTH-NEXT,0 REPEAT REFLENGTH-4 XREFS=XREFS-1 IF XREFS EQ 0 THEN 0 REPEAT REFLENGTH-1 ELSE 0,0,LOC+REFLENGTH-NEXT,0 REPEAT REFLENGTH-4 XREFS=XREFS-1 IF XREFS EQ 0 THEN 0 REPEAT REFLENGTH-1 ELSE 0,0,LOC+REFLENGTH-NEXT,0 REPEAT REFLENGTH-4 XREFS=XREFS-1 IF XREFS EQ 0 THEN 0 REPEAT REFLENGTH-1 ELSE 0,0,LOC+REFLENGTH-NEXT,0 REPEAT REFLENGTH-4 FI FI FI FI FI FI FI FI FI FI FI IF XBUFS EQ 0 THEN XBUFSX=0 ELSE XBUFSX: XBUFS=XBUFS-1 IF XBUFS EQ 0 THEN 0 REPEAT BUFLENGTH-1 ELSE 0,0,LOC+BUFLENGTH-NEXT,0 REPEAT BUFLENGTH-4 XBUFS=XBUFS-1 IF XBUFS EQ 0 THEN 0 REPEAT BUFLENGTH-1 ELSE 0,0,LOC+BUFLENGTH-NEXT,0 REPEAT BUFLENGTH-4 XBUFS=XBUFS-1 IF XBUFS EQ 0 THEN 0 REPEAT BUFLENGTH-1 ELSE 0,0,LOC+BUFLENGTH-NEXT,0 REPEAT BUFLENGTH-4 XBUFS=XBUFS-1 IF XBUFS EQ 0 THEN 0 REPEAT BUFLENGTH-1 ELSE 0,0,LOC+BUFLENGTH-NEXT,0 REPEAT BUFLENGTH-4 XBUFS=XBUFS-1 IF XBUFS EQ 0 THEN 0 REPEAT BUFLENGTH-1 ELSE 0,0,LOC+BUFLENGTH-NEXT,0 REPEAT BUFLENGTH-4 XBUFS=XBUFS-1 IF XBUFS EQ 0 THEN 0 REPEAT BUFLENGTH-1 ELSE 0,0,LOC+BUFLENGTH-NEXT,0 REPEAT BUFLENGTH-4 XBUFS=XBUFS-1 IF XBUFS EQ 0 THEN 0 REPEAT BUFLENGTH-1 ELSE 0,0,LOC+BUFLENGTH-NEXT,0 REPEAT BUFLENGTH-4 XBUFS=XBUFS-1 IF XBUFS EQ 0 THEN 0 REPEAT BUFLENGTH-1 ELSE 0,0,LOC+BUFLENGTH-NEXT,0 REPEAT BUFLENGTH-4 XBUFS=XBUFS-1 IF XBUFS EQ 0 THEN 0 REPEAT BUFLENGTH-1 ELSE 0,0,LOC+BUFLENGTH-NEXT,0 REPEAT BUFLENGTH-4 XBUFS=XBUFS-1 IF XBUFS EQ 0 THEN 0 REPEAT BUFLENGTH-1 ELSE 0,0,LOC+BUFLENGTH-NEXT,0 REPEAT BUFLENGTH-4 FI FI FI FI FI FI FI FI FI FI FI FI XSIZE= LOC-ITEM XPROGRAM= LOC USE PROG IF LOC+XSIZE NE WORDS THEN MESSAGE <:ERROR: LOC+XSIZE<>WORDS:> FI IF XPD NE PROGLENGTH THEN USE BASE FI «eof»