>7$J_>: `Q$ȋ @ B C  ` YSjLKe8}Kj~xeKIj}K9jLpK%8}Kąe K #Y`K 9wWK&:K1  "{L}K  \rK %K .; ORIGIN 25 NOV 74 COMPRS.S00 .TITLE COMPRS ( FIXED LENGTH FILE COMPRESS K-TASK ) ;************************************************************************* ;* ** ;* PROGRAM IDENTIFICATION. COMPRS ** ;* ** ;* PURPOSE. THIS TASK IS CALLED BY THE OPERATOR TO COMPRESS ** ;* A DES.%fz@9s@u @~. ; @m;@@@ #}@.y(s@49@N`@k@\}@.&@4f@( Nuh@(@K. .&(.L)S.rARZR.E0f8f<M `Txw , e BfE͓͋7  @ D$ e6 B  @ǁP%Haw eN1" $#  ̋ NC ̋&͕ E  E?  &    w 6"&f&! /8G /V e@8f f" IGNATED FILE AREA ** ;* ** ;* METHOD. COMPRS SEQUENCES THROUGH A DESIGNATED AREA,FILE BY ** ;* FILE,IN A REPACKING FILE MOVE PROCEDURE ** ;* ** ;* TASK USAGE. COMPRS IS CALLED VIA THE OPERATOR DEMAND K-TASK ** ;* INPUT WITH THE COMMAND CM,N WHERE N IS THE **  . &( &.& a  "&(.L AREA NOW BEING COMPRESSEDDE.rSIGNATED AREA DOES NOT EXIST-TASK AREp-A CANNOT BE COMPRESSED AFTER IPL TIMEn (+!DESIGNATED AREA IS INCOMPRESSIBLE -#DESIGNATED AREA HAS BEEN COMPRESSEDk ./DISC ERROR WHILE READING A FILE DIRE..CTOR Aa ,Ӌ(q%(  EUHQ̳ (&  Β ,^ 6S$%5beNa  搎NŀW W  װΌeΌ%H p MECP  "ϰU ` ( U (0 w w &* $$$E e)U@    J U@w  "Ő ea*Y p ŐŊ& " E T (P $bc H  U  "b UE T0 0 ŋU  pU2"װw  <@E%A! װ5KE֊EeEU%p!Ed Qbep "װ,ŀ Q 5lH!Oc Jp  ŌW  IװAa Q  `E(f a c   KаOe$d d cĊ  l "    E f ы   D"ᆃ עJ` فרJ b @( &^  ;* DESIRED AREA NUMBER TO BE COMPRESSED. ** ;* ** ;* COMPRS IS ALSO CALLED BY "IPLTSK" AT BOOT TIME, IF THE ** ;* OPERATOR SET CONSOLE SWITCH(ES) 8 AND/OR 9. ** ;* SWITCH #9 REQUESTS COMPRESSION OF ALL AREAS WHICH HAVE ** ;* THE RESTRICTION ATTRIBUTE THAT THEY ARE "COMPRESSIBLE ** ;* ONLY AT IPL-TIME." THESE ARE THE ONLYY ENTRYt :.:CANNOT OPEN A FILE TO BE MOVED DISCt.` ERROR WHEN REPACKING A FILE.DISC ERR.OR WHILE UPDATING FDE FOR A MOVED FILE\#CANNOT CLOSE A MOVED FILE{ .$ERROR WHEN ACCESSING TASK TABLE FILE7...:7 7!E7 -.`>5 5r5}zzU.h^ d 7 ^7\       7 7 hw f@e@  K"e E\  K"M W e    w R < w$ ew LB   w  \< w ew | 56 e? 0 @#E?UU6 3 w(  6  < wL epe4K#@$2  1  3 0 '@fDe"@  H P  AREAS THAT CAN ** ;* CONTAIN TASK IMAGE FILES. AREAS WITHOUT THIS ATTRIBUTE ** ;* WILL BE COMPRESSED ONLY IF SWITCH #8 IS SET. ** ;* THE SWITCH PATTERN IS PASSED TO COMPRS VIA THE QUEUE ** ;* ARGUMENT, IN THE SAME WAY AS THE AREA NUMBER IS PASSED ** ;* BY "INPUT." COMPRS DETERMINES THAT THE CALLER IS IPLTSK** ;* WHEN THE SIGN BIT OF THE PASSED ARGUMENT IS SET. ** ;*   ] u .R n 8-:, u $u 9.   & "4f( #}\.n  Knz (z5.&R "L e  R ; L.D7  D~"/$K.jR  w \=C rRN` \.  u21w~ 7-BWf& p0e04 wJw W ͕,RA!ʕ . ee4/  %  Q$U$U%  AB I#   f& f a( ֵ W&&  %  ,^ b)̌ $$ &$b$"  h"  ⁁Wx &e !+ffe5@'&&f}  CE Df ͝U@e U W Ɂ w  W Mw l W W ! f cU 8We U N U e U U  F!- F e F!- f  B EpS $`1 $ ^C . DATE:- TIME:- EEaC$&pcF %$C%@`Գ Aa ** ;* PROGRAMMER: 67 ** ;* DATE: 29-OCT-74 ** ;* ** ;************************************************************************* .PAGE .DEF CMPR00 .REF OPN .REF CLS .REF QIO .REF EXIT .REF AFIRST m;~k.-e!@ "< l@$<. !  e.TzR { R&.(p,ew & $N`.N  t p  s& nsy.tb-zw6pl7l`7hd.^ WqwLFJ: (. 06& ``-DqF   e 3/ . fe& E NaeEM MJ f& NJ  f ,^ _e   A̋$)&E eAaW$  p  EW" gE( ևJ!  W=J(@U%EE ,^ $)6; "&f( f0 R,E KSa KcW" ge B Q$p  ֝,U%g"MBbF $D`);D` &*   y54- &&( $&& .^  (  t  e!&#Ee   U E3!( &W E$ &  .^ 8  e C@! &.^  U%g"G$B$bF %? EL05AaAa5EEd e (  &* e U  U@ .REF ANEXT .REF FSARUN .REF TTFDCL .REF CRFDET .REF CFBITM .REF AARBTC .REF BINASC .REF IFD,TSKTBL,TTFDCL,UNSPND .MCALL IOCL$ .MCALL DCL$ MVBSZ = 2 ; NUMBER OF SECTORS IN MOVE BUFFER $FMTSZ = 20 ; NUMBER OF ENTRIES IN THE FILE MOVE TABLE $BYSHC = 7 ; SHIFT COUNT TO CONVERT BYTE COUNT TO SECTOR .PAGE ; THE FOLkkz.pR E(wRN`. ~ DW!> +Wqev~ k(f.2N~ @@R ~k&R.X%!Y t& 49&&;*~et&  *k \}49&k"?.eW @ we`:,w @.xw| ,  %z]wE_P hfkNfmCMoErv-xqF $$D` R&*  D`̋E B ȋ9 ($) & & .^   U%g"G$5"ۆ 5`  :  E  U (  e: ("$ `%͋͊GhhE6 w7 l Õ7 p  7 Hwr wb7 *CW Հ |7 7  B߳tՀߕ@t97 D672G7 FՀ  %& n (   7 Nߓp2|߳t&^  #ʔ `Z 7 & 7 2 ~   j ꀣw e@@ tA @ w pe 2̓@ p @ d e6B @%w"CY7Xe  ߓp4 w| LOWING DCL & IOCL ARE USED FOR CONSOLE MESSAGE PRINTOUTS DCL$ CODCL,$CO00,0,2,0,0,CMPR60 IOCL$ COIOCL,CODCL,0,2,$AMOD,$OUT,0,0,0,0,CMPR60,0 .PAGE ; THE FOLLOWING DCL & IOCL ARE USED FOR READING & WRITING FILE DIRECTORY ENTRY DCL$ DCDCL,$FIDDD,0,3,0,0,0 IOCL$ DCIOCL,DCDCL,0,2,$VMOD,$IN,FDEBUF,0,$FDESB,0,0,0 FDEBUF: .BLKW 12. ; FILE DIRECTORY ENTRY BUFFER .PAGE ; THIS DCL IS USED TO EXCLUSIVELY OPEN & CLOSE A FILE T$ N`,k .:Z|a:Z| (  w7e~Tv.xf 77UAh h j UAh$^ h px  h |H.M w e w 7  7E@L LNf<ߋL- S ʋ_ \Y   Qt nIN d f^ ߋL wLJU@L$_  Lx & ߕ N   &^ %eeA mIf@ OWҕ^J@A Օ E  Iҕ\͋͊W  @ @Q Rʋ %6RbIɕ;fIAeV! פ ̕ .A!˕$Q$ ~-0  @ ߓp ̔ @!O BE MOVED DCL$ MVDCL,$DC00,0,4,0,0,0 ; THIS IOCL IS USED WITH THE AREA DCL TO MOVE THE FILE EXCLUSIVELY OPENED IOCL$ MVIOCL,MVDCL,0,2,$VMOD,$IN,MVBUF,0,0,0,MOVF96,0 TTBLOC: ; BUFFER SHARED BY "MOVE" AND "TASK TABLE" MVBUF: .BLKW $SECSW*MVBSZ ; FILE MOVE I/O BUFFER .IF GT $TTSZ/2-<$SECSW*MVBSZ> .BLKW $TTSZ/2-<$SECSW*MVBSZ> ; EXTEND BUFFER IF NECESSARY .ENDC .PAGE ;***********************************************U@ ACBc%DUe ``E  l@PHU% && ,- /$^ ( &^ & "u > U@ &^  /{;!D|"|M0K1K2./E@ ,@  ##`F U%M 5>C ( aØ` (E` fS@ EECDe0 f `$Ugzw>     e  f  E  `#' W'͋ WUWe ee e TZ  W#e1$ 'd d0 4@c  W3 e % E0 @c ` V%  $g"H @ U$eF e v&*  JEl&&  E`"D    (  U7   (Hh`B$$-,^ eB UJ &^ %7ewe|w~xU% e) & E Ee@wH> 4.f  E !w ~ԋp!w lԋj!w ` Ձ!w R AaBa %************************ ; IOCL FOR TASK TABLES: USES THE SYSTEM AREA DCL FOR THIS PURPOSE ;*********************************************************************** IOCL$ TTFICL,TTFDCL,,2,,0,TTBLOC,1,$TTSZ,,MOVF99 ; IOCL FOR TASK TABLES .PAGE ;*********************************************************************** ; TEXTS FOR ALL MESSAGES ;*********************************************************************** ;*********************************** U%g"GC  e e(   e&  L̥ ̥ ̥̥̋ ̥ I  w P ˥*j .g  6 ˥, X T˥* ˥]K I G H C B&       ˥:0C ˥,U% "˥*  ˥. ˥[ ˥/. ˥< ˥  ˥ ˥  aeAbEɋA% "U%G!   4 .˥: "˥.˥$    & ˥0 ˥Z˥9˥A  & & ACB$2  Ae ! ! ! ! ! `0 . t1 D Ѥ 1ӥ, ˥,˥<˥  ˥.˥[ f˥*8D`%  % %2"6U%G  1 K Ӌc j2 & Β | r˥: ˥.˥$D U    F` 0˥: ӥ*@ & Β0 e& ˥0 ˥Z˥9˥A &f˥* Ŕ@Ŕ@a   @a&^ %&B A!"W D , COK STE WAC&^ e%OI ZZa 達 g" )em`& ($^ ` H((&(  ee 6## DASA ECODBERE KITIENMOPR AS DU ZZ)************************************ ; MACRO TO GENERATE A TEXT, WITH BYTE-COUNT AND ".EVEN" .MACRO GENMSG MSGNO MESAGE MSG'MSGNO: .WORD XXX'MSGNO-.-2 .ASCII /MESAGE/ XXX'MSGNO: .EVEN .ENDM GENMSG ;*********************************************************************** MSG00: .WORD XXX00-.-2 .ASCII /AREA/ AREAMG: .ASCII / NOW BEING COMPRESSED/ XXX00: .EVEN GENMSG 10 &^ %eE ɕ hɊ4$ JRR XA!⊎ &. P f%f/ @e h"RA8"2 Ɍ",$*Ɋ,^ "$ $RR"&( @ %  Avv@K  `Be (e E T%T%T%TTTpT $ (a%ee e  e %& &eJ###  p&f&e"f&AAcDD 7FILE ERROR !  & L   8&& 3e0 7`$ "U%0 Yb.$)&&&cA!D 5@ 77 DEV. FULL ߕ ߋtvȊ& N&"W0W ѕ &^ % P  I W W,CAנ> ` ` g E A(eE eE ΊE`e EN W= EC@@@PN !&^ %  a  WR  WK c%@eJ!!! ̋ee&^ ߓpD&^ %2 ɊA!@ , 0"3  BEB WS Ɍ  3U%## A >ߋt'@fA! wV%eJ   e4   $)3U%0e @ ( &^ p- GENMSG 15 GENMSG 20 GENMSG 30 GENMSG 40 GENMSG 50 GENMSG 60 GENMSG 70 GENMSG 80 GENMSG &^ % @ ̋'@ߓf  D @e      % % E4$   %@eJ!!! E0v8 p 2&^ %ea@W0=&& & K<<< B: e  ` `  d L b $ $< A!  2 " KX<LI/: `A d   &^ sɌ3 o m7R A!B0Z0W W   B   •/  :  A ߋp͗rŀ^UWI•\ ͋Ba͊QB  BN DIA% &^ % & !amB: ( #W[6e \c p s! bRK l c  A! ,  J W. ScA!W]W0W9@WAͥZfW,W VA!N  m&^ %ew H R   fa e W%!  D b aB !  p & . 'Ȋ% W, 6 e !  e 5 0   f%ev&^ %  @e e Me  ʕ ʊ $͋#C( . '$ Ĝ %`(  ( ͋,^ +  !v e   ͋e K)   190 .PAGE AREAN: .WORD 0 ; DESIGNATED AREA NUMBER MSGWRD: .WORD 0 ; MESSAGE TEXT POINTER IPLFLG: .WORD 0 ; CONTAINS REQUEST FLAGS IF CALLED BY "IPLTSK" OVFLW: .WORD 0 ; FILE MOVE TABLE OVERFLOW FLAG ; AFIRST MFIRST: .WORD 0 ; FIRST POINTER FOR MOVED FILE LNEXT: .WORD 0 ; LOCAL NEXT OF DESIGNATED AREA ONEXT: .WORD 0 ; NEXT P&^ % u wF&M e v a( I D | j   X E eaE& & EfIDDm &! & e#  E   eDbeA LA   ! 0 e e  | .M $M "U%G$CE   em A    e$^ &&e E]e( &^ & ݁ "uz +SN&*)-fQK'a ͋,L w~B ` 5 5 6   w w* w4  DUUEU S & fNUVUe #<f& * 1U U@DEU!>Uf& * 5 U UCB E e v * "U%Gef.  EeEv &&&^ &ep T E eE`E& & EfpCCm   &    8      % 605OINTER FOR OLD FILE OLAST: .WORD 0 ; LAST POINTER FOR OLD FILE SNEXT: .WORD 0 ; SAVED NEXT OF SPECIFIED AREA ; ANEXT ; ALAST FMOVT: .REPT $FMTSZ ; FILE MOVE TABLE .WORD 0 ; FILE ID .WORD 0 ; STARTING SECTOR NUMBER .ENDR FMOVEN: .PAGE ;************************************************************************* ;* 6&U%fN8W)C$ N! eeH!    Z%D RC,e <e c$B  D .M $^ &&e E]e( &^ & ݁ "u EeRRRRR %  22 2    F&USw&  p 4,0E  2% e 0 00 0 & 0"U%G E   #ccD  fNUVU00%%% p b $^ &&e E]e( &^ & ݁ "u 9:-  -5@! E 6 &M  $^ "U%Gwf&  p ,M 'p pT e TTTTTL&M 0   E Caee D!K& E ae f.M &0 & N.L &0 L &M  WE&  e&p  E eE`E& & 0pf$EA B` ~0   n& &D &  ` ic J1  6!(   6!6  E ** ;* COMPRS PROGRAM ** ;* ** ;************************************************************************* CMPR00: ; TASK BEGIN CLR IPLFLG ; NON-ZERO ONLY IF CALLED BY "IPLTSK" MOV R0,AREAN ; PASSED ARGUMENT BPL CMPR10 ; CALLED BY "INPUT", NOT "IPLTSK" SWAB R0 $^ &&e E]e( &^ & ݁ "ua ͋,L wB ` 5 5 @* H  &#,fE+Ue t * &M $^ "U%bGe\f.   Ee E v &$^ &&e E]e( &^ & ݁ "u$AcfNl & E CD  aCU%W# e  p p 0 P e"bU%M%& N.^ 0 E e E `eD#E &. 0 &$^ &&e E]e( &^ & ݁ "uVq &$&%-('#/ xC""""""" """"""""""""""""""DDDADDB C%f24%f^$Dgff&"""?""""""""""""""""""a ͋,L  B8w&B ` % & }&*C$$Βe E%>k  aʋaՀ$ & * P$ ΋Ί   ΋   d Ί  ( 1'u  Q$f $5@ U C΋ Cb M΋U@ U &  B" .&0 M &0 & M 0 &I ; GET SWITCH BITS INTO LOWER BYTE BIC #^C3,R0 ; LEAVE ONLY 8 AND 9 MOV R0,IPLFLG ; SAVE PATTERN. (IPLTSK WON'T CALL IF =0.) MOV #-1,AREAN CMPR05: INC AREAN ; STEP THROUGH ALL AREAS CMP AREAN,#$ARMAX ; DONE? BGT CMPR60 ; BRIF YES MOV AREAN,R0 BITB #$CMPAR,AARBTC(R0) ; CHECK ATTRIBUTE FOR THIS AREA BNE CMPR05 ; BRIF NOT COMPRESSIBLE, E7e~TvH.M w e w 7  7E@L LNf<ߋL- S ʋ_ \Y   Qt nIN d f^ ߋL wLJU@L$_  Lx & ߕ N   PVeĜ`XZߓQ$```BEUA$^ B 5  &^ U 7 rf`> `5pDDp5@p ve& Ap&p b;ftȋW`WpWpWgW``!? ef mRae7 x;7tpȋ&5$^ JB( ! @  x p 8 qH 7pD7 77356:'"90SUVYݬ_?Z-KMNPѠ!$\ҦABDGH.<(+ɠ356':90SUVY_(\"Z-KMNPѠ$ݻ+ABDGH.<|:M @5@57 2  x 7(  e$wew  t @ MVER BIT #$CMPIP,AARBTC(R0) ; THIS AREA "IPL-ONLY"? BEQ 10$ ; BRIF NOT BIT #2,IPLFLG ; WAS REQUEST FOR "IPL-ONLY" AREAS? BNE CMPR10 ; BRIF YES BR CMPR05 ; ELSE LOOP BACK 10$: BIT #1,IPLFLG ; AREA IS NON-IPL: WAS THE REQUEST, TOO? BEQ CMPR05 ; BRIF NO: LOOP BACK FOR NEXT AREA CMPR10: ; READY TO COMPRESS AN AREA MOV AREAN,R0 )K+PVeĜ`XZߓQ$```BEUA$^ B 5  &^ U 7 rfV4 V p5pDD ve& Ap&p b;ftȋW`WpWpWgW``!? ef m`ae7 x;7tpȋ&5$^ JB( ! @  x p 8 qH 7pD7 775p356:'"90SUVYݬ_?Z-KMNPѠ!$\ҦABDGH.<(+ɠ356':90SUVY_(\"Z-KMNPѠ$ݻ+ABDGH.<Q JSR PC,OPINT ; NORMAL PATH TO AREA CHECK AND MESSAGE ASL R0 ; MAKE A WORD INDEX CLR LNEXT ; INITIALIZE LOCAL NEXT POINTER CMPR19: SPL 0 ; RESET CPU LEVEL IF LOOP BACK FROM BELOW CMPR20: MOV ANEXT(R0),SNEXT ; MOVE CURRENT ANEXT FOR SAVED NEXT ASR R0 ; RETURN TO A BYTE INDEX JSR PC,SCFDE ; SCAN ALL FDE AND BUILD FILE MOVE TABLE BR CMPR50 ; ERROUR RETURN TST FMOVT ; BRANCH TO EXIT IF FILE BEQ CMPR40 ; MOVE TABLE IS EMPTY JSR PC,MOVFL ; MOVE FILES LISTED IN FILE MOVE TABLE BR CMPR50 ; BR TO EXIT ASL R0 ; MAKE AREA # A WORD IXDEX TST OVFLW ; DID THE FILE MOVE TABLE OVERFLOW BNE CMPR20 ; GO FINISH THE AREA IF IT DID SPL 7 ; LOCK OUT INTERRUPTS CMP SNYEXT,ANEXT(R0) ; HAS A FILE BEEN ADDED SINCE THE F.M.T. BUILD BNE CMPR19 ; GO MOVE NEW FILE BACK MOV LNEXT,ANEXT(R0) ; RESET THE AREA'S NEXT POINTER SPL 0 ; RESTORE PROCESSOR STATUS ASR R0 ; RETURN TO A BYTE INDEX CMPR40: MOV #MSG30,MSGWRD ; "AREA HAS BEEN COMPRESSED" CMPR50: JSR PC,PRTMSG ; OUTPUT MESSAGE INITED IN "MSGWRD" TST IPLFLG ; IF CALLED BY IPLTSK.].. BNE CMPR05 ; ...THEN LOOP BACK FOR NEXT AREA CMPR60: TST IPLFLG ; CALLED BY "IPLTSK"? BEQ 10$ ; BRIF NOT MOV #$IPLCN,-(SP) ; IF YES... CLR -(SP) ; THEN JSR PC,UNSPND ; UNSUSPEND IT TST (SP)+ 10$: JSR PC,EXIT .PAGE ;************************************************************************* ;* a ** ;* OPINT - OPERATOR INTERFACE ROUTINE ** ;* ** ;* INPUT ** ;* R0 = DESIGNATED AREA NUMBER ** ;* ** ;* CALL FORMAT ** ;* e JSR PC,OPINT ** ;* BR ERROR ; ERROR RETURN ** ;* ; NORMAL RETURN ** ;* ** ;************************************************************************* OPINT: MOV #MSG10,MSGWRD ; "AREA DOES NOT EXIST" CMP R0,#$ARMAX BGT 20$ ; BRIF AREiA NUMBER SPECIFIED IS TOO LARGE MOV #MSG20,MSGWRD ; ;"SPECIFIED AREA NOT COMPRESSIBLE" BITB #$CMPAR,AARBTC(R0) ; IS AREA COMPRESSABLE BNE 20$ ; BRANCH IF NOT MOV #MSG15,MSGWRD ; "AREA NOT COMPRESSIBLE AFTER IPL TIME" BITB #$CMPIP,AARBTC(R0) ; IS THIS AREA RESTRICTED TO BNE 20$ ; COMPRESSION AT IPL TIME MOVB R0,-(SP) ; SET AREA NUMBER MOV #AREAMG,-(SP) ; SET mASCII BUFFER ADDRESS JSR PC,BINASC ; CONVERT BINARY # TO ASCII STRING MOVB #40,AREAMG ; OVERLAY + SIGN WITH SPACE CODE MOV #MSG00,MSGWRD ; " COMPRESSION NOW BEGUN" JSR PC,PRTMSG 10$: ADD #2,(SP) ; BYPASS ERROR RETURN: TAKE GOOD EXIT RTS PC 20$: TST IPLFLG ; IF CALLED FROM "IPLTSK"... BNE 10$ ; NEVER TAKE THE ERROR RETURN RTS PC ; RETURN q .PAGE ;************************************************************************* ;* ** ;* SCFDE - SCAN FILE DIRECTORY ENTRIES ** ;* ** ;* THIS ROUTINE WILL SCAN ALL FILE DIRECTORY ENTRIES IN THE FILE ** ;* SYSTEM AND BUILD THE FILE MOVE TABLE ** ;* u ** ;* INPUT ** ;* R0 = DESIGNATED AREA NUMBER ** ;* ** ;* CALL FORMAT ** ;* JSR PC,SCFDE ** ;* BR ERROR ; ERROR RETURN ** ;* y ; NORMAL RETURN ** ;* ** ;************************************************************************* SCFDE: CLR OVFLW ; CLEAR OVERFLOW FLAG MOV #$FMTSZ,R1 ; GET # OF ENTRIES IN FILE MOVE TABLE MOV #FMOVT,R2 ; GET ADDRESS OF FILE MOVE TABLE SCFD10: CLR (R2)+ ; CLEAR FILE ID MOV #177777,(R2)+ ; INITIALIZE STARTING }SECTOR NUMBER SOB R1,SCFD10 ; BRANCH IF NOT DONE MOV #SCFD90,DCDCL+$ER ; SET FILE I/O ERROR MOV #SCFD90,DCIOCL+$ER ; RETURN ADDRESS MOV #DCDCL,-(SP) ; OPEN THE FDE JSR PC,OPN ; FILE MOV #SCFD80,DCDCL+$ER ; SET FILE I/O ERROR MOV #SCFD80,DCIOCL+$ER ; RETURN ADDRESS CLR R1 ; CLEAR RECORD NUMBER SCFD20: INC R1 ; INC RECORD NUMBER CMP R1,$MXDID-$LUNMX; HAVE ALL FDE IN SYSTEM BEEN CHECKED BGT SCFD75 ; BRANCH IF THEY HAVE MOV R1,R3 ; COPY FILE ID CLR R2 ; CLEAR FOR DIVIDE DEC R3 ; MAKE RECORD NUMBER AN INDEX DIV #16.,R2 ; R2 = OFFSET, R3 = BIT NUMBER ASL R2 ; MAKE R2 A WORD INDEX CLR R4 ; SET BIT 0 INC R4 ; OF R4 9r % %h %Sttt*tһC! *q,(  0,ccexe*c9EEE$c&j&j &j*&j@p &jj7B7@@747 *Jj7 7 7 :7 7 4* ASH R3,R4 ; LEFT SHIFT BIT0 OF R4 BY BIT NUMBER BIT R4,CFBITM(R2) ; DOES THE FILE EXIST BEQ SCFD20 ; BRANCH IF NOT MOV R1,DCIOCL+$REC ; SET RECORD NUMBER MOV #DCIOCL,-(SP) ; READ IN A JSR PC,QIO ; FDE CMPB R0,FDEBUF+$FDARN; COMPARE AREA NUMBERS BNE SCFD20 ; BRANCH IF NOT DESIRED AREA CMP FDEBUF+$FDSTR,LNEXT ; COMPARE STARTING SECTOR WITH NEXT 7 $7 d,nj7 }fL~~~T`njn*jn`nnjnk!w,jw *qJ*4q NH XqHqxkzS I B X p7*, T^ e r,PxYt :"((dBR`jFRjjDItjfFAfFBfCOf?*JdMTfMfZEwZwndH@ ne )7 w . n}`n`nJ,j-}.I ѕ?ѕ ѕ }*kw}jnjn7 6&qE*~r LIBR-11 V002A  # %*rE  g|g~mZV*v fi"fl"fp*"L CfEv *d # od PIP-11 V004A,dc*e7 <vnnG*(kw Jnnw >nnw 2nn*Lkw &7 7 7 7 7 7 7 &7 *pk Q*r . r Hqs  BLT SCFD20 ; BRANCH IF FILE HAS BEEN COMPRESSED MOV #FMOVT,R4 ; SET FILE MOVE TABLE ADDRESS SCFD30: CMP FDEBUF+$FDSTR,2(R4) ; COMPARE FILE SECTOR NUMBERS BLO SCFD40 ; BR IF LESS THAN THE CURENT SECTOR NUMBER ADD #4,R4 ; INCREMENT TO NEXT ENTRY IN FILE MOVE TABLE CMP R4,#FMOVEN ; AT END OF FILE MOVE TABLE BLT SCFD30 ; BRANCH IF NOT INC OVFLW ; IN . Z s*t ^S N*tp:w!7 cBՂbHc0n[ {** tHa X ý 1*NF"fb ( @*rC 7 H7 T7 Rw $.xedrdcc-5'dd.e. ЋЕ?Е xd7rdcch!Bn*kn~k/ V3 & h*l Vndn`~k/%"7 7 *t7 7 7 7 7 s    d*t. .rw~rr,ue#b^l:_$ .L)Lw 46 V)V8$! \8HTZ V *&7B  ɕ0  , 0 5ѕ 5 5%*ewn"w ddcc7 e*e/3w 7w %*fJ&**l& w --TD*Nl -N>-H8--.*rl -( 'rrrqqqS*DuVqqq'Vqw*hu|qq׭ ׭ ((ȥr0 rر1 L0  ꥞.F!R0l0l!2 RMACRO V005B C OVERFLOW COUNTER BR SCFD20 ; GO READ IN NEXT FDE SCFD40: MOV #FMOVEN-4,R2 ; GET ADDRESS OF LAST ENTRY IN FILE MOVE TABLE TST (R2) ; IS LAST ENTRY VOID BEQ SCFD50 ; BRANCH IF TABLE IS NOT FULL INC OVFLW ; INC OVERFLOW COUNTER SCFD50: CMP R4,R2 ; IS CURRENT FDE TO BE LAST ONE IN TABLE BEQ SCFD70 ; BRANCH IF SO SCFD60: SUB #4,R2 ; MOVE BACK ONE MORE ENTRY- <֐0ߟ,w C! fVVu,*0ŝ) .ҕ? w w.*,"   *P | w nGd̽` &,t/bdh.f k p n ׭L׭E w n*f PNK DLde  Xd Y*f.0*l-Xn-- - *mBn ~4n  -*&mB& 1 /5wq>q r*u/5w w7 4p"qz*v r/5wp0q2,Ptp "T)  Չ,v  `*5) w  \(m* B30ƻ,MMܻ"@ N4 w w^ k w _*f *@ ec w   ,gwp @ a5w T--)*Jm-(4%-".!-(-" ".nmj nBn 56r/s*@v5 wh     >*dv  w 6w  *vw7B % e !2(T,4(7 (}d&  w K,B!e *7'*8)ܼ DISK DIRECTORY c* UIC T FILNAM.EXT DATE *, MODE MOV (R2),4(R2) ; MOVE THE FILE TABLE ENTRY MOV 2(R2),6(R2) ; DOWN ONE ENTRY CMP R2,R4 ; FINISHED WITH THE MOVE BNE SCFD60 ; BRANCH IF NOT SCFD70: MOV FDEBUF+$FDFID,(R4)+ ; PLACE FILE ID IN FILE MOVE TABLE MOV FDEBUF+$FDSTR,(R4) ; PLACE SECTOR # IN FILE MOVE TABLE BR SCFD20 ; GO READ IN NEXT FDE SCFD75: ADD #2,(SP) ; INC RETURN POINTER TO BY PASS ER= START DLONG LASTQ P PROt],a o. s f>ew jbZN 8,g , cc 50cc*g  cc ?^ gw 7 B!e@,n|z!7j7h7h^Rzd-**n w p:a@s*v \& Μ  *wrsrr J*J&*zQQR&i w c  w 8 . iw dw w w csw ,w Z w*HiSrpslzoxspFv@tRtjx`qxpr*oWHPMXROF0BEMRIFVUHGTNSPCDWLAKXJ01234%o56789/+@- T *^x *  w h9 *x  h@%jwr j T*xwU]+w f_,fw  % , 7 + % <-)&)&`,ƨl VAA wL^Y T% ) / tWw  w q*li"w 0  7l~ w &j*i" %&wRw.Xo.pYxp*p ** ;* MOVFL - MOVE THE FILES LISTED IN THE FILE MOVE TABLE TO THE ** ;* LOWER NUMBERED SECTORS IN THE AREA ** ;* ** ;* INPUT ** ;* R0 = AREA NUMBER ** ;* ** ;***********]7 *p LnnLn&  w P*p    @ k^*y&"  r @s*6y%w  aw *Zyr/ _$v %-%l% w * (24n(r(7 d(s&H`( * ! ! f`a*iw  w c "A @`$AL (*"jw | &cc #  c Fjw >b*p7 ~@` -tnm*q   7 LF *@q  c (C w< *~yw< )pp 5R *yJw%p  q,qd h kQ4d xPAzn*n 78% d*7``*^*7 T*7 efw 0_`jw Ojjw Z*tj7 7 w w 7 7 w 6P7mjg-4. e v*dqVnVn LnLn *q w  T7 w 3h*y 77 q*y>qq>qr Rr L,z:&r************************************************************** MOVFL: MOV #FMOVT,R1 ; GET ADDRESS OF THE FILE MOVE TABLE MOV R0,R3 ; COPY AREA NUMBER SUB #2,R3 ; SUB OFFSET MUL #$DCLSZ,R3 ; MULT BY DCL SIZE ADD #TTFDCL,R3 ; ADD BASE ADDRESS OF AREA DCL'S IN FSDATA MOV R3,MVIOCL+$DCL ; PLACE AREA DCL ADDRESS IN IOCL MOVF10: MOV (R1),MVDCL+$LUN ; SET FILE NUMBER MOV #MOVF95,MVDCL+m"r"r .4z"r  h c t*\z rI %LOn,ީ) Uz* /D D` W! W!, W!  )RE@ 5@5@$,*eo v~v~@v~8}.v~  75 *~7vp$j  %  w  kcc w I"k7`w ccw cq w  4nBnq*r rw  d1 \vn4n!D*@r2h.d `&\n4n rqi.zw,pq"qpp*zqw 7 t Ht.zs JU(* * PP(\$5$7(,fl)  r)`) ! ! ft$ek*~e 5 5 *~ 2ȋ _Tu4kcc  w *Fkw >w 8c7 " c.jkw V7ccv ,dr5n4nnvn4nvnn&*rBn D w 7 : jnww *rljnwp p "qp"q%*zqp "qp7pq*{pwTsqT$ T$x,``e(<)Q$  B ,*f)  -(( ~,ت⋁w$ER ; SET ERROR RETURN MOV #MVDCL,-(SP) ; EXCLUSIVE OPEN JSR PC,OPN ; THE FILE TO BE MOVED ; COMPUTE THE LAST SECTOR NUMBER OF THE UNMOVED FILE MOV MVDCL+$BIR,R3 ; GET RECORD SIZE CMP R3,#$SECSB ; TEST FOR STRUCTURE CODE 0 OR 1 BLT MOVF20 DEC R3 ; CONVERT BYTE COVNT ASH #-$BYSHC,R3 ; TO SECTOR COUNT INC R3 ; MUL MVDCL+$LRIF,R3}(U)5A U, f)R wl >7 "+ UC"$@)& #( Z#H .)%5v~^ Twt pp o*kp  4Е Е[  r@. l Е,  Z( zЕw *s 7 77 7*Bsw-  & zr*fslԔ*{7 <7 :& \w  3*{   J  J*{ s$@.)A #>55#|()5"^# )E-5r#E $z(=f#(!% 5R#] pt*HlC! , w 5 ~~xllzzvvw &`*|l%p b  7OWww  5*s LH׭(o &w & *s*#1/oD  7qq  %*{%  % n*|@qq ~% , ҕ   |Ӷ($Ӳ($  R?( %t,ܫ5#`~~@~8}.~  7e5[ 7f$e*~H ; MULT SECTORS PER RECORD BY NUMBER OF RECORDS BR MOVF30 MOVF20: CLR R4 ; SET UP SECTOR SIZE IN MOV #$SECSB,R5 ; BYTES AS DIVIDEND DIV R3,R4 ; DIVIDE BY BYTES PER RECORD MOV R4,-(SP) ; SAVE THE NUMBER OF RECORDS PER SECTOR CLR R4 ; SET THE NUMBER OF RECORDS IN MOV MVDCL+$LRIF,R5 ; THE FILE AS DIVIDEND DIV (SP)+,R4 ; DIVIDE THE NUMBER OF RECORDS Be*~e 5 50 * 8} . . ..l    7 7 7 |e1$m7 e7 o n.2mpp mZT m7J.>t 7Ln} .Lnv4nn*ftb &w^fw w @wv  *|.es r efff*|fe & sc% ( ҕ ,N ' ( & ?,t') &5$^"  h- " "J~  Е. !p/*Zm < D ЕC(p,~mEz7 t-rh b *t 2.pw ^*m84  Е- Е-*me8 Y RECORDS/SECTOR MOV R4,R3 ; SET # OF SECTORS IN R3 MOVF30: MOV MVDCL+$SSN,R4 ; GET RELATIVE FIRST SECTOR NUMBER CMP LNEXT,R4 ; DOES THIS FILE NEED TO BE MOVED BNE 10$ ; BRIF YES JMP MOVF85 ; ELSE SKIP MOVE LOGIC 10$: MOV LNEXT,MFIRST ; SAVE FIRST SECTOR # OF MOVED FILE MOV R4,ONEXT ; SET NEXT POINTER FOR (OLD) FILE TO BE MOVED ADD R3,R4 ; ADD f ;Zx*n0Nm>J&zQQAA wC*4nL^YؙcxD m 6e7*>u N Jwfv7 .Bn*bu7w \w w 7*u B-pG*}t 7 X 7 NKjL;*}Dwu@<p0qpr*} @ы7 'R@   7"!7 p !( h r F,h&]j&= W!:VW!=R @vvR yąe */." +%$#('&0uvUPDATE V005B ,vg*Xn0ЋЕ:9pЕ<E *|n 0Е>&"8 *n&"DLnw 6w >5@-*u Bnn  w > w 8*u8&  wBnD  %wpp*~7 ,p0qr/5 wz*:~   Hq.   ,w  w` W!$ j,έW!:  t&5U& 5 X,զv END vS200 $vv # ZZ00000*  ZwR"wRw&Õ  &0А \*n mЕ Е f&*n"eЕ h d  -<*uT g-Lfw  w )*v( w  w l% g :,:vw  # OF SECTORS TO FIRST MOV R4,OLAST ; SET LAST SECTOR # IN (OLD) FILE TO BE MOVED MOVF40: MOV OLAST,R3 ; COMPUTE NUMBER OF SECTORS SUB ONEXT,R3 ; REMAINING IN THE FILE BEING MOVED CMP R3,#MVBSZ ; COMPARE WITH BUFFER SIZE BLT MOVF50 ; AND BRANCH IF LESS THAN BUFFER SIZE MOV #MVBSZ,R3 ; SET MOVE BUFFER SIZE MOVF50: MOV R3,R5 ; COPY # OF SECTORS TO R5 MUL #$SECSB, GVn <Bn*`vw w l-dw 5@b37!*vN P R~5@pp'h*~wpp'wC.~pp' w56 > E$fU 7P$ 0 5 - t,   U%U  h U,%E,xE,xp Е vo*|ow uɋe I *oI I I I I I:*v~.7 0-rVnVnVnn*vVnVn&  wEs,vwq q'wft  %%w ff p ,ЮL 5 %-& Uff E,U  ыww,yvxxyp,.yxxxvxx7 ,Ty87 &7  J*oI DIRECTORY TOTL BLKS: T*oOTL FILES: FREE BLKS: FREE FILEj pS:w w 7 jn*wjnoT "RR-H*:ww @ 4 4` 7R5 ; MULT # SECTORS BY BYTES/SECTOR MOV R5,MVIOCL+$NB ; SET NUMBER OF BYTES TO TRANSFER MOV ONEXT,MVIOCL+$REC ; SET OLD FILE RECORD NUMBER MOVB #$IN,MVIOCL+$FUN; SET READ FUNCTION MOV #MVIOCL,-(SP) ; GO READ IN PORTION OF JSR PC,QIO ; OF OLD FILE MOV LNEXT,MVIOCL+$REC ; SET MOVED FILE RECORD NUMBER MOVB #$OUT,MVIOCL+$FUN ; SET WRITE FUNCTION MOV #MVIOCL,-(SP) ; lljm:,l oTR(o o0,l e n ne JՕG,y?Օ Օ wwwxxwf,y7xlxhpx/,z Zw %w B-L* p-H*70w cc pccc = pV#!67.*wД "Ԕ - 7w*w-+w rn :E*қޛ* қ" ,m n o eKT,:m5C m_}w w& \ *,8z w7 t2xx"xpx/w,^zw -~n p CONFIRM: .ppcpccf` p{.$qɥLɥHu ɥ*xjl  V 7J^*6x@7@7!D&  & & *Zx&  *,Қ@M0. /ě+*ě ~"*-,`m̋ &eE  e,m   R<,m   COPY OLD FILE TO JSR PC,QIO ; MOVE FILE ADD R3,ONEXT ; UPDATE OLD FILE POINTER ADD R3,LNEXT ; UPDATE MOVED POINTER CMP ONEXT,OLAST ; GO MOVE AGAIN IF THE ENTIRE BLT MOVF40 ; FILE HAS NOT BEEN MOVED ; ADJUST THE STARTING SECTOR NUMBER FOR THE MOVED FILE MOV #MOVF97,DCDCL+$ER ; SET ERROR RETURN MOV #MOVF97,DCIOCL+$ER ; SET ERROR RETURN MOV 02 Ba < Q ,m #$R   ,m       ,z-  - ,zZ7 -|sxx ",{f*qeQ QQf Q  L*q    h <   *q QO*xw z:Ln  3 w*x4n  w 5@*y$נ ққ * @қěě`*EEEE*ԛ on0 o@Cmv w&-\L SC x,B{x w )$0)7 },h{XdT`P\- ` %` `*rѕ   & <*$ru W w&ccҐ b נ +נ *2y D#w B& w 6&  A*Vyw6w $ & `nn`nMM* ěTP<<􃴛 :<PJP[L*RE<F8,{-4@8@ lw-,{xx $ & >w~xx ,{#DCDCL,-(SP) ; OPEN THE FDE JSR PC,OPN ; FILE MOV #10,DCIOCL+$NB ; SET BYTE COUNT MOV (R1),R5 ; SET THE RECORD SUB #$LUNMX,R5 ; NUMBER OF THE MOV R5,DCIOCL+$REC ; DESIRED FDE MOV #DCIOCL,-(SP) ; READ IN THE FIRST FOUR WORDS OF JSR PC,QIO ; MOVED FILES FDE MOV MFIRST,FDEBUF+$FDSTR ; SET NEW STARTING SECTOR NUMBER MOV FDEBUF+$FDFID,R5 x x -  ,| x7xxxxx,&| Txx r!r ->R6J .rN5@ B   wrw ~~ß *yz`n`n-N*z  ׯ ׯ ~ END S200 2P  #  HP~^P00000*  PRu^T|TTHl',l 7TTH,ll v7k xx ֵ,L|5@ wxx7\,r|xx =  v8b0׭Kw 1rw w cc p"sw ~w |w  "sw w \w tcc*2z~7    *Vz87 2whoj7 h b" ZׯV*zz ׯN 4Q STRING: DQR*QDQNENE*yH7i)*.TTHll7 ~Y *R~ ~l7 &7 ,7 L*v2,|=Rw< ^-DF   D) +,|n .w-&*   & w Z,| *-6 h*S(Q RQ ֵ,S5@R PwvRQR| |wfҞT2*Xwv DECTAPE COPY V01B *|ORIGINAL ON UNIT COxT 6 ,~& ΝC 20xxx),~& Ν 07 9*\wT 7 H8JwFB< *wm,m(m$n w - *we- (  E*|w5 &E f .|ee !o׭ f  Q*S7 LQRQ/VwR*TH w2QRQ **:T HPQ BGT MOVF58 ; BRIF YES: NO NEED TO UPDATE IFD MOV MFIRST,R5 ; AREA-RELATIVE START SECTOR FOR FILE INC R5 ; RPOM NEEDS FILE-SYSTEM FORM (+1) ASL R4 ; TASK# TO WORD INDEX MOV R5,IFD(R4) ; UPDATE CORE-RESIDENT IFD TABLE MOVB #$IN,TTFICL+$FUN MOV #TTFICL,-(SP) JSR PC,QIO ; READ IN THE TASK TABLE FILE ADD #TTBLOC,R4 SUB #TSK Q @=*^T w ^P&.T % ҥ &f" ERROR  COPY COMPLETED #VERIFY COPY (Y OR N)? ~ v-rjj-$,d^D> jxxx0 ,*  @ą 4*xx buw  *8xv lluR bu*\x Rkoh7_w ^0Y*z}-P* J HׯB  :ׯ4 ,}ׯ, w  7PPK*TQQb ,T\wRQQQ z @PQw,TQ E5051525354],55565758597071727374- yn v ADD*xB C$D4w *x*w w w w xo *}wwpww}P(D~@~JwQQQPQ,UQw07 :.P""PQ&*@UQDEM5152556061TBL,R4 ; ALTER BIAS TO LOCAL TABLE MOV R5,IFD(R4) ; UPDATE DISC COPY OF IFD TABLE MOVB #$OUT,TTFICL+$FUN MOV #TTFICL,-(SP) JSR PC,QIO ; WRITE TABLE IMAGE BACK TO DISC MOVF58: MOV #MVDCL,-(SP) ; CLOSE THE MOVED JSR PC,CLS ; FILE MOVF60: ADD #4,R1 ; INC TO THE NEXT ENTRY IN THE FILE MOVE TABLE CMP R1,#FMOVEN ; BRANCH IF NOT AT THE END OF BEQ MOVF80 !OCTAL DUMP V001A # "w v "7\c$"yjyccDcjy$@yccw2$^y!"#$w(w&|y׭dlw׭SZyww w & w c@yc%Bbx{L}*/." +%$#(!'&0LIST V002A ,  &( ; RETURN TO CALLER AS ALL LISTED FILES ARE MOVED MOVF70: TST (R1) ; TEST NEXT ENTRY IN FILE MOVE TABLE BEQ MOVF80 ; EXIT IF FILE MOVE TABLE IS EMPTY JMP MOVF10 ; GO MOVE NEXT FILE MOVF80: ADD #2,(SP) ; INC RETURN ADDRESS TO NORMAL RETURN RTS PC ; RETURN TO CALLER AS THE ENTRY IS VOID MOVF85: ADD R3,LNEXT ; UPDATE LOCAL NEXT POINTER FOR UNMOVED FILE BR MOVF58 .PAG.zccc$z7 w vw ׭w\4zw tcccw "Fzc/J, ܬNENE*yi,0{LM,V0,h & f AfE l ,w$ Ί (1P (@E:,%P%1 e,LlUwPWtEw5&,rDF5  Z.oQ,XZ02468,& x7x7E3c  w cbzcw b7~w 8cvzccw f7iw Pzcc t^@4E,|!RD, 5E% 5E%p,گE%E%% A A 5U@\$,6,@dEt j 7 jf, @X D5 H,>7 Y,     b b b wL %,2, *   5w$7 2w, ,X)8Z<zV8,w Xcc,z&ccw "c .cm*z cE ;*********************************************************************** ; SUBROUTINE TO PRINT ONE OF THE MESSAGES ; THE ADDRESS OF THE FIRST (BYTE-COUNT) WORD OF THE MESSAGE ; IS STORED IN "MSGWRD" PRIOR TO CALLING THIS ROUTINE. ;*********************************************************************** PRTMSG: MOV MSGWRD,R1 ; POINTER TO BYTE-COUNT WORD FOR THIS MESSAGE MOV (R1)+,COIOCL+$NB ; INIT BYTE COUNT IN LIST MOV = cc*{w |CO w fcc #,&{   w RCO w 1>, Օ wwm,:p0n /NNa w9,`T ?,4n  e5U$<M,Z  $ ׭+ "  ,,X @h 7 <,V ?ռ f`_d,|5ߋb5bߋc7e~,A   *ƹ    IU !HX빀깐[.KC+ N,KBL{w @ w x7w Nc\`{cw 7w lc&p{ccw .D`cf&c*{C-   -,   - t,0 zn0 ֵD H v ,   0U#@7 ,̰d #& W!@ 5U#UE v   v,5JU@7 6Ì, 8 Fe &X@, Z C P  H   n, t ( 5t@  C BW!&Gc #  4w c %*{ cc 5B ` P{ vH5@,P$ wn0n07 ,&`  /"w ,R1,COIOCL+$BUF ; INIT BUFFER POINTER IN LIST MOV #CODCL,-(SP) ; OPEN JSR PC,OPN ; THE CONSOLE MOV #COIOCL,-(SP) ; PRINT COMPRS JSR PC,QIO ; MESSAGE MOV #CODCL,-(SP) ; CLOSE JSR PC,CLS ; THE CONSOLE RTS PC ;*********************************************************************** ; FOLLOWING ARE THE ERROR-RESUME LOCATIONS FOR THE VARIOUS CALLS ;*****************Mw&`&  &,D& @% w>,jހ &f" 0N+ UF5U@ 5  >,dW!(53 5v5@M,5`UU7 Oz,U   xB7r,&e-~e XP@Z0`R  PDU 5 |LI ~LNLJ 4Q7{ *8~ fc ,5&55@<4*\~- (< elR0,d \wR&&& ,v 00w$00S5U"O,Effff PU0 & (ֱ U r ,W!)Ux" \*Txdx,Lb-ZE?NJew e\ ,r2 e(U7 U&Bՙw[M y%` QQR RK-[z L ,C   V,~ c[ 5g|J,~ B}B<4E.~*W,0w7 6,"DEM51525570I(7172X I v,7 6 7 .=H !˵@2QQ,˵ 1ыy-7 N˵@!Q_****************************************************** MOVF95: CMP #$E2NDF,MVDCL+$ERW2 ; HAS THE FILE BEEN DELETED SINCE BEQ MOVF60 ; THE FILE MOVE TABLE WAS BUILT MOV #MSG50,MSGWRD ; " FILE ERROR ON ATTEMPT TO MOV" RTS PC ; RETURN MOVF96: MOV #MSG60,MSGWRD ;"DISC ERROR ON REPACKING A FILE" RTS PC ; RETURN MOVF97: MOV #MSG70,MSGWRD ;"DISC ERROR ON FDE UPDATE F],DыʋыE& e m&7*7(z"j A& m, 7  ы ke ,^e  ef,  @ee e_,0   j f_ ִDS ֲCR,  @  ~P Q "`w `web5fɋ  W NW NU!h,J !ԋ  U! Ҳ Հ1Hc w`,V#& P LN FN @N ',|0 E  %d-fX U.}bv@Qd@\,<8 C   w rp,bR-|efRNIA 92112 ALL RIGHTS RESERVE,D PRIVATE DATA GULF ENERGY & EN},?VIRONMENTAL SYSTEMS FOR INTEg ,ڲ   5U@ T, 8U\!  " ah -S--<$------<04268OR MOVED FILE" RTS PC ; RETURN MOVF98: MOV #MSG80,MSGWRD ; "ERROR ON ATTEMPT TO CLOSE A MOVED FILE" RTS PC ; RETURN MOVF99: MOV #MSG90,MSGWRD ; "ERROR ON ACCESS TO TASK TABLE" RTS PC .END CMPR00 mn%,Ի  Rҕ  ώ" XBw B7 S r lոB֒pfA T,f5@ hw v < rw S,1 Rŀɕ?,DqF   wa"Zn!j! 5Z7 7   ֣, rs@z  he`d, rZWjR fAʕ R,Ft @@@@@@@@@@@@@@@@@&@@@@@@@@@&J  ~  l şUjh Ruҥ ҕ ҕ #  jLw Lф  @Է v     ,γ   6U| 7, NJҋ XxfA  eʕwl Jҋ ~JEEI, $ y xK ,lA@NE@` j, ` V 7 θzw*k@  Dҕ  ^ k.MAIN.., rf e0R&{ С,ɕ w  ` R( , I?,@5 T <  tz \|,`&BE x,x |~@0*& @}w 5 Z^5(,H   b |,̼& f \ 'XE~& "U  $@ MƆ$5  d b E\ 7 ,Z ,@ ( @ ! r j" e ee e ոѬѸϸс,f-v    ,   re0J $T* * * TABLE OF CONTENTwv& Awp T P7.EUT,Qa7 < n * 5@~*(ŭyEpUjEU,:  C @ @   #1-, ` EQ$) `F,B`B ! #`B ՀҸόҟ, 4 F& Rw BE X (,@ UUUS * * *I, *7 !   ,ʴ 0UU * 4  2C, e,LfUw:WtEw5B,rDF5  4 l8 .7  k`7 0 F w rwׇ-w END OF PASS 1P,t  2w   s|ȏ,h  #1-`74 wE, 7s|Ȓ$s f7  \$,f&  U%X ],”$ e + -b*v/T&X! 7 b$,Œb((5Up f  nC!w<s,  ( ` EU,<    ,@dEt h 7 j7h, RV 5 J@,z X * & J5@7x$ d5@`7 7 `" ~`ص t,ǠB Zw R r,ǃ ~ u5`5`5@5@2 W,U E SSSTw`J BR,€&  N p@  U7  b (&,feE 7 7 U  2, h  *. ,  e 7 w] ,0@dd~×bwT,ܽ R 4 r 5 2, ɥfҕ C~,(a ؇7& <f,ArBC f& ,BȐ·f6 M N ,$ r    5@P  ,J5`B 7 < 7 < U0 7  ,pÔF  R r L *`,"7 7  0  ,صBGW!<! ~@@B!   , 7 wUTUDր &W'8     (U"&L &U. 6  t,L̤ @B     C w,r ~<  Ӧ<> 4yr =% R G @&******* * * SYMBOL TABLE * * *e, N   ӈ $f, e7 wUt B,   Z *    8^,U 5    U j ( i,Ě'UTW!. W!$U> ^,J e  W   v Uw,p  7 j< > X,>&fC!W!^,8  C D C!D!^, UU|VԐP:j   ĝ n  ,̾> L 7 `5 \E$    ,& X  U@:  7 -,LD U    (&O,rɢ,.   W!. `U   2,Tw h +-&"&':%F , l ( t  U w  ɟ9,2ŀ  U  pW!>, w   CDOB*FH&URL ~w^ >,(  ( $( B > > R 4րe- -,Vw *ۏ7d   & ,|D@ ӦfR < ҝ&n%@    ѝ ѝw waL& 4 >a,wUz  7 7  A, %?S :  ~    L 5,w\eee p @(,  4! ! -- @ ,8ŭ! W !,FA%+%-l :,l5 Z  j 0bab b b m,%,R Ӏ   @ ,ͤ  D >7 `,ͯ & w. 3f[*1,07 P & #- @ &  %\,V0   n :   | X ,|ʷ   ` &   2 ,^Ň & e @4 $, A << %.w ,ށ%E 8 F,2 U" ~ 7`@@T@T@Th,޷ 1"3 l`  x 5 %, %  p  ,,:` ` - ⿌w Җ-5* |vw Ҋӵ  E xE 5F , 7 U  f$ W, 8 < t p e?@  , $$C0  Bp` e,w   87 Ux @W e k,    5 ,*     , U,` 7 7 l f  $ 2  f ^xzPzkQxB&(TP &fLF C K*H:  6 w :  ,l   f a, $   rf ,˅e0w TU@D 5  %(:˻&Ŵ  5 ~UV- w,n F> ,U8  J7  .ENDM .MACRO .RLSE .LBLCK .MCALL .AMODE .AMODE .LBLCK EMT <^O7> .ENDM .MACRO .CL ~@r,~@~%@\!42}s:_,ڀ s: :@@AK,`& xf,x@0& @w& AwN j31 ~gOSE .LBLCK .MCALL .AMODE .AMODE .LBLCK EMT <^O17> .ENDM .MACRO .READ .LBLCK,.LBUFF .MCALL .AMODE ,@K &@K8@K09@KK@K,K@K@K@K@Kf@, ۳K fO./"-$+ ~gBa.AMODE .LBUFF .AMODE .LBLCK EMT <^O4> .ENDM .MACRO .WRITE .LBLCK,.LBUFF .MCALL .AMODE .AMODE .LBUFF K zQD @R@@R@8,F@ S@S%@S@S @pT,lۀpT@8 T@pT@Tйй`%TvLJs$й #@ >6깡Kh$ 7 g& ) (' * vLIBaR{h(hf 6~ph Zh`w8hhE .AMODE .LBLCK EMT <^O2> .ENDM .MACRO .OPENO .LBLCK,.FBLCK .MCALL .CODE,.OPEN .CODE .FBLCK,<^O2> .O%@OX, OX OXOX%Y,[q`"r@ r @r r , DKI,   $-  -,2  wN,ޖոߚ՗.&0  6Uh5 Ewe7 B7 \7 N7 7<79@7 Q~h2 qPEN .LBLCK,.FBLCK .ENDM .MACRO .OPENI .LBLCK,.FBLCK .MCALL .CODE,.OPEN .CODE .FBLCK,<^O4> .OPEN .LBLCK,sssw w n,܀;wwww w,*܀%w@8wK   ,XB ',5 ,~ee e &I,w ,΀ z J t  j ! &:v  f Bi& !1hЋ&./ *hff % (h& f  %-~`i(hf%Zh.FBLCK .ENDM .MACRO .OPENU .LBLCK,.FBLCK .MCALL .CODE,.OPEN .CODE .FBLCK,<^O1> .OPEN .LBLCK,.FBLCK .EwwN,Py~Lyyyy@],vyh@y@y &@y&@y`'E7lB&e, h,ʺ&f7lhdee &J7,PwNb-2.v(Z\ ޱ%&|1  B 7 "ή 7 L!Datw|d-T XjeP i Q$Bz w . ~izvNDM .MACRO .OPENC .LBLCK,.FBLCK .MCALL .CODE,.OPEN .CODE .FBLCK,<^O13> .OPEN .LBLCK,.FBLCK .ENDM .M,@y@y@y@yfy|,܀y} z@ z@ z%@{,Yz oxwh F, \ئfئ J"p*,<& && & h,ξS! Sf,0ŝ . ҕ?  y/2f7,,yB!ReL|,y %2d -XN7 e>~PjACRO .OPENE .LBLCK,.FBLCK .MCALL .CODE,.OPEN .CODE .FBLCK,<^O3> .OPEN .LBLCK,.FBLCK .ENDM .MACRO .OPEN z d , @ %@}j@x;1w,4е;Bε;4\E\,b&777777 z77,7777777777K,77,ϔ4 ~  & v `[** 5   N 7 !,N| & p 7 y,y,y@^ d,yedVj.(twZ:w.LBLCK,.FBLCK .MCALL .AMODE .AMODE .FBLCK .AMODE .LBLCK EMT <^O16> .ENDM XH_,Zthi}F%䲳,֯֯֯x֯֯=,777 7 777,Ի77777~7{777w,\\fw rB!e L,t7 v eeEE, lB  L ~j. " ? Zz&e Hw tww$ .MACRO .WAIT .LBLCK .MCALL .AMODE .AMODE .LBLCK EMT <^O1> .ENDM .ׯ}fگrشޯp!,~P,|$^l!nfnZnN,!Zn%n+Z?, fr!<Tw\ B!,Fz/ hl%^,lܦ1$ϦW wLff SAϚ,Ϸ    N~@k@`   F`w`zw`xw`xw`rw`vw`d  %>7 .7 4,|MACRO .WAITR .LBLCK,.ADDR .MCALL .AMODE .AMODE .ADDR .AMODE .LBLCK EMT <^O0> .ENDM .MACRO .BLOCK .Ln,Zn.Z,nKZnKZn NZn&XZnHX,>Zn[Zn}n}nZq%  `X/%^ `>1,785? 40./   Z-,w>   H&B,/5w &&&   r,*p >   (l ,yt k~k t^ ^  y,y7 7<B!ded^,V& X@F BLCK,.BBLCK .MCALL .AMODE .AMODE .BBLCK .AMODE .LBLCK EMT <^O11> .ENDM .MACRO .TRAN .LBLCK,.TBLCK  ,d(zdzxd鰼RʳyL V,ސ  , |1q',34 PHwr#,޼@!ebwh4747 .+,%5 EE,P RR   L& &,v &&  %    ~,  w w w w w ~0l  fXz.tw  X?   y/ T T .MCALL .AMODE .AMODE .TBLCK .AMODE .LBLCK EMT <^O10> .ENDM .MACRO .SPEC .LBLCK,.SARG .MCALL .AMODE ,ҕ 7J F R 4 ~( <7 D  w  y/  V ;~l7  \T  w%Z7+ 7 ( %fT   4y |m` .AMODE .SARG .AMODE .LBLCK EMT <^O12> .ENDM .MACRO .STAT .LBLCK .MCALL .AMODE .AMODE .LBLCK EMT~೧" q@qt7e 7 q, 57 5T,½µ f0l+i, L 7    " `  w<,0  }%%%% ,  f e 7   w&$=~ m  7 7 4y p` Z f e   w ~  <^O13> .ENDM .MACRO .ALLOC .LBLCK,.FBLCK,.N .MCALL .AMODE .AMODE .N .AMODE .FBLCK .AMODE .LBLCK ,x! ! fx o&<x9]  | \&0m,0µ 0 0 8 ,C 6eEvx-p h,4,V%% $ T   )&| `   - ,ц f  wd  wNTmBmLmODpTRppTATpCCLp!~mH h jf"V N Z f N`  8 jf EMT <^O15> .ENDM .MACRO .DELET .LBLCK,.FBLCK .MCALL .AMODE .AMODE .FBLCK .AMODE .LBLCK EMT <^O21>  (  A$ # EE(v  ̾ p7,"e>E>Z`Ef,Z׭<4E>7 w,7# ef  C  &C x%- D ̇ -< LJ-d 4 ‡- : -2 -,р$"'  Zwv$ ' wJ hF ,yU~n ^  y,yafL{ L{,y,y%.ENDM .MACRO .RENAM .LBLCK,.OFB,.NFB .MCALL .AMODE .AMODE .NFB .AMODE .OFB .AMODE .LBLCK EMT <^O20> #$   ҕ ҕ # ,5    ̾@h '  ,mw-v,̾jmE^& -jP(* 7x  j BU,"  P% ,H Nw& ) 7  e% | L{,yL{  |,y | ,y~n $n7 7 %,%e7 ׭ 7x * .ENDM .MACRO .APPEND .LBLCK,.1FB, f e0R&X|, @ ( @ !\ T,0 e e,,V`[ .,74P7 :R7m#,>4-* 7" &n 7m 7& " P, ,  &&  xe ,.7t  p d en 7z   n 7 j d ` ww0 7~o* ( *  7  A /,.2FB .MCALL .AMODE .AMODE .2FB .AMODE .1FB .AMODE .LBLCK EMT <^O2> .ENDM .MACRO .LOOK .LBLCK,.FBe e x,V N \! ! -- @ ,| ` &   j 1P7:R7m,dw,/jhz @25 &     HN ѕ,# ѕ@ e7 ÃD,ӷ &f  3    5,y ^| p y,yL{,y,yL{  $~xon7 7 %7$ 7$ Ћ74LCK,.OP .MCALL .AMODE .AMODE .FBLCK .IIF NB,.OP,CLR -(SP) .AMODE .LBLCK EMT <^O14> .ENDM .MACRO .KE, & e ^@4x $ ,ȷA @& , @  6ɥ@n,B@B¥,{a%,ֿ¥ " %2,7wmn5,&|%% fef P w,L  *m, ҕ- a8 ׭ $w f N`  Z 7T L{~ L{,y,yj $n %L{~o,yL{N ,yD e9EP .LBLCK,.FBLCK .MCALL .AMODE .AMODE .FBLCK .AMODE .LBLCK EMT <^O24> .ENDM .MACRO .EXIT EMT <^O60  &   q,`@   2w A @xu,: 5-  x;$ ~%vn7 j7^Y," De T zDNi,H&<4 D7><rm  $ D J,P Ӏ c' f|, =73 @- @% R % $$Ћ7 ׭ tw h jf"  ~hpwRwPW"(j>> .ENDM .MACRO .TRAP .STUS,.ADDR .MCALL .AMODE .AMODE .ADDR .AMODE .STUS MOV #^O1,-(SP) EMT <^O41 w (,`A  X,  ,@2D,n  @ɥw0,  ~2D2-A %- &;*77tԆ7 7  $ &f ,Өd ҕ ҕ :Bj WAf" " u X f" ZV :  E N h~p0 E&qC> .ENDM .MACRO .STFPU .STUS,.ADDR .MCALL .AMODE .AMODE .ADDR .AMODE .STUS MOV #^O3,-(SP) EMT <^O4 ,Ҹ "JF  @ş<xE,7h]74ZT2e ,(to g7aF,@F 2, x8 p7rwb CREF V0(B04B CROSS REFERENCE TABLE PAGE S-k,tSMPGUpmh&f- wf~@twh twt wtwz~XqH1> .ENDM .MACRO .RECRD .LBLCK,.RBLCK .MCALL .AMODE .AMODE .RBLCK .AMODE .LBLCK EMT <^O25> .ENDM  *,.ş* C @ @   #,:1- ` EQ$' ?,`ZJ" :76֋,,5w0,R f0wKCE 4 L f&fp < w  4 ,Ԗ7 7 L*wpx7twjBzReuttttruuxxvvdsx8rrrrs\sRsls6vu^vuDvuM .MACRO .DUMP .LOW,.HIGH,.CDE .MCALL .AMODE .AMODE .LOW .AMODE .HIGH .AMODE .CDE EMT <^O64> .ENDM ``B  #`B  z,s|  #1-` w, 7s|$s hO6,x$)2~,&e~Ep!" e M,P,LZ! ! fL f&ZLQ]6  |p,>0Z Q~q$vBw`wlwwwwww xx"x.x:xFxhxtxxxxxltvt.krrv rxxnhW"W"Z&ER@RL{ R .MACRO .RSTRT .ADDR .MCALL .AMODE .AMODE .ADDR MOV #^O2,-(SP) EMT <^O41> .ENDM .MACRO .CORE MO7  ^"ҹ ` W,B w :R , Teweceef, 8EeE E!# +,e OeeU  C ,> (  2 < B  "d,dP<06 @,0`V,y0~Hr rp pt^h h^`Ty,y7 D7L{,y %87 (7 .&$WV #^O100,-(SP) EMT <^O41> .ENDM .MACRO .MONR MOV #^O101,-(SP) EMT <^O41> .ENDM .MACRO .MONF MO  u57 f,:|ABCX f6{,`  RRRRRRY==ee,6 ZEeE (76,\07+%  ɵ[" P)w @ LI 4NL28 - H\] e |X~rL{,yER,y7} |7 $   7 |  fh}ry\V #^O102,-(SP) EMT <^O41> .ENDM .MACRO .DATE MOV #^O103,-(SP) EMT <^O41> .ENDM R    a,   R⋇5 RE, e-"w r7v >^,1a(0 w $‡p JB:xQ,_&t^(~ (zzl.z  `gf ($ # EE(   D73a .MACRO .TIME MOV #^O104,-(SP) EMT <^O41> .ENDM .MACRO .GTUIC Mb   N|rym~8s1 ſe7  h}Ӄɥtwtw ovBCztmec6pz!7 C!,A reFg5]W@,d`e aed7 w  .w 71 A w  7xw 1 A e,Պ#   ҕ ҕ # ,5  N޷fOV #^O105,-(SP) EMT <^O41> .ENDM .MACRO .SYSDV MOV #^O106,-(SP) EMT <^O41> .ENDM .MACRO .RADPK .gEX P zssssss~sst$t8tXtsssstDDm DQ$*F   Dd 7 DQ$*FDhp7%7"7D,8PD! r< r<Wt ,^rt`r<g r<di.w XĝZ77J F p$(p. !0w & 2j , f e0R&|,.@ ( @ ! ,T kADDR .MCALL .AMODE .AMODE .ADDR CLR -(SP) EMT <^O42> .ENDM .MACRO .RADUP .ADDR,.WRD .MCALL .AMODEl*FQ$Dd 7DQ$*FDdDQ$u~(t6J7DDd7 ɥɥH  fm$Äa } ,áKf" re n },à Tn0 $2(0#.@p D A  &DCc   pw.8w @w oe ee e L|,zք N ! ! -- @ , ` &  p .AMODE .WRD .AMODE .ADDR MOV #^O1,-(SP) EMT <^O42> .ENDM .MACRO .D2BIN .ADDR .MCALL .AMODE .Aq e P" f&f&~  ~t NΕ twP Cå år {pR-L3&,7K5e 7 $i,ļ&ѕ eѕ ѕ s w  ' 7  .^ &w \w wXw w 2. fw  w t j a, & e ^@4 $ 3,A @& luMODE .ADDR MOV #^O2,-(SP) EMT <^O42> .ENDM .MACRO .BIN2D .ADDR,.WRD .MCALL .AMODE .AMODE .WRD .AMv$ נA   e`  vm~ulu  Ëנe ee w,8e 7 ؇r! ',^7ppݤ,MOx7 wtwhb.w k  %{ E e wh k {  .d D - y, @    &   -,8`@   2w A @z,^ 5zODE .ADDR MOV #^O3,-(SP) EMT <^O42> .ENDM .MACRO .O2BIN .ADDR .MCALL .AMODE .AMODE .ADDR MOV #^O|e ѐ  v@(  D~uZmdf ->8.7 ,eDULEѕ ѕ ѕ ,Ķ,pĀăwѕ<ѕ>ѕ ,Āѕ 7`ѕ }=w TD = w Hd - 2.6 w @/ w 8 w 0w 8 7 w .*7 w "7~-  w u,LA  p, 4,-(SP) EMT <^O42> .ENDM .MACRO .BIN2O .ADDR,.WRD .MCALL .AMODE .AMODE .WRD .AMODE .ADDR MOV #^O5vLIBa%vLJK1 ce #0-6]7 #0-~v 6ee , 7  - XH - T.Bw7  ww (b ww .hw  m, |, "؄,-(SP) EMT <^O42> .ENDM .MACRO .CSI1 .CMDBF .MC,Fѕ ѕ ѕ M,G 7 &@wLɥ,Bņe,e&e 4ze re n4~vRe 7!N  #A B` %. w| 7wrxwh.u E 74~wh^  ş ,8ş C @ @   #,^1- ` EQ$'ALL .AMODE .AMODE .CMDBF EMT <^O56> .ENDM .MACRO .CSI2 .CSBLK .MCALL .AMODE .AMODE .CSBLK EMT <^O@wB $"7),h^7 *7 (7e EO,ננl2-7!<e 4$e  !!!!! @` 7 B ~v& T LINK-1 E ` 4. t4P 4Iw ,-; 44a.% ,(``B  #`B  h,s  #1-` wc,57> .ENDM .MACRO .DTCVT .ADDR .MCALL .CVTDT .CVTDT #^O0,.ADDR .ENDM .MACRO .TMCVT .ADDR .MCALL w,ŷ7 7,tEe e 1 V005A PASS 1 PASS 2 # ~~~Xlw~~pwly! w  =w $7v.&  4=w e0w ,w %  4.L 7sْ$s h7  ^" `޵ ",B w R .CVTDT .CVTDT #^O1,.ADDR .ENDM .MACRO .CVTDT .CDE,.ADDR,.VAL1,.VAL2 .MCALL .AMODE .IF NB,.VAL2 .AMOD,u5? 0   c~& ,&*B@w%A%,L% D7 Bz(7 Bzw8l~~& |rl ~w@w ke=.rw @w fwww=w . w  rw 8,8ك   u5߇7V fp,^JABC| f6, E .VAL2 .ENDC .IF NB,.VAL1 .AMODE .VAL1 .ENDC .AMODE .ADDR .AMODE .CDE EMT <^O66> .ENDM .MAC%)wDz ,rƷ @7ɥw,w& `&ZNlwlBlw`6lwT*lwlwlw&Ew~`xAe0w ,w F.|VPTw D- <@7.4: (6 4,*w  RRRRRRR    ,   R⋇5 R,F ހe-w RO .GTPLA CLR -(SP) MOV #^O5,-(SP) EMT <^O41> .ENDM .MACRO .STPLA .ADDR .MCALL .AMODE .AMODE .ADz,Ʀw\٦ \ ,fĝ   Ο , ǟ7wlwvlwjlw^lwRlwFEw2lw&l&yi 4.  ?w "7 w 777 .0   w %0 %7E ` 7* 4,& e 7 1G,e@7 * L vDR MOV #^O5,-(SP) EMT <^O41> .ENDM .MACRO .GTCIL MOV #^O107,-(SP) EMT <^O41> .ENDM .MACRO .GTSj~R~7"*B@O,0%9%/% %U,V+wee ~xy&"y"y@$+R&yyvLElMExQM^fD.V 1O  W ֆ m7H O "| y(8R4.*Bڲ,ee 7f7 4@7!.|rw w w TK CLR -(SP) MOV #^O4,-(SP) EMT <^O41> .ENDM .MACRO .STSTK .ADDR .MCALL .AMODE .AMODE .ADDR MOa,|ݳ  "w wp,Ǣo,_~Py\Mfryy"yy,yy@  (8R4NJ,dl. N J,d`1 އ4V #^O4,-(SP) EMT <^O41> .ENDM .MACRO .RUN .RNBLK .MCALL .AMODE .AMODE .RNBLK EMT <^O65> .ENDM ,eՔ &f&Xw7ZwX,ǀ%P T z,\,20,~y0?f0l .\ h7cJW*\  (./. ^Z*/f7*$. B!6e0^ %.MACRO .FLUSH .CDE .MCALL .AMODE .AMODE .CDE EMT <^O67> .ENDM ; THE MACRO .AMODE ACCEPTS ONE ARGUMENT AND &wn 75ئd,:\ئfئw7 7 7 b,`7 \77~@zD @ 7<76%.* ."w %=w (w . w w w . F -X07 I. ejd7  ; AS A FUNCTION OF THE ADDRESSING MODE OF ; THE ARGUMENT GENERATES THE APPROPRIATE ; MOV TO -(SP). ; ADDRESS MODES THAT AR,ȷ& !wxd- \",ȷ eP  ,ȸ~z/E CC TRANSFER ADDRESS: w  .B 7mw .hw %/w \0w &0~.0 @^ ds- .V cE TROUBLESOME (E.G. ; X(SP)) OR UNLIKELY (E.G. SP) WILL RESULT ; IN A .ERROR TO CMO INCLUDING THE ; VALUE OF THE ADDRESS MOQ$B w . ,/hj7bzB!eV,ɀz %V LOW LIMIT: HIGH LIMIT: ~0{  LINK11.OVR P.  j~~|  L eD| (D.  !RB !R=L ed:N w} .| . " ?. DE (E.G. X(SP) ; IS REPRESENTED AS 000066), THE ARGUMENT ITSELF ; AND THE TEXT "ADDRESSING MODE ILLEGAL AS SYSTEM ; MACRO AVPH,D B-B<\|.27 .leL,jɷ\P7 Lzz1 ~{!6RR!.4D4 V | !4Dh4 V D V| D"h&V.. &e   . 0w wvw RGUMENT". ; .MACRO .AMODE .ARG SP=%^O6 .NTYPE .SYM,.ARG ;.SYM=ADDRESS MODE. .IF LE,.SYM-^O5 MOV .ARG,-(SP,@Kb 4h&,,zedd^w"t,. "^~ |.% w *  @w @.& % % w  ww .L . @`  . F`w`dw`bw`bw`\w``w`N -.: ) ;R0 TO R5 .MEXIT .ENDC .IF EQ,.SYM&^O70-^O10 .IF LE,.SYM&^O7-^O6 MOV .ARG,-(SP) ;@R0 TO @R6 .MEXIT  ? ٰ@,&e wI,( .ww  4~|D  &.rC@AEPA&fw w /w .w Hw   %(7 7 hJ.`` @ t^ @ .ENDC .ENDC .IF EQ,.SYM&^O60-^O20 MOV .ARG,-(SP) ;[@](R0)+ TO [@](R7)+ .MEXIT   ; #N,@#ADDR .ENDC .n,N*&@`   F`w`,tw`w`w`w`w`  %j,~}` y.E ` V F x. w8w 7-U&"E! m U ^ Q. h7 7(B!Pedm.IF EQ,.SYM&^O40-^O40 .IF LE,.SYM&^O7-^O5 MOV .ARG,-(SP) ;[@]-(R0) TO [@]-(R5) .MEXIT   ;[@]X(R0) TO [@]X(R5) |7 l7 rjzM& F Ft^> >6[^,*s~} . w b7DE& ".0  pV h`.JB X@Fw ..w w w w   .ENDC .ENDC .IF EQ,.SYM&^O67-^O67 MOV .ARG,-(SP) ;ADDR AND @ADDR .MEXIT .ENDC .ERROR .SYM  ;.ARG ADz7 7zB!ed,nhb\V@Fwo,,w w ww :    ,~~ ********** w V׭<V`.VU .|f..w  X?  P ." */ T T  DRESSING MODE ILLEGAL .PRINT   ;AS SYSTEM MACRO ARGUMENT. .ENDM ; THE MACRO .CODE SETS UP THE FILEBLOCK ; WITH THj,R".w  X? f \',xZ / X X@<: !,/HUNDEFINED RE\~x~FERENCES 7w @ŝŝ.wvt wjt!D  "D|.**(*/.H/  V 7  8r.n0! w%Z7 7 E HOW OPEN CODE. ; THE ADDRESS OF THE FILEBLOCK MUST ; BE IN A REGISTER (R0 TO R5) .MACRO .CODE .FBLK,.N .NTYPE .4  Z7 Ns,Fw%^7m 7 j %f ',] X  d LOAD MAP SECTION ENTRY ADDRESS SIZE  ,  ?LOAD MODULE EOM 0~~ w w JB C w @e>%ĕtB C ,.D72 VVw Bw .e %fB  !+.   2`  f e%2. 7 SYM,.FBLK .IF LE,.SYM-^O5 MOVB #.N,-^O2(.FBLK) ;R0 TO R5 .MEXIT .ENDC .ERROR .SYM  ;.FBLK ADDRESSING MO  f e, 7W Q  wN(   ,67 7  d ^ f   :. ~hDVV.` w ;w ĝDw w  D.:"f&f  w&$  .7 7  ` Z f '.e DE ILLEGAL .PRINT   ;FOR .OPEN FILE BLOCK .ENDM ,\́e  r w w dT C,P wVTBL&ODTRTACC|N,R1R2 ' ".`4DhD bDh$D. w l w d ., wVTPBLODTR"TACC杘" P" ~ ݞ nf" ,̄ ^ f N` l l, l2 R nf~pt7p7ttw r ptptt3.t5ppgpbt$.R6 X jf"F > Z f.x N`  ( jf"  1.nn"lvLI~n #f dK\7 F FK>2 "A ,: ^wr> A w l @z  ?L^f,P "~XV t ppp tC. <hD !%&Th D-. Zwr  w: h6 F (     ^B-:  -H@~bh B ',5 eezajڒ z,vz 7 t e% zm,Z zH z~Ѐ &e N @ e0w &  e. 4 t7 4$t . haf T h $. e "w@7lB&(~^e, "7lee "p7xwv-> $r,7 7 %,%e7 ׭ 7, 7  e 7 $ 1~H.D vprE w v prm.j   w ׭ 7  e% "&.   $nXTrw t  ٦*٦ x4Z&~־ &E&& &77 77,  7 h wwN 7,4H F H : 74 , A( 1,Z ~ r  $rY. ^w Uw wr n . j  7,4X.D7 7 %,%e7 ׭ 7.jh 7d x ` T ,77 F77777777777777\~N7777 77777777 "  5"z  |^5, zzzV P,R $r7 7 @~8R4-P DQ44[. w@ 78 %(! . %e^ 7j  . ^ 7 Z d P ww 7.    7  A 7  **!,w~ƿ B!/  %7$ 7$ Ћ7{, ׭ (w" f N`  ,t 7n  zz $~??M N ; M &N .( L w N%w 77w _ L .    5 r j } ^k .z%Z n/%Z \L7FC? B>h/   ~>V#w : 8 r, %z z e,>7Q @K @C V % $,d$O~(.N Z e0w ,w w .t p CQ. å^ h n h &.( $n7 7 %7$ 7$ PHw @!ew n7n7 h+%5  EE w~UH0 0 Ћ7# ׭ w l nfG,"  w:w8W"(n W,Af"( "~ å$ נA  @.  e`   <   . Ћ7.N ׭ $w f N`  .tJ 7D n Z $ne U0 HAw7:-w77 e 7 a~.   v ,f" ^t X : h,Ϸc l * lN ERU"!^~"Ëנe ee e ѐ   @(}  . . %> 4 e" µ 0l0µ 0 0 2 C `t~edE^ \~e?R%,"l&f - w V,H@wl www3,n&~'ODT-11R V003A B BE H .H *;/\ $G _<^,OWEBP@>SRC-FI!XASPM.7# @ @ R % $.$Ћ7 ׭ w h jf. E?L7 JD`>8E2 0E?&7 $737-"m  7w-1*dt7w,:ٷVeGhӮӾӾ@+m~,n CFRBQ | b | h ."  wVwTW"(j\ W:.2Af" " i L .Xf"| ~ N*7J0L7N6N7mT0L7xX6N7m/Ѐ"X |r?ЄZ՘~L|֚֮Ц8DP\hr t׀ע׮׺0~1<ZJ .  .~9 B h$ EU~&"&~T.h&fZ8~d`-jAwu/f`۔`>@ɥ<>@B4גӼ,>062@W"W"^&X,DEV@Vڞ z  r5|~6- w. @wh w0ww(  .¥, ~¥%($ %7 7De 9$jў t^ ^*,z7 r7z %,:~ppz7w9.pRe8n%"8&P zzÄö\HP~0bj.@_ @ɥw ,  ( .6>f7 V7 \T0 $ ,e ڷ zEV,тzئ7 ?(n@<R0@2r|\.R0@  2r|\_PBzF7 2-,(.)B~T !7J 7֋5wC7h $  , Z 7  A  ,F | ſe7  D~.B z rdN<V`.N %, b7f݃~vz& &,w2eH,lӃ ɥww& oB,CmeE T zҶI~` <V9x`~.`~  m.Ecp!" e Qewe~c;ee TEeE E!# e M 2H\Ӈ,|Ҷ 2ՀDDd DQ$y,.J  Dd78DQ$.JN~؇ $0<H&j . $ 0 <H&j .\hW"W"ee=ee EeE (!~f77  ɵ1R,,D.JQ$Dd7DQ$.JDd,BDQ$:N7DDd7 ,hɥS"~PZ&E  \h.R@R  (xa( wT(4Z xQ&~4!e WɥL  ,wf e P" f&,Ӧf&~  X~Ȉ&([  xt^p ph  ^e .\  P {-.&f75e 7 ~Vѕ ѕ &\ N,ӑΕ w &^چ,"՝S͝P Cåv,&]1~@h7 L7 % h".*@7 07 6.$ Be 7 j݇!q744&&(ZMODU~LEѕ <ѕ ѕ a å$ נA  ,LԦ e`  v ,r  Ëb~.Pe ER .v7s t7 $,ƈѕ<ѕ>ѕ ѕ Bѕ ѕ :~Ff7 @wJɥfנe e,e e ѐ  v @(Z,  H\mfg@~0  I tI. 7 t  n  Qt.<> $ "7&B@s%B%m% |%\)w> ~r3k,h -@<0e7, ]7  #0- Q,0հl~ Vt' ſe7   t .ӃɥwPwP oB@7^ɥwwf& `>٦rڦ  R,~67&p6 ee 0e,V50e,|Շ&e 8qO~  .CmeEj P 4 z:2Zz .B@%9%/% %+wee nh{_  ~w>~u ,e e 8 fe ,7!b  #2-7!Pe w,v~: 2 Zz.Lz2hDDm D "z2  wPo<(@0.eՔ &f"w7w% P z~t~zH8e   !!!!!, @` 7  B & ,:և LINK-73 V00{^~h.r Dd DQ$*F   Dd 7 .DQ$*FD*FQ$Dd 7D~&"wF F7٦ ٦*٦w7 7 7 7 774C PASSV,` 1 PASS 2 # ,ּ\.pw"~.Q$*FDdDQ$6J7D*.Dd7 ɥɥH . ZR~ɷP& !w`d-6 XNeP M Q$B w .,pX7 &7 2,wp,m~ f e P" .0f&f&~  u.V NΕ ^ZL~ʘ/f7>B!6e0^> %F -X0& p,& pwl,Dpw`xpwTl~xw C.|å å$ נA  Q.  e`  v7 ejd~ʎ7 >>@^ dsc>ed:Npw l,j׏`pwTpw&ES,w7w&pwp,׏|.  Ëנe e  .e e ѐ  v@( wL. " ~? nڰ&e 0w wvw wpwpwpw,הEwpwt,pp&fؔ~.  DZmf.:h ->8.7 ,e>.`@` ~~˾  F`w`dw`bw`bw`\w``w`N  %(7 7 f&p,(p@$5V&\\k,N@0vLElMExQ~he #0-6.]7 #0-. 6eh>`  t^ ^~  >7 7(B!PedJB XtM^f,\Mf pz@r,~e ,.e,e&el. 4ze re n@Fw w w w w   f~nl.w  X?   / T T, ,00?[ V~X.4Re 7!N  #K.D2-7!<e 4$e  .j  /  V 7  80 ~̄ w%Z7 7  %fB   F ,\й0(| 8Џhh!!!!! @` 7 .B & V LINK-11 /. V004A PASS`  f e 7   w&$  7 7 F ~^ ` Z f e  wB,dJANFEBMARAPRMAYJUNJULAUGSE,POCTNOVDEC/E CC TRANSFER Al 1 PASS 2. # P!W!H!P! W!&H!6.Xlw l w d  wVTBLODTRTAtCCl6 X jf")~F > Z f N`  ( DDRESS: H LOW LIMIT: R HIGH LIMIT:  !` lh!Dih"!S.(7 !7 ! ! jf"  Zwr  w: h6 > ^  >(~Naf` `> ۺ~ ݀ O,U b$!.N!wl!z!!! z!.t& ~tl > 7  e% `>`  > ܺ > $n7 7 %,%~e7 ׭  ********** HE,UNDEFINED REFERENCES aa L ,*I N K 7 3 L O A D b&.\PlwlDlw`8\.lwT,lwJ lw>l7h 7d x ` T e^ 7j   ^ 7 Z d P ww 7    7 "~> A M A P DATE: ,P00-JAN-73 TIME: 00:00:00 LOAD MODULEWv NAME: AAAAAA.XXX=,%%SECTIO.w2&Ew7w. lwlwlw..2     5> r ^j ^ >`>>`  $n7 7 %7$ 7$ 6~N ENTRY ADDRESS SIZE TO TAL p &,, 9( ?LOAlwlwE).Xwlwl&"(.Ћ7 ׭ $w f N`  J 7D `n `>>Z $n %`>`> >4 euD MODULE EOM f  :%.~&@$-R&  .EEEExQ~.7# @ @ R % $$Ћ7 ׭ w h jf"  wVwTW"(j\ , T CM^ff .\MfvZh@<WA-~f" " i L f"| ZJ .  9 B h$ EBUs, f&f&~  ,F NΕ w C,lvZh.:x.`h&ff~- wf@wh w0ww(<pzå å$ נA  ,  e`  v,  ËR.,0?!7wpVڷR~ѶeH.ԞԮԄՠjBҰ f\nHpּV֪6Tr~נe e,e e ѐ  v@(,  DZmfS   .(4@LXz؆ؒ؞تض؂ԔV~ *W"W"Z&ER@R` > x x,*ʇh ->8.7 ,e,Pʇe #0-6,v] D,/E CC TRANSFER ADDRESS:   LOW LIMIT: t^p p^h\>7 L~7`> %@7 07 6.$ e `۷7 #0-, 6ee ,0,e,e&  HIGH LIMIT:     >ER>٦7s 7[~ $   7  nh   Ve, 4ze re nj,˔4Re 7!N  #,4$ c rXr T' ſe7  hӃɥwPwP o~vӆBCmeEj P zӠ2-7!<e 4$e  ,Z!!!!! @` 7 ,ˇB & V  I    ;  ,  4  &$:NnӠ$DDm D  Dd DQ$*~F   Dd 7 DQ$*FD*FQ$Dd LINK-11 , V004A PASS 1 PASS 2, # @G8P  1  ********** H   . UNDEFINED REFERENCES  7DQ$*FDdDQ$6J7DDd7 ɥ~fɥH  f e P",Xlw lXD,̾7 7 w,>̔w LO.!AD MAP SECTION ENTRY ADDRESS SIYD!ZE   V!r V!,P f&f&~   NΕ w$~ Cå å$ נAlrj_,d& ~tl b&\,\PlwlDlw ]!k ]! ] `!h*`! ?LOAD MODULE EOM  !@   e`  v~  Ëנ~Ve ee e ѐ `8,lwT,lwJ lw>l,w2&Ew7w,!  !,!  ! !: v@(  DZmfh ->8.7 ,e~Շe lwlwlw,"̓lwlwE,Hwlw ! !. ! ! #0-6]7 #0- 6ee ,e ~Fև,l&ͼ,n&@$-R&,͢EEEExQe&e 4ze re n4Re 7!N  #2-7!s~M^f,\MffJX@,*<e 4$e  !!!!! @` 7 B & V LINK-11 V004A PA,P,v0?~6SS 1 PASS 2 # Xlw l!D7 V(0,G7 ~רVwl& ~tl b&\P3*x/E CC TRANSFER ADDRESS: y LOW LIMIT: y HIGH LIMIT: 7lwlDlwK~&`8lwT,lwJ lw>lw2&Ew7wlw H кb= рp v~,|lwlw~lwlwEwlwl&**&4  ********** Hl,UNDEFINED REFERENCES LOx,AD MAP4@$-R& ~ vLElMExQM^f SECTION ENTRY ADDRESS SI4ZE  F,M (P ?LOAD MODULE E\Mfs~ل4>@OM x ` A:I.N ]D~0?n0,, +++ 7 w,RԪ+w 7w  7xw ,xw XĝZ~~7t+7J F t+"S,l+!0w & r+l+=,@* D A  &DC)~/E CC TRANSFER ADDRESS: LOW c  ,w @w  w  ' 7  ,Մ &w \w wXw w ,6LIMIT: HIGH LIMIT: ~n fw  w 7 wtwh,\w  %-E eӂ wh,D  =w 8~TD = w H,6 w @/ w 8 w 0w 8 7 w :,*7 w "7 7  X~^,w7  ww (b ww A,ւw A B` %6,@օ w|G~ 7wrxwh,fu E 7~wh^ E Z, tP Iw ,N~N-,% w  =w $7,  =w e0w ,w %,~@w ke=,$w @w fwww=w ,J w  rw 8 , ********** HGAe0w ,w ,p|VPTw D- <@7,: (6 4,*w c~>UNDEFINED REFERENCES LOAD MAP SECTION ENTRY ADDRES, ?w "7 w 777 ),   w %0 %7E ` , 1S SIZE ~ ,  ?LOAD MODULE EOM  W ֆ m7A . y6n|؆\Մ$H@dִRHU,\|:מ:.~. q>@q)eJ x   N Ê <%! ,c ѐB׆԰ԃh7cJ",D @ 7<76%.* ~,"w %=w (jˋÜ`E `߇&  P   cL|wZ ɋr߷ w X, w w ww  J, 7mw *,plw %/w \,@  j~~.  L eb,f  !B !=L !6(,44 Ԥ .!44  J,% w *  @w @6,ـ % % w  ww ^, D  &4,$C@AEPA&fw w /w >,Jڀw Hw   ` ,pE ` V F ,ڰ w8Z%w 7-U&"E,w b7DE"%\,  p%w V׭,$U#,.۪7w @ŝŝH,Tw$vt wjt! ,zw w Jw @e>%ĕt ,72 Ԫw Bw .e,` w ;w ĝw w,۷f&f ",܂4 Q,80#.#7$#7$# #w r,^#5##g"b"V , <ӄ !%&, &e N @ e0w &  ,  "7,~"r"n"E w ,  w ׭4" Q,B^w Uw wr n,hj  7,XR-P D,݅w@ 78 %(! , %??,w N%w 77w Z,Z e0w ,w w -,&p C,Lå å$ נA  ,r  e`  6,ރ Ëנe ee e ѐ * @(, ODT-11R V003A_ BE, *;/\ $G _<^,OWEBP@>SRC-FI!XASPM CFRB.,98N X TOES,RPC R JS  405217 674700 403400 7311 ( OD CONTIDION C-1S HAL AL CIDALNV;I P)(S161,#- V MO: 20VECN 160000 777717 662701 323400 7211 ;     7111 E OD CCKHE CND ACKBAO ;G 10VACN BR   600700 303400 7011 N VEGIL AL CIDALNV-IT IS LOFD ENS TECADIIN1 ;- 20VECN I BM   010410 263400 6911 ? T IS LOFD ENT AWEE AR ; ) R4 ( ST T    4 710504 420308 16 1 XTNEY TR- E OD CSTLAT N'AS;W R4L,PRI+FILG,8. ;'T.IS'TO'PREVIOUS'1,'NEXT'TO 'THIS'1 937 002616     MOVEA FLANTF+FLSDBF+FILG,FLSNXT+FILG,4 ;READS 'NEXT'2 FROM BUFFER 938 002630 000207    RTS PC ; 939  002632'   UPDAT2 = . ; 940 002632     MOVEA FLSTST+FILG,FLSPRT+FILG,8. ;'THIS'TO'PREVIOUS'2, 'NEXT'TO'THIS'2 941 002644     MOVEA FLANTF+FLSDBF+FILG,FLSNXT+FILG,4 ;READS 'NEXT'2 FROM BUFFER 942 002656 000207    ECRT # D AD: 10VECN  050000 042706 203400 6711 ;     6611 S ERCTRAHA CNGKIECCHP EE-KNO ; 0 A1NV C R B    5 760006 410305 16 1 ERUSO TENRTN URET R ; 20VRCN Q BE   141400 143400 6411 ? R HA CSTLAT IAS-WES;Y L ECRT,#R3 P CM  050000 270302 103400 6311 R HA CSTLAD KEECCHE AV HENTHE OD C ; ELRT2, R IV D    2 607106 400302 16 1 NGTI RTOINL ECRTS NTOI PR4F IS-YE;- 2 ,RR4 V MO  RTS PC ; 943      .PAGE MAC MACRO DEFINITIONS MACRO V004A PAGE 18 DIOAC 944      .SBTTL DIOAC 945     ; 946     ;* * * 947     ; 948     ; 949  002660'   DIOAC = . ; SUBROUTINE TO CALL DISCIO FOR S C A N. 950 002660 012746 000034'   MOV #FILGP,-(SP) ;CALL DISCIO 951 002664 104000    EMT DIS   020401 043400 6111 E OD CNGTI RXTNEY TR- O -N; 10VECN E BN   061000 023400 6011 ; R4 C IN   045200 003400 5911 ? ARCHE OD CHTIG RVEHAE WDO- K ECCH; )+R1,(4)(RSTTE R B MP C   0 100001 422614 370308 15 1 EDCKHE CNGEI BISE OD CCHHI WOFK ACTRS EPKE0 ;R R0 C IN: 10VACN   005200 723300 5711 K ECCHE OD COR FARCHE OD CTSUNCO4 ;R R4 R CL   045000 703300 5611 - E CIO ; - 952 002666 005767 175166   TST FILGL+10 ; CHECK FOR ERROR 953 002672 000207   DIOA10: RTS PC ; EXIT 954      .PAGE MAC MACRO DEFINITIONS MACRO V004A PAGE 19 NTRANS 955      .SBTTL NTRANS 956     ; 957     ; * * * 958     ; CALLING SEQUENCE - JSR PC, NTRANS 959     ; OD CHE TOFO NEXND IHE TESIV GR0 ; 0 R LR C    0 000506 360305 15 1 DECOG INRTO TTSINPO1 ;R 1 ,RP)(S16 V MO  160000 016601 623300 5411 4 0-S ERSTGIRES VESA ; X VESAC, P SR J   4 307517 760406 350303 15 1 ; . =X RTNVC  ' 563300  5211 ; -1ELRT= L ECRT   050000  5111 ;     5011 ;     4911 0 - ONSIVIRE ;     4811 2 /7/7 8- E AT D ;    7 14 1 TST (SP)+ (-1) INDICATES 960     ; BMI ERR ERROR 961  002674'   NTRANS = . ; ENTRANCE STEPS FOR SCA, ATT, DET, FLWR 962 002674 011646    MOV (SP),-(SP) ; MAKE A DUMMY WORD ON STACK 963 002676 012500    MOV (R5)+,R0 ; R0 POINTS TO FILE CONTROL REQUEST LIST 964 002700 021027 000030   CMP (R0),#FLPMAX ; FLP 64- R MEAMGRRO P ;    6 14 1 ;    5 14 1 K.ACSTE THN OEDRNTURES I-1N,VEGIS WA ;     4411 E OD CIDALNV IANF IK.ACSTE THN OEDRNTURES IN)TE(RO NEXND IHE T ;    3 14 1 -GESA U ;    2 14 1 ;    1 14 1 DECOG INUTROL NAMIER TTOR TEINPO- E OD C ;    0 14 1 E:ERWH ;    9 13 1 ORRR EE,IVATEG NIF R ROER I BM ;     3811 O NEXND IET G P EM,TNAM WITHIN RANGE? 965 002704 003012    BGT NTRY50 ; NO - ERROR LABEL 966 002706 011001    MOV (R0),R1 ; YES - R1 POINTS 967 002710 166701 000001   SUB 1,R1 ; TO FILE 968 002714 070127 000012   MUL #SHDL,R1 ; DESCRIPTOR 969 002720 062701 000000   ADD #SHDST,R1 ; ( = SHD + SHDL * (FLPNAM - 1 ) ) 970 002724 005066 000002   CLR )+SP ( OV M ;    7 13 1 ERSFANTR X RTNV,CPC R JS ;     3611 E OD CNGTIOU ROFS ESDRAD ) SP-(E,OD#C V MO ;     3511 - ;     3411 : CEENQUSEG INLLCA ;     3311 ;     3211 . DSOREC RALINRMTER FOR TOCALO ;     3111 E THS AEDUSE BTOR BEUM N ATOE OD CNGTIOU RALINRMTEA S RTVEON C -SEPOUR P ;    0 13 1 ;    9 12 1 2(SP) ; ZERO RETURNED FOR OP COMPLETE 971 002730 000207    RTS PC ; EXIT 972     ; ; - PUT INDICATOR ON STACK 973 002732 012746 177777  NTRY50: MOV #-1,-(SP) ; ERROR - RETURN (-1) TO USER 974 002736 000207    RTS PC ; EXIT 975     ; 976     ; 977      .PAGE MAC MACRO DEFINITIONS MACRO V004A O. NEXND ITOE OD CNGTIOU RRTVEON C -X RTNV C -MENAM RAOGPR ;     2811 ;     2711 ;     2611 * * * ;    5 12 1 ;    4 12 1 TXVRON C L TTSB .      3 12 1 TXVRON C2 2GEPA 4A00 VROACM NSIOITINEF DROAC M ACM GEPA .     2211 T XI;E PC S RT   070200 543300 2111 R SE U O1)(-N URET R -LLCAD LIVAIN ; P)(S,2-1 # OV M0:E3NVC2 000007 777716 761206 34030PAGE 20 FLWR ; 978      .SBTTL FLWR ; 979     ; 980     ; * * * 981     ; 982     ; 983     ; PROGRAM ANME - FLWR - WRITE FILE MEMBER 984     ; 985     ; PURPOSE - WRITES A MEMBER OF A FILE FROM THE USER AREA TO DISC FOR 986     ; FILE UPDATES. THE MEMBER IS LOCATED USING THE SCAN ROUTINE. 987     ; 988     ; USAGE - THE CALLI 2011 ;     1911 T XI;E PC S RT   070200 443300 1811 4 0-S ERSTGIREE ORSTRE ; OXSTREC, P SR J   0 347517 760400 340307 11 1 CKTA SHE TONT IRNTURED AN ; P)(S160, R OV M   6 010006 061004 330306 11 1 L)SQ*MENRT+ T QSMS= ( ; R0T,QSMS # DD A   0 200000 706200 330305 11 1 SSREDD AUEUE QNGTILACUAL COR F ; 0 ,RQLMS # UL M   0 020007 027004 320304 11 1 ICETHMITARS OE DR0 ; R0!NG SEQUENCE IS: 989     ; - 990     ; JSR R5,FLWR TRANSFER 991     ; .WORD LIST ADDRESS OF REQUEST LIST 992     ; MOV (SP)+,TEMP TEMPORARY WORKING SPACE 993     ; - 994     ; THE FOLLOWING CONDITIONS ARE RETURNED TO THE USER ON THE STACK: 995     ; 0 - NO ERROR - OP),SP6( 1 OV M   6 010000 601600 320303 11 1 -4 0RSTEISEG RESAV S ; X VESAC, P SR J   6 347517 760404 310302 11 1 ORRR-EEDRNTURE. NOG NEF ;I 30VECN I BM   150410 123300 1111 K ACSTE THN OCKBAT IESOV MND A; ) SP4(+,P)(S V MO  040000 662601 063300 1011 E OD COFO NEXND ITSGE ; TXVRCNC, P SR J   0 050007 760402 300309 10 1 CKTA SONE OD CNGTIOU RUT;P ) SP-(),SP2( V MO  020000 466601 %ERATION COMPLETE 996     ; 1 - INVALID CALL 997     ; 998     ; THE DESIRED MEMBER IS LOCATED BY USING FLSNT. THE FILE MUST 999     ; BE WRITE LOCKED ON THE FIRST ACCESS OF THE FILE. 1000     ; THE WRITE LOCK WILL BE REMOVED IF FLPLCK IS ZERO. 1001     ; 1002     ; THE CALLING PARAMETER FLPPAR INDICATES THE MEMBER TO BE 1003     ; WRITTE763200 0811 ; . = TQVRCN   6'27030 7 10 1 ;    6 10 1 ;    5 10 1 ;    4 10 1 0 -ONSIVIRE ;     0311 2 /7/7 8 -TEDA ;     0211 4 6 -ERMMRAOGPR ;     0111 ;     0011 . CKTA SHE TON ;     9910 D NEURET RIS) ESOD CNGTIOU RIDALNV IOR F-1R (OS ESDRADE EUQUE TH- E AGUS ;     9810 ;     9710 R ROER, VETIGANEF I ORRR E MI B ;)N: 1004     ; 0 = TYPE I MEMBER 1005     ; 1 = TYPE II MEMBER 1006     ; 2 = BOTH TYPE I AND TYPE II. 1007     ; 1008     ; 1009     ; PROGRAMMER - 64 1010     ; DATE - 8/21/72 1011     ; REVISION - 0 1012     ; 1013     ; 1014     ; 1015  002740'   FLWR = . ; 1016 002740 004767 175722     6 09 1 SSREDD AUEUE QET G MPTE+,P)(S OV M ;    5 09 1 ERSFANTR TQVRCNC, P R JS ;     9410 E OD CNGTIOU ROFS ESDRAD P)(S,-DECO # V MO ;     9310 - ;    2 09 1 E-NCUEEQ SNGLIAL C ;    1 09 1 ;    0 09 1 S.UEUE QGESAES MALINRMTEE THR FO) SQ(M ;     8910 S ERNTOI PHE TOFS ESDRADE THO NT IDECOG INUTROA S RTVEON C -SE-  JSR PC,SAVEX ; SAVE REGISTERS 0-4 1017 002744 004767 177724   JSR PC,NTRANS ; SETS PTRS : R0-FC REQUEST L R1-F DESCRIPTOR 1018 002750 005726    TST (SP)+ ; AND CHECKS IF FLPNAM IN RANGE 1019 002752 100532    BMI FLWE10 ; IF NOT - ERROR LABEL 1020 002754 042760 000001 000012  BIC #1,FLPRES(R0) ; CLR PASS FLAG (FOR TY1&2 REQUEST) 1021 002762 005761 000011   TST POUR P ;    8 08 1 ;    7 08 1 SSREDD AUEUE QTOE OD CNGTIOU RRTVEON-C TQVRCN- E AM NAMGRRO P ;    6 08 1 ;    5 08 1 ;    4 08 1 * *;*     8310 ;     8210 Q RTNVCO TLBT.S     8110 Q RTNVCO 21E AG PA 04V0O CRMA S ONTINIFIDEO CRMA C MA E AG.P     0 08 1 ;    9 07 1 ;    8 07 1 ;    7 07 1 ;    6 07 1 ;    5 07 1 ;    4 07 11 SHDRDC(R1) ; IF FILE IS READ LOCKED 1022 002766 001124    BNE FLWE10 ; - INVALID CALL 1023 002770 022761 000000 000010  CMP #TASKNO,SHDUNM(R1) ; INCORRECT USER CALLING 1024 002776 001120    BNE FLWE10 ; -ERROR 1025 003000 026127 000007 000002  CMP SHDFTP(R1),#2 ; WHAT TYPE OF FILE? 1026 003006 100521    BMI FLWG10 ; - RAF - GO TO A10 1027 003010 022767 00000 ;    3 07 1 TERI WTOH NCRA B ; 0 A3LW F R B    3 700004 270302 07 1 SCDIO TLEFIF RAE ITWRO T ; ,1LGFII+NXLS F RDWO .   1 00000' 100000 703200 7110 R DEEA HIOSCDIT SE; R DEEA,HR5 R JS  501000 674500 643200 7010 R FEUF BINE IL FAF RUT;P *2IZCSSEG,IL+FBFSDFLG,IL+FF4SRFL A VEMO: 10WGFL    523200 6910 ;     6810 T XI E ; 5 R TS R    5 200000 250307 06 1 LLCAD LIVAINS TECADIINU E OD52 000003  CMP #2,FLPPAR ; -HRAF - IS REQUEST FOR TY1 OR TY2 OR BOTH? 1028 003016 100064    BPL FLWB10 ; - - TY2 ONLY - - 1029 003020 005767 000012   TST FLPRES ; - - TY1 CYCLE - - IS TY1 FLAG ON? 1030 003024 100505    BMI FLWE10 ; YES - ERROR MAC MACRO DEFINITIONS MACRO V004A PAGE 20+ FLWR ; 1031 003026 052760 100000 000012  BIS #100000,FLPRE CONTIDION C ; ) SP-(1, # OV M   1 000006 741204 240306 06 1 -4 0RSTEISEG RRETOES R ; OXSTREC, P SR J0:E1LWF 0 447517 760400 240305 06 1 ;    4 06 1 30 AATO CIIS DTHWIT ON C ; 0 A3LW F R B    2 720006 230303 06 1 SCDIO T'2XTNE 'TERI WTO ; G IL+FSTSTFL D OR.W   0'020004 230302 06 1 ERADHEO SIDIT SE; R DEEA,HR5 R JS  041100 674500 303200 6110 R FEUF BINN AICH1 TYO ER;Z ,4LGFIF+DBLS,F'0 9S(R0) ;NO - SET TY1 FLAG 1032 003034 105767 174744   TSTB FLSTSI+FILG ; IS FILEDID = 0 FOR THIS 1 CHAIN? 1033 003040 001477    BEQ FLWE10 ; -YES- INVALID CALL 1034 003042 004567 001326   JSR R5,ONETWO ; MOVE TY1 1035 003046 000001    .WORD 1 ; INTO BUFFER 1036 003050    FLWA10: MOVEA FLSNXI+FILG,FLSDBF+FILG,4 ; PLACE NEXT 1 AND 1037 003062     MOVEA FLSTC VEMO    163200 6010 R FEUF BINN AICH2 T EX NINT PU ;4 4,G+IL+FBFSDFLG,IL+FXTSNFL A VEMO: 20WBFL    043200 5910 R FEUF BTOIN ; 2 RDWO .    2 000002 200308 05 1 Y2 TVEMO; O TWNE,OR5 R JS  721100 674500 763100 5710 T XI ESTJU- O N ; 0 A5LW F EQ B    0 760104 170306 05 1 ?EMEL2 TYA E ERTHS I ; LGFIT+TSLS F B ST T0:B1LWF 4 627417 760510 170305 05 1 AGFLS AS PET SENTH- O N ; 0)(RES=ST+FILG,FLSDBF+FILG+4,4 ; THIS 2 AS CHAINS IN BUFFER 1038 003074 004567 001240   JSR R5,HEADER ;SET DISCIO HEADER 1039 003100 000004' 000001   .WORD FLSTSI+FILG,1 ; TO WRITE TY1 BACK TO DISC 1040 003104 004767 177550  FLWA30: JSR PC,DIOAC ; WRITE ELEM TO DISC 1041 003110 001053    BNE FLWE10 ; CHECK FOR ERROR 1042 003112 022761 000002 000007  CMP #2,SHDFTP(R1) ; HRAF FILE? 1043 PRFL1, # IS B  2 010001 000000 765202 160304 05 1 EDSHNIFIN HE T -ES Y ; 0 A4LW F EQ B    3 760100 160303 05 1 )?STUEEQ R&2Y1 TOF2 TYE ON DVEHA (N? OAGFLS AS;P ) R0S(RELP,F#1 T BI: 05WBFL 120000 010000 602703 523100 5210 ;     5110 T XI E ; 5 R TS R    5 200000 150300 05 1 ERUSO TR)ROERO (N0 N IOITNDCON URET R ; P)(S - LR C    6 040506 140309 04 1 -4 0RSTEISEG RORSTRE; X TOES,RPC R JS003120 001003    BNE FLWA40 ; - NO - RAF SKIP NEXT TEST 1044 003122 026027 000003 000001  CMP FLPPAR(R0),#1 ; REQUEST FOR TY1&2 - FINISHED WITH TY1 1045 003130 005760 000002  FLWA40: TST FLPLCK(R0) ; REQUEST TO UNLOCK WRT LCK? 1046 003134 001002    BNE FLWA80 ; - NO - SKIP NEXT STEP? 1047 003136 005061 000010  FLWA50: CLR SHDUNM(R1) ; CLEAR WRITE LOCK 1048 003142 004767 175536  FLWA80: