IMD 1.16: 31/08/2008 10:52:28 84-93929-02 a000 f92902 crtIId (84-93929-42 a000) dld @ 3870 15-jan-81   ?nI7D@@88p8q0  nIPnI1f! %&&&$(('*9'C# LAC0HU U1G1JPS ?(K٠8p<0=q>>?Ơ2:GF4;9/!> ֠8:8=9O A9R"! &:ƭ >-A)>?8p?r8p?r8pΠ95o9A;mYWZd)]N- RI/%663ОDD(G6p9R<ʳ:!9RY]_!C3]^#uj!( o7//?)wdch c:T88888"$>H !  1 .H !0 !#(rr  F !Cr:',Q9 1  . H1  1 0  1 S &2>:J;;;::;::;:m9[ee Pc`9A;l^H;z:IA=q;;";z:;:;;:=q P;zU9;x "IV!,:}:&<;}$:q: :}::q:1;}<:q:!^;lAdef;X;k;j<;l<0:i! (H:i<%:i  3 :i   vOQQG:q:kCjA  !.76H?0]\1(9!71@E&01*7+ ;>(PCF{:q:4<<:q:vPvvuvz 8A(D=qޭz=q)>?8p?r8p?r8pΠ?u8ΠP" !=8B:};Z<;}j325L:J2 0\H^cHFg(R6QQNRP I8\>$?  -kl 1216 -yz{}(jz8:};Z  < :<0W3 5;Y;;;;;;;;;;Y;Y;Y;;;syt ! !1(^ (YZ [-$SG(1@Au s9Y X !6WP"HКSQP 400'S<< >= A&&A%PG<0MT+<R<= =G8c!  !-T42=q_\!)XU1\2YJ=$Q= $ 6 ^  (228S+=`D B !I}=l' 1 1 1Zk\piZ=q:o; <8=2X0R  =O=V=Z > ?nI7D@@88p8q0  nIPnI1f! %&&&$(('*9'C# LAC0HU U1G1JPS ?(K٠8p<0=q>>?ITUTVUOQ  J ID!+  !< D:GH875AlI,521 /!!'$&($$%" $  #nI" P0ɲ HVWY= >>:gulD8I9X8!X"I2flclP0X]nR 8F13Sl X!"2 HlGl Bn P 8R9n$DZ 9h?2 Q)R6S@THUNVVWbXkYtZK NOT READY WRITE PROTECT TIME OUT POWER FAIL  VOLUME NOT ON UNIT  VOLUME NOT FOUND  LOGICAL UNIT NOT RELEASED  BAD CHECK SUM UNASSIGNED DEVICE LOGICAL UNIT NOT IN UAT END OF MEDIA  HARDWARE ERROR  ILLEGAL OPERATION NON-EXISTANT MEMORY ADDR  ADDR IN SYSTEM MEMORY DIRECTORY FULL  DISK NOT LABELED  FILE ADDR OV ILLEGAL AU  AU NOT FOUND  WRITE DIRECT EOF  FILE NOT EXTENDABLE ILLEGAL FILE ADDR ALLOCATION TABLE ERROR  SYSTEM USAGE ONLY BAD FCB CHAIN FILE OPEN FILE NOT OPEN ILLEGAL FILE POINTER  UNIT NOT GIVEN  UNASSIGNED FCB  BUFFER HAS WRITE PENDING DISK FULL RTX ERROR UNDEFINED ERROR0GG GBpaFbDcE/ph@ph?ph@kph# FaDbEc# # 90w4:0W;,\</ph@ph/ph@ph?ph@kph?ph@kphĢ/ph@ph`pHK Q KRQH ?ph@kph`pC# 90w4:0W;!ŸǟžǜœǙšǖ˜Ǔ–ǐ”Ǎ p+LJc #   itt| n0 b "%.(14 t H H )HZ )H>    DF00AAM M% DF01AAM MMzLP00 P'ln2pi   rDM00AA   OrDM01AA   ODM02AA  &DM03AA  &v**+U?,X d;DH00AA   !@8c;DH01AA 7  &7#]@LcDH02AA  =>zDH03AA 7 =7@Lz* v**+U?,Xd X1X2X3X4SILOMSFUF%OC<CI<SL<SO<SA<LDOVXX%POMZ1Z2Z3Z4Z5Z6ZP94E:/p(p(` `+hQ TCVyV͠H N@P נBQ iWG CW90.r@ VݤB!}00P By M  `+j'NQ #Vy  `+kIC @C U j@P  `+NQN mVWNyk%LrKM'jP ւM D%Y'DBBCP ̀C9 ?p(+p(# x vtIROV NOO1N1  #  b/p(p(` BDCEAՂI `+C Uτ@x 0 :D A FE [ E :E ED DAQ\DQZBN!BB @BCN1@CA,D,E,@k%'jAEN€MDB BEB CA?p(+p(#  m e</p(p(` /p(p( MNQ@ ϪSW/p(p(Nq% ' z ` ?p(+p(M?p(+p(# '?p(+p(L 0n MN1EMM M1ÉB I@@Mǁ#   Ղ 1CĦ :9/ph@ph?ph@kphF: « # @SAyCI! SLCI SL  @QǠ1DSB# :"SFUF!UϤA FDZYBZ Z Bą  Y H H H @ ɠAZg ZuO{a- $W_ b42Oe..fѤA ʄZH ОǞȞɀWX AZȀ  TZT UVETj`ZЀ`ZʠAZZgZAvO{ai} $ b_ ;pt2Oe.N͠Y ABSA ZZߠYۀABā A@Ѐ ĀBĉZĊ¨ć§ā@ giZAZw ABZZCAN O{aek.2O p*B1:A! _ "* H1xvB C @C @ pā_B __ __6  1  pE/p p_/p p @*3AB1NBɀ6f 1 g/p py O!9. ljPc Pfdma1*\BB1HVggRyekVӞ N OQJ?QC @QBTP G `QRS GGG_\ ­G!ac BR IG!SGBĝBR IG SB #  ; $}_xu Y 1C# MTC @C @C @C @C @`p FYcB/p $p# 4' I[QaGWXZ/p(p(Y@IC @C U?p(+p(# }} $ bYIA@AĊ# PB1LZĀ6P1PA# ƒċ# )IGVWXWBG! R]^TVC SSU RR9ƀ^S66 #  ;TɞQ;/ph@ph@(РP+?ph@kph P+P6jP  fP{z  Ā ΥQ/ph@ph ?ph@kph ?ph@kph # ?ph@kphv!0w0WMT2ODZB+E(z(# ^][WXS SY\΀[ PWXG[ I\fe\+U*ZZ# }| z $ ;}YYB1Jy YQ^\YQg!WXWXJS+XW7y B N OLƠQ ?G # }{y>v N O6ӠQMI+9\Y\+\JR9P$P#  \F6\AB [ IZF cL\FXN9C B[GZI # \=,\A6AkDYLWXFXC ^^^ ^^^ h0WXADAASO`NCZNZYNNYCYTڀ`LS tG $ ;mXWFA Z [NWOX I]G [NWOXWXPAOGAp'A6QSÂYK=A:YQFXQfx?'`WX%A$EA [SÂlYHAgYDfc#LWX  A6ADYF i$$9WXAPQBWXFA;A6XSÀYRSDAYA]AwhG}  $ 3BnWNXOAhPQfBbWX``F^AY\;[A6_SÀYSYSAIQQYAbAWFXFBBAA@kcp??((WXY )C-NOAWXAFA;SDA B gÕE JEI\YSZZ Z5 31w4WXPQY )oBBWXBB]rYE JEI\YROPeNDZhqG $`C`9A6ALWXhF מ DSAGV WE [NOWXP [ IWXWXLātEҠA+ DSAGV NCWXM [ IA+WXNFрOF [WXEA;WXAĂ/ 0wLNO[`FFA ՠA6AA֠A`AAƀF̄F@BK@" @+ `  @6F@F@``/AB`@ CWVF̈́F` ʀ6AAA  $s_ b |x2O{qqA6B6D6BπF ĠA AZ_Aդ`AQQF̄FN@BK@" H @(_GCCB_@``EF D`@2`G CABŀÀ@@`@"C!`AF@F@ā ܉ZL  Z__ekA_ABB $ ;_7 TBV񀧄UA__ggC_bv+O*P+N{TTOxU΀VG_FZP@Ʉ`_99t`A`00 i_`_ A^  +@(U+@(@#QF*U+UVATVU # /ph@ph?ph@kphs- bWem\Y/p(p(E%G @  }*19 ' ?p(+p(Y# YDLPWX T]VBG S^YSBYDEQ` LPLπIY@SB INZZI QE# 2SN# PQWXʸNO F # [| TV]R]TSUR^S # !\ Yx^A]AZؠQÈJ^*+DYY^yED DY]AZNWOXQEDZ\\1f*\ "E8Y@Y]RVU ƀWNXOc $" 3ph ;+yDZZHnnD؀DeeZπDZ)@AІ̆VUU # t b2NO@AGVA PYCY# 2V# AVUT# MB TUA/ąV # }/A1 # L# ANO# WPXQY)>EYPY # NYR€YNN# A+# 0W qSÒZNZ# m0_@APOQ`H%} 'F+`HPu `@_P# ZB+F C8# AEYF@Y# %AWXĂ/ # NVWXW# YNY# A+# 0woYS@@YCYZBZ @GVWX@ Y# Q# C @Q# C A @\"\S@"VSO 6ĈEN 6ОEN 6Q`*%VB`H`H5Q`*%VBt`H`H5Q`%VA`HA`HA'kK*Q`V`H 6*%`H`H'. 5D@5c # X"S SRKRPQWSРBGVNOPSǀSP S # } $ ;i RBG NOS GS G !GVNO# }S. Q# @ GؠBG! SȜRU# BG! ]^ # I C U# B+# !+# B SXR.*RS SB 9P{Q 3'Q QQQ QQ ߘ Q+K1FǏÍNjx #  0W1!9 bQ QQQ Q PQ6PP# ! > |+1NA6QQp #   !9 m # 0w8z*1]*BONQ6J,!A Q+]^ QNOBA! # !9e Gx Q|{((Ā  /6-6C @Q# ))FP'FQDBLEDB G E LQDBLEPFFIćĈăąЄ# # # !0w0W!C[C @C @C @C @C @C @`p҄GI@DEFLA1MHF@6EQM@IGk F@6IMIāM/p $p# Jho6Mekk@6M_@6;Z,\490w0W@Р1MIABC # ABx# !+@ D   # # U=+vUvBCF09FXB + N1C 6C6F09C +HF@6E)o# # BKQ\6ƀF IDL 1 N6H 1 N Bȉ@AH# MCMC+CM # "2 # C+C # 000w1/ph@phC+Cn?ph@kph# 0W,\C6# 6B # # 섁@ +j @1#  "o( Hܕ܄+6Ϡj@F@ `+11X 0w ./  0W   >!@"o! ."A s⑂@ @AF ## # "b!"o(4"s p`pA bDBOϠ 1E OS p# G AEA@BF EG HK 1ETRIP EAO sO G@iNJK˜FC@@BF]GG@oFS#ab?#-#HIHIFA6@B  FD6A+&DHˆI# FF# ##4#L#U$#U9Yp pSRXN` P 0Q Q О E@ @ E 1QY‚p# @M SA GC  #n#n########yLL@hLOLoLmɞK qXX3ĤXBXS%''X# lL@HV/Y6@FHV&=[GQFHVIT3QL@HVIGv(V VHVI9G6G} p``pZY )5Y@AB[YDE6BcZ p# <XTV00Ppr uwpX <t%>$&?,X    XzX Mt$&?,XzCR00P)zPz t()8):?,X  3PP00  / 1 /  3 t$&?,X 3 L jPR00  _ h j 3 Lt%>%>,p?,X j  j %t))*?,X fd   $EDπF ĠB΋QG F ʀD,GTR$(*YDۄDI3BJEK~CFxDOFB6E@6ArP + 1QCܗ 0y vBD+KFQFQFVAxPB ЄP䀑GG\䟉, ,"4,3,k++!%SO ZDFF6EEKeee dcAxF@0 CXJQB1h6ǀy C DD P+KFQFBJGy ÂGG/pPAC ,%"B!OϞw@KQB@61U@ KCNJĂ܄6À @KQNDI@lJFJCIIBΛQ:ʗNyJQKQĀJ/6-%,\,A"V"4,3,kLP'&&j IPRED*DDNF  EKBF @Q6@JP F 6 M_CK_%'3 oPDJ IQDF6AKFQCK_%+'PQ͟&,G&!, &&?&LL K IDGDQh IIADDIIFXJQCcKF6+DJ B%QC*˞aa' QQ ICB1€F DPQ_QAFND&&,k%$&%REKM B%'Q_J  K@* H%'@(KK+I_K#BK`M@#QbAIIDMN F6FKK _IQҠMK1yAʠMK1yv DBKFFM `K@P QQҞ QMJM`UEK>Q hKMeII ΀_E6q.y' IICđB@1B H# k p+p(/*,"4,3%~$$,,k,\$,A"V%'Z'tBJFF % $ ʠK` D II ӠB1P1wD+KB I螮 ҠB K D IIF  FBDQKNy@ HID@DÀDrI1oD+KGeCI I  ^ BBܗI ICF  ŠB- @KQB@6TLP !$$$$,A"V%?Bp MBV ;KI D I KI D I ,y&TYTKPP&TP''''wDIBK̈́JSC DIFF IEDמҞОсKy  D5 ͠CFK ICDEKnCCFF DBKCILUCCIDGKCǞ{x !,"4,3(,k(}(,A"V, ,p؞ӀDIBK̈́JFGFc0 DCIĐ IK ֠CKD@yNqāKJpGFCDEK@CC:`DI77݀FF DCBK Ā$#I" IG}wDI@lJ_6D/6Bh"B!,\)KF@6+%'6* 6|EK+D@*l# (zEDрF PDIBNCDIEKמ؞ٞ߀DIDBJ1B6GBK'B /6yF ̠BĠ@- )Bٰ.BBBBBBBBBBBBBBBB,k")G"B!,\,A"V c@ SjB T,y)G3 C )@aE+6֤ N 6LN 6E@KQ:C6N13C6FB # # }/*F AE D+++,p*)*mEDB  9C @_9#C @o?  P Px!@p@ *P z 9*r A| I2>> > }3~ e1222/02q  Rl @K @XEBDAAAAA @@(<;@ll 54('!,)1 ` ^\,p%!"! 0Wll  (~! ' #( YI9(8D I8(8D 00C  'D#l8  nlZ"BZ2Bl $l\ *elc1 |  DRX8" lX2BXn$ l!/(l!:3=  EDI8X8N NlX2BXn[ !lb'li.giӢ%Ӟ wy{}ӒӍ Ӈ18 DxZ"rppl "123db^PeƬƠK_XmH[ƬTƠRCUƩNmMIGECX==1A8C3I;D<*(& $ " !  2  2 2C j6   a     $%&&t:.0-23-449:,;;@BDEFFKLPMMRTVWXX]^__6eg2ij2kkpq2rr6z| ~  PPPP6( # # # $  0 0 5   ;;H9 7 5 4 //. - (([&&$ "!    $(6 # # # !"''$&)+<-.<3345<::;=%?@%EEFG%LL$:PRFTUFZZ [\GaabdPfgPll mnsstvPxyP~~ 6 :     PP6BijPۚ W PPƠnPPƠlj h 3(f e(d`_]P[PYW U(S R(QM L K)JFEC B*A=< :866-31P/.P-)(&P$" OO  +8 I6Xk"i gfddUaZZPW1A8C(*,./13459:9=77ƪAUC2-,JKLP%%USƪU ~,J]ƪaUc  jklp` j@{|}pL U    '))U,1 (8( G)NQY boDBs z U߀]975433-,++%$## =5  6   P1A(8D"J ). P1A(8D\6]9R> @BLL$F%HGqMOA<TVXZ44@^#`/eg)$lnp!*ty{@ SD@j  H0H H0H% ͳϳ((V!"]c"\ "^"\"^/\ Do /^/\/}^{yw!usq^om k!i\gec!a^_][!Y\WUS.Q^OM K.I\GEC.A^?=;.9\731!/]-)'%  " #   % ZjX2    4"" 5X" .52 6: 8\(CY FMJ L 8L(UG X 09!""_\ ^ 8(g5 j344qn p 8(y# |~{ W} 8( /  h ( 3 4 ƨ&(! (   0xH 9ƨ޷;l{H( ƩO&&&(T! (/O Ma 078DHB@n=m<$99886(54/2P1A.. @)lDP1A!!D !f Mj (D&hXĠԺȠ٠ԠŠĠȠ׬ԠϠԠӠӺ٠РРשŢ٠ȠΠŢ٠РΠԢ٠ΠĠРҠԠЩ٠ȠˠŢٍ¢٠Ƞ}ٍ٠Ƞ΢ٍڢ٠Ƞ٠àĠРҠԠЩ٠Ƞ٠ $Т٠Ƞٍ٠ȠҢ٠̢٠ȠРŠӠһŠŠԠٮӠŠ  ŠŠנΠҠŠŮӠŠŠŠנΠӢŠӠ̠Ӣ٬ҠԩӠŠŠŠנΠԠŠŠ̠Ӣ٬Ӎˢ٬Ҡԩ ӠŠŠŠנΠӠԠŠӠ̠ӢčˢӠȩӠŠŠŠנΠ̠ŠӠ̠ӢĠŠˢӬĠΠ̢٠РԩŠĠŠԽ  "&+159=AEIMQUY]aeipv}ŠñòóôǠΠ ˠԯԠˠԠРΠԠҠŠ̠ ̠à̠Š̠Ơ̠ˠ̠Π̠Р̠Ӡ̠Ԡ̠٠̠ڠ̠̠̠Ԡ̠Р̠Π̠ԠҠΠğ컧ğ̻ͬğ̺߫ͼğ̺߫ͼU'd @@YMQ@@@@@V_W@@@@UEGFT@@REC@DFS@KK[NZKK@WDF@ECV@@TDGCU@@@@SOR@@@@@XMP@@@ ԠŠҠĠՠΠӠŠӠĠΠȠԠĠҍԠŠҠԠƠ ӠŠӠĠΠҠԠԠΠԠ  ԠŠҠ̠Π ԠŠҠŠΠ ԠŠҠΠōԠŠҠŠŠӠԠŠϠԠŠҠŠōԠŠҠΠԠŠҠҠԠΠԠԠŠҠҠРԠŠҠҠΠԠŠҠҠԍԠŠҠԠԠŠϠŠ ǠƠŠӍڍabcdefghijklmnopqrstuvwxyzޫݨ̠ ԠŠҠΠōΠԠ٠٠͠čĠԠӠĠˍԠӠΠĠˠŠҠӍ٠ԠŠĠӠԠŠҠǠō̠ӠĠԠΠǠӠΠԠ٠ԠԠӠҠǠϠҾԠҺҠΠҺӠԠҺԠŠԠ٠ҺĠҠΠҠҺĠԠԠǠԠɠà֮ԠҠԍ ϠҠ΍̠ӠĠӠĠΠ٠Ҡ٠ŠΠĮ٠ŠҠӠΠŠάΠԠŠϠĠԍҠŠϠԠ̠ŠҠŠϠԠ̠ҠŠϠŠҠԠŠϠԠˠΠԠŠϠԠŠϠԠŠϠԠŠԠŠϠԠԠŠϠԠŠŠԠŠϠԠà  .wԠŠϠԠàŠԠԠΠԢΠŠϠԠŠϠԠΠԍΠǠĬԠŠϠϠԠ̠ҠΠĠҠΠ%  A <=F;4 e PMT687 ̃iJfy \b Y]̃]XʇʃZR: FI QAş  0:ZJ ؃:864G d: ݞ : Ճȃ'#ţ"Ð Qaȃƃ: Z؟ > 93]f `:  B뿩aVV:  TN1D ›ǙCC  <67P ;MT54=F[ 0m6ȃE  dSB@A@YIQ +OOw G +E A ,# # FL2g8e u s!p*mj5 g Oσ͂: )nlk Vf(5 ң1D ²ǰW  ;[4<5 MT =? AĂć$+ a_]^\: BŞ 0:Z MGLH d d: 郡Ã͞:  ÍK  /k oT 9]e`6wvŇi: Ca _]: V 5±K 1ģ+ C Y, Nk y( ngv# I{wur:  [ f}VGң: y 4y À- # # ŸŸŸŸRJ㨌DD?ï= ˜41 : %$: ;<&IR  A]29 dŇe:   ЀC 6IMƢIB ߦߨn҃==:  & &# |yIvs Z3 ]e*@VvQfN ݇ˇˇۇۇۇۂۇۇڇڇ# lӿןփEµdz Mɂރ E  Ǟ4Ã3 >?[5<=F;4 T2*- ^f&_g678& PMTZ̓_\NyJQQWN NRIROG:  D ɞ ǀŃ ۢÿG ǽD  ?êG!@ ªZ: ǃÓG!ϑR#   U MT "uw`[de^=.ZC @ ؃SգЀM̃Fȏ˞v 㾀߷:r c # c # ::y C X c x ~l 1:z# # VW. 9}   % @ K: p p+SB# p[   'EMTEX:: SYSC @G`@@Q+kc I# c # C @QQ@Aǩ)%'㥣%'ߞߟߛqc I# c # C @QP@Aǐ%'㌣%'߆߇߃rc # C @) wN GpoN15c # ::Fy# C @H^@N2@% @'Suc # C @)@ G@0FD5c # C @%'ߙc # C @@Xy}@} . ~ .M I.M~I.d@bc # Ww!.C @wxuI Z /N+Ul jGghec # bc`II B :6+UT R/OPM#  H Hʑw IՀ I.Gj# $C @ ǀ Z G @ADZ øG Ƕ :hE 6ߠt+ ÝN Cߐg.Fc # [ u2"W NO h{ +þ_ts n%ܣ;+ I 5BB}+ߤߣm e_ A# :r ߓߒ  # } ow/,YXV  ҃) Ƣ: # : |!xC*1BI#  VfA!  ĢrrÇÃÇjdd惶B샳:  _K  !:j  :j# AI{<*x9t75q3nUP[ ;49nmd: -R-<H-<::  l# |WV00ll.o( cagߣ1R D˃ID # ‘Ǒ uG*r TVIR?>(C @` 2@Aǡ%'  +ÖN1B6"ߑo pc #   kc #  & ã   6 +@K   + Æn# wX%[/-  IǤ+ߠab ^+[\IǓ+ߏPQMN K+ # }-LAW90UlCRχԃԇ: G C #  {  0:j # } 1:j # } : C # ! {nԣ G ǔ ÞG !GVߋNj: # } V nmq oA k j: ? ^#  ]y wTPn!H V@ąلO΢ok9IUE@+t@y# a+9 Ŀ) v 0:r # } 1:r # } {+ âK:rqp :j D # } {OL[SLrLOuywmoq 0:Z:b::Z6:b ߏl# #  e 9`fTV]e2:Zr;q:bnlh - _@QA+kUU룅Z# egh_ +u:br +:Z6k hC @߳ ² ,IíG! G!@B @INj  c # -W[ * !"&')BLOCK AU  IĀ+# Ҟ 1 # I?ʣʄ+U# NH ǢJăG #  | : )䃧⃰ ކIIڣ; 㞀@+kUƀy@NyC # oZb wV U ă B #  { `9:j7XX@AKN1T # ۞}KKF+s # } ǣ| 5VKԀCC C :j ߢm ^] | G ǟǟ:Z:b  # | fmnq`f^ai ã # } B90.r# \1# {WQB:  ɣS: # !  2INYSs ˃nn ÃlB# h#yQ B X ΢UU˃RM )II #  CC yVWTO6) }@7I3%C B'`(k%C @'` eK%oe `kA YX ƃD  # % {#  ~|{IC @`@@+kc #  ~ƊK 1ģ+ icqp    C @ @…Ā+c # EXEC (E400) J NAME .EXT LENGTH  DATE TIME EXTENTS AU'S F# 2NDX NAMSJ NAME .EXT NAME .EXT NAME .EXT NAME .EXT <1PAGE VIEW (E400) UNIT= VOLUME= N 19YY/MM/DD HH:MM:SS CREATED 19YY/MM/DD HH:MM:SS DIRECTORY=   TITLE=  LU DEVICE FNO  TOTAL AU'S =  TOTAL FILES=  AU'S FREE =  AU'S USED =  AU YY/MM/DD HH:MM:SS /JOB (FILE IS OVERWRITTEN) > FILE ALREADY EXISTS. OVERWRITES IT?(Y OR N)  VERIFY SUCCESS VERIFY IS PROGRESSING , END OF MEDIA, MOUNT NEXT VOLUME?(Y OR N)  END OF MEDIA  FILES DO NOT MATCH SYNTAX ERROR INVALID COMMAND  DIRECTORY NOT FOUND  INVALID UNIT NAME  INVALID OPTION INVALID DECIMAL NUMBER UNIT NOT FOUND INVALID FILE NAME & FILE ALREADY EXISTS FILE NOT FOUND O  N " NEITHER UNIT OR VOLUME SPECIFIED CLOSING  VOLUME NOT GIVEN( CORRECT VOLUME NAME IS  PARAMETERS IGNORED & FILE IS SYSTEM FILE BAD AU  UNITS NOT SAME TYPE INVALID DATE  INVALID TIME  SYSTEM LOGICAL UNIT  NOT LABELED  UNITS DO NOT MATCH  JCL STACK FULL 8 FILES DO NOT MATCH AT RECORD WORD 2 FILE DOES NOT EXIST, CREATE IT? 4 UNIMPLIMENTED COMMAND. USE MAG TAPE EXEC (MTEX::) ]ZBePgRCIgCIEFõXQ# Z$ 0:] P :]9 1:]Z$ØXQÕ֕ǓVD SZ%Ozzz (BՂ :]ˇ P΂΢Ƅ+ K| :] &:]؃  P ":] ? O :] 1:]:݃ 0:Z$# gnef`ba ylk@+k zZ$Z$S$ BATCH FILE NOT FOUND* BATCH QUEUE EMPTY - PROCESSING SUSPENDED " BATCH QUEUE PROCESSING COMPLETED  OS4 INTERACTIVE MODE RESUMED  LUN EF NOT FOUND  I/O ERROR ON LUN ZB mE7E4E5E3--E2E0NVALID COMMAND  DIRECTORY NOT FOUND  INVALID UNIT NAME  INVALID OPTION INVALID DECIMAL NUMBER UNIT NOT FOUND INVALID FILE NAME & FILE ALREADY EXISTS FILE NOT FOUND ON " NEITHER UNIT OR VOLUME SPECIFIED CLOSING  VOLUME NOT GIVEN( CORRECT VOLUME NAME IS  PARAMETERS IGNORED & FILE IS SYSTEM FILE BAD AU  UNITS NOT SAME TYPE INVALID DATE  INVALID TIME OVicEdDano=@rASSIGN hADVANCE 2AUTOLOADBACKSP 2COPY  COPYALL  |XCREATE \COPYPACKDATE DELETE @DISMOUNTEDO ]DUMP IDIR INIT 06JOB ]KILL 24MOUNT HPAUSE xPRINT fRENAME }REWIND 2XTIME VIEW VERIFY WTAPEM 2aVFA FB FSUFFL NAMEONLYEXTENDEDSTANDARDALLFILE OVERWRITE REWIND RVERIFY VOCCUR ODIRECTORY FILE 0123456789ABCDEF dZ3. .. OS:: SYSLDZ1LD/Z1Z2Z1?Z2?Z3LOCIZ1?CICIOC2OCCIOC > CX> I dMN 2]ÏXQCv SHCI(B@ >~ ^ O,#NMT ;OQ=A?P I R9΃`LZy M OWǪ LRRJPEMMDLCKB=;ǐAƂ W : -"R5S573F' x L [:F% QAk  0:s+؇b ǞUU‡ƒԃ̇ˇʇLȇIIBBô@Dz9G d8:ݞ /:Ճȃţ# Qkȃƃ:Z蟝LvU;~TVB $yp=A?S3s N! U = O1 Gb񿪞RTZ KSR1D  N FF<;: ,66r ^P,MT <M_7OR >B@ 56ȃE  cSB@A@Y IO +OOwE +AA@ : ,# # ;FLKQpL rolif)c? ` Oσ͂: )nlk2B9S ѣ̧̀ڇʣ٧1D ăć򣺧ȇ'DƒŇŇŃɢ֞ӃˢlcT<7MU NR OMTVX>=S:55 $ \Ң\+ S P #my5573F' x Âp+ l1.,52.,:Bş. 0:s*  d dǂHC:ꃡÃ͞: ÌK  kΞ ;7 v~y"!W3xOSR:Cޞʃ` ^[قل: UσPППο80ɢɠ+ K /1ģ+ ,+ Y NX y nTv# %tpurS p/ 6 rB<526V5^Y_76Gңր: y 4y À- # # ğğğğH@㨌D:ñ3 ™' !::TU?yIR sH7R dałŇ:  ЀC 6IKƢGB ߧߩn҃:: ? ?# |y%v\sZ3 $v~2'/Bb ߇߇ڇ؇ׂ# dLJE ÃÇߣD܇܂·σŃ ƟƃE ¨Ǧ%ʃ L"@BxWX7UV_T<MmKCF?A w?OPQ? ^n,#NMT;,`hq8UσXVNyLMJQJNG GIBIG@D753164-AƂ" :5S573F' }Rk: DQAݟ  0:s.LJ AÃLJWۃPMMñKïǤIAMGFED탦7:J 0:{ݟv`L~qwy"=WUN;A?Sn, B࿮] YZW1D  Ǟ QQFE ,rT<PR B ^,MT MV_7O>@j ,jSB@A@Y" X +/V ÿ~K ,B# 2FQpyuvrsopli%fg)c?W`ՇՃՇ)QɢᄀLJ˂܇܇Ƈևփ QɢDŽ L힉ɇ‡烬 .ýQAǡӢ+ ›ǘ ± ĂUS;NM#7573F' B:A5Z4$Z3myVT<5xAc\Y+ XXSP:B 0:sE <<<;QA>>Ǔ<A:9Ђ8 wR vy"W5S:q 0:{ ÞQ¢ ÛK :  p~F~ rqB%&-ڢڠ+ Ÿ["Оχςχ +Þȇ‚LJ ,# \:・ - - :: B# |B2/;<56V57MZ3,NZ4 W-`BpN7˞χӢ ÇȀ; Ѓʣ I ÀDy Ńd+° :XYIQI :# ~\{%x$IR#7:чi ͢οB  ǂˇ_ ^ȿH' 1ţ@AÀpnljlZ((SIEQD@hA@h  @6ˀ4U1: + %":"E+kߍI#  pBN2HeFCI [ E О πŇ̂̇˃ȇ ޢăG D  8íG!@ ­6: ǃÖG!ϔR# nMTI' 1,1/8<7@A[:.WC @ ؃QMπK˃FǏʞv 6߶: c # c # ::y C X c x ~l 1:# # 2yp( 3 rRK=41pWUN !BS2'Xʇʂ͇ǢSSŇÃDB˃MЃCDB6C:s44QD1:{/-(  @QA+k4#  F L' x{w +n:{k +:s>d eaC @a ]¸ ² IðG! G!@B 20INjc #  ,2p<c7fR C)BLOCK AU  IĀ+# Ҟ 1 # I?ʣʄ+U# KH ǢGăD # A{ | :)䃧⃯ ކIIڣ; 㝀@+kUƀy@NyC # s{  $n ă B #  { a9:7YX@AKN1U # ڞ}KLG+s # } ƣ| 6VKԀCC C :!߫m ^] | G ǟǟ:s:{  # |(Bywz ã # } B90.r# [1# {VQB: ɣS:# ,2-0. *,INYSs ˃ׇӢnn ÃlBˇ# h"y) MQ B T QQ˾",O ,R,V܃?: ) ,d4 Т11̃ .k%% #  y2pTOOMT1/) r}@ I%C B'`(d%C @'` ^Koe `kA NYX- ƃD # % {#  ~|{IC @`@@+kc #  ~ƊK 1ģ+ icqp  C @ @…Ā+c # MTEX (E400) J NAME .EXT LENGTH  DATE TIME EXTENTS AU'S F# 2NDX NAMSJ NAME .EXT NAME .EXT NAME .EXT NAME .EXT <1PAGE   VIEW (E400) UNIT= VOLUME= N 19YY/MM/DD HH:MM:SS CREATED 19YY/MM/DD HH:MM:SS DIRECTORY=   TITLE=  LU DEVICE FNO  TOTAL AU'S =  TOTAL FILES=  AU'S FREE =  AU'S USED =  AU  YY/MM/DD HH:MM:SS /JOB (FILE IS OVERWRITTEN) > FILE ALREADY EXISTS. OVERWRITES IT?(Y OR N)  VERIFY SUCCESS VERIFY IS PROGRESSING , END OF MEDIA, MOUNT NEXT VOLUME?(Y OR N)  END OF MEDIA  FILES DO NOT MATCH SYNTAX ERROR INVALID COMMAND  DIRECTORY NOT FOUND  INVALID UNIT NAME  INVALID OPTION INVALID DECIMAL NUMBER UNIT NOT FOUND INVALID FILE NAME & FILE ALREADY EXISTS FILE NOT FOUND ON  " NEITHER UNIT OR VOLUME SPECIFIED CLOSING  VOLUME NOT GIVEN( CORRECT VOLUME NAME IS  PARAMETERS IGNORED & FILE IS SYSTEM FILE BAD AU  UNITS NOT SAME TYPE INVALID DATE  INVALID TIME   SYSTEM LOGICAL UNIT  NOT LABELED  UNITS DO NOT MATCH  JCL STACK FULL 8 FILES DO NOT MATCH AT RECORD  WORD 2 FILE DOES NOT EXIST, CREATE IT?  FILE IS NOT DELETED* NOT ENOUGH MEMORY FOR MAG. TAPE BUFFERR  FILE IS BAD 4 UNIMPLIMENTED COMMAND. USE MAG TAPE EXEC (MTEX::) j#FILE FBLOCK B0123456789ABCDEF d)Z1Z1PZ3OCOC OC CX> CRX> H!냺êJSQôƃA «+ §:  n7 7p60jO38W5S50*878Ne00-0'j` ^Y V TI) D M +ރq ϠلD Ճ 4yϢ1.  I  I KD  + L " !§K ;iy7257) 7P5 5F1); V19/9O9 E , # J:'s;0pD:em7,B y M0)xע$PH I ſ: `۟]K QR91ܧ܃܇ Y yK͞KB+ >:f9KõII%IQZìǻ¾ǸI%ǹIǶI9 Y y×ǦI%Ǧ+IǠǚI%ǚI38072VOL15099968999 b3^ P[ET P 1:# K:'# H:e# E;# 7677 3-܃ (փ  ps,' 1Xxvn' (emk``QÂ܃VAƃ)Iև ԢIӄEЂC˞zȟ D  01 ¥,Ƕ8  D 228788?2 2 j 5S577 4288A UU SSנOdHLaJ8 IτG:>S<8<߿߻4 )) ''#8 58 # :'u:er;o;k;0 h:ne;b 26p1P5s?B7 LJLJݢeՃQT9c% K k#  # ̢@AǏߌ|# .:'# 73,OMTj385S59y9z68677eeeݢeej@b__]RЃZ N@AVF D AMv# FHDG? <=9܃64I G K@A0> D (w# ;# ;# ;# 7527tj%R@AǸ IC ߯y# ]ߨžwV# Q;# N:'# K; GF# ˢ: # 8:e# 75+MTvtrǯìm # # yI SI DIǖ)I) I # ;# 7:s)A₩  jƢa# Aߔߖg# {7575 6J' R17643 333b0.FSQBYv" B מ   ƀ I @ C2Ć # # # ʣSQt +IÛ Q_:X44CK666A6V7B)K B@I+_]Z TT+RT # @σHSQu{7s7XDJQK qp ˞҇ :bB OSRߵF :99; 4{=;J:{ 3ߗ1#  ߋIǖǖ#  2776 7656J66C C @c `:#ZN J۠݀@+kUc I# ΂҇ уHIςχ `Iþ>;Oc ć ::'yH RI CI rI cI# #  ˢF #  # ;0# VOL166AB;^7;a7585:6'ǻBFჵL±Kǯǫ+ +ã QCўfC a # E;0@: # 8â6# #  5767D D߾ўz DhIqaBB] # f D  # ߟ# D 5# Dmʞz ;Ǟq77 # # 666A76 tD # # Y N y n nu# #  Y y # P : # P:# 667995996:: y# ́G# 者xrāo #ԃI:Nע ʃՇʃ_ I ?:#@'="abcdefghi jklmnopqr~stuvwxyz{ABCDEFGHI}JKLMNOPQR\STUVWXYZ0123456789* 19YY/MM/DD HH:MM:SS ANSI STD. LEVEL = 3 B NO NAME .EXT TY* BLK RCD AC CREATION EXPIRED BLOCK B -PE SIZE SIZE DATE DATE COUNT  BLOCK  TAPE MARK0 END OF TAPE, CONTINUE TO NEXT VOLUME(Y OR N)? DEVICE READY('Y' MEANS READY)? > *TYPE D=VARIABLE LENGTH, F=FIXED LENGTH, S=SPANNED RECORD& AC(ACCESSIBILITY CODE) D=DELETED* KILL DELETES ALL FILES PAST THIS POINT 6 ARE YOU SURE YOU WANT TO DO THIS (TYPE 'K'TO KILL)?. +MEANS THIS IS A PART OF MULTI-VOLUME FILE  OLD VOLUME NAME IS -- & OVERWRITE OLD VOLUME NAME (Y OR N)? & OLD OWNER I.D. IS -- $ OVERWRITE OLD OWNER I.D. (Y OR N)?, IS THIS INITIALIZATION OR RENAME (I OR R)? UNIT IS NOT LABELED  LABEL IS PROGRESSING SYNTAX ERROR INVALID COMMAND  DIRECTORY NOT FOUND  INVALID UNIT NAME  INVALID MODE INVALID DECIMAL NUMBER UNIT NOT FOUND INVALID FILE NAME & FILE ALREADY EXISTS FILE NOT FOUND ON " NEITHER UNIT OR VOLUME SPECIFIED CLOSING  VOLUME NOT GIVEN( CORRECT VOLUME NAME IS  PARAMETERS IGNORED & FILE IS SYSTEM FILE BAD AU  UNITS NOT SAME TYPE INVALID DATE  INVALID TIME  SYSTEM LOGICAL UNIT  NOT LABELED  UNITS DO NOT MATCH  JCL STACK FULL & COPY VERIFY ERROR AT BLOCK 2 FILE DOES NOT EXIST, CREATE IT?  FILE IS NOT DELETED* NOT ENOUGH MEMORY FOR MAG. TAPE BUFFERR ( INVALID VOLUME. NEED BLANK LABELED TAPE END OF MEDIA  TAPE MARK FOUND ON DEVICE FILE IS BAD  FILES DO NOT MATCH OCCURANCE OPTION IGNORED HARDWARE ERROR WRITE PROTECT <ZB< P<RCI<CIEFõXQ# Z$ 0:< P :<9 1:<Z$ØXQÕ֕ǓVD SZ%O=!<6=!=! (=R=d=<BՂ :<ˇ P΂Ƅ+ K| :< &:<؃  P ":< ? O :< 1:<: PROMPT FOR EACH. S = SUBSTITUTE USING GIVEN STRING X = STOP 'S' COMMAND IMMEDIATELY D = SUBSTITUTE USING NEW STRING, ENTERED AFTER  PROMPT CARRIAGE RETURN = PASS OVER (NO SUBSTITUTION) T [G] TERMINATE EDITING (WRITE TEXT TO OUTPUT FILE AND RETURN CONTROL TO INTERFACE). '^' WILL ABORT THE EDIT, LEAVING THE SOURCE IN ITS ORIGINAL STATE. U [I] [K] [#1] [,#2] OR U [D] UNBANK PREVIOUSLY BANKED RECORDS. 'D' OPTION IS MUTUALLY EXCLUSIVE WITH 'I' AND 'K' COMMANDS . W [K] [N] [#1] [,#2] WRITE RECORDS TO OUTPUT FILE (SO). 'K' OPTION MUST BE USED TO 'KEEP' RECORDS IN EDIT BUFFER. Y [/CHARS/] [I] [D] SPECIFY DELIMITERS FOR FIND AND SUBSTITUTE COMMANDS Y = LIST CURRENT DELIMITERS  Y/CHARS = SET NEW DELIMITERS Y/CHARS/I = ADD MORE DELIMITERS TO EXISTING DELIMITERS YD = REMOVE DELIMITERS FROM BUFFER Y/CHARS/D = REMOVE SPECIFIED DELIMITERS FROM BUFFER = BLANK MODE N = NO LIST MODE C OVicEdDano22 `IA # %#?&$32C @qW6TAM 6 6ɀFHXĆ `pEc # "nT@ SOQKM*T`"i# # )# h)?z)ҀGQ)F@ @͢6ɢF@ @F@ @T# @I.#  SI =  SO =  LO = (*hXs(?#  MACRO (F000) C @`PF`pDc # C @`PI)%C *V;LJU /GJ :QT .W MN[Z 9D'A @ ``pDc # J 10# C @`Pu_ c # p)rHC @)" bbed1daS٠`r "` ςSΠaS p c r )c #  ps z *?tC @]` ]_ p]Č)ҀG)`+a]āI`C ]C U`IB ]ăc # C @ _ ^D] c@ UD@k{`"`#]^c # C @^]_^c # C @`P]Ia]` 0`I]C `C Ua]`٠] pă_ _]J]@c?SBI]I`pDc # I 00H # IUǠ1FU 10H# `Pe@p ÀAKKrQ@  I?`%5`C+`I 5'« 1A¤@`)DB)@><+ .%'# bUbV)օ5CU U# +(h%QnĤVS@6\SSY U+UHVNV0N3H# II00 V ͞ FI# )Q  Ă0)C A# A)" brEQIQ]cvbdK1ded@ J q# y D qJ # qz # H# [\ M?RAC @`@K'@``pBC`HARJk%`(C @`(C @U ``p'BDBc # # C @`p ĄBߠ1]QDĂ D@ďBDc # @ DĂ@ ď n*v GրXTOPQRKLMNT TrL,L)L(L=dIS "))҂SFX) b$τO K QMrL())rL+] GPORQLKNMT T2rJQWS€JҀGA)Ҁ6W RIdž "D L’) *?SAZ2BXsST#ZXÀHFڀr )2 b΀vÀtFϟXTQQAT KMX„Kr A)2 bsQrQu)8 bX+JQaހXK# @ B# @ KBM# @ # @ r # @ M)2 brr +LsNO*EA)2 bssQrwr*ߤB1X)2 blrXxfX1B(JR+9 b]-3AO# @ XB# @ OBQ# @ # @ QrL,JL HL+FL)<A)2 b6s# n) b) bO K QM GZrQmL=L(L+L,SJ: "))SŀgZQYD OƞJ„\ \ ϞYSЀJ ))Sڢ O¦rL()# ))ςSƢ bŠjZ1Z2*XSOZ3SISA?BJ# YZo bnnghS "fdJBIY# b bV WI# `"  # eP`pjP`ۢۄ* 5 'HӠĀAHHF))IPX)'IPT(PIPLIH)\IPD)QI@I<Ţp @)2 bsrQA CCCI  )# h%sLOZ5zhWZ4OCCISLm&Z ZI)DD\r +nTG 0 ĢJJr=BDEFINITIONS 0ERRORSONLY EXPANDMACROS0FALSECONDS @FIRSTONLY PFORMATSOURCE`IFSANDENDCS pLISTING ["LISTOBJECT LISTONPASS1 LISTSPACES MACRODEFS MACHINE  OBJECT PAGESIZE SAVE XADDRESSING 410 410A0430 @430AP490 `490Ap404 404A495 MAC ASM`" JF KI EIDIC@`K EIPDI CFQ+DFF)J%'+J`H}# GSX?JQC @1E`pLc Wc MAC..`"@@} L DJ+%'+DJSIC ` DĄIDFHDC @XNX`PU,K KꕀO6AKJ[ -3A# 555DsX5%)\IWQҢr Sڢl6E "0I U[ўc )# ?iSm SDD)ҀG)E6B՞ b͂Є b  VSAS P DE+DQEUU`p%Ec )# SǢDESEE+-E? πDDc )# @? wc )# %rXXZ4QQ^BZϢ S6E "0_U`D%'+D` ʟQI0LIğC @i` `(%'`( @1 pt)`pDc # # XhZ)@ Xׄۄ؄܄لaIȀd6I6I)@Qɞz)@eJQ)I)@eeL)@a)1!)@ wVV)@aĀXXNIII#  ( yp"[u | e )@1# _^# d/6C )@ s)Ä))@քڄdb b+ 1KVXāXLgsh f# 7ik@) 6FB(Ѐ(,4C @IX `+` 1YЁ@֨  @@mЁC@``pEB dc `+ `+ 1# yj# )Rd6ҀXXIQEȞIk@VZj# d6ҀX6XIIk@W[j# @I @ )@@I/@@œI )@I/# ! )() ()) )  **** GRAND-TOTALS **** ERRORS ( WARNINGS (})@edX@6,@6A,@6AX `Gt)@Y  # B Q۞ QXYX    )1Bʞ )1BŞ )1Lc # `  W±   |dO6 Gt )1 )1,6XYXK #  (4%$3),#"J"V#? y C @C AL "L &)@ VQNQ@I p @V1c # [ & Z   BLANK  0SEGMENTENDM + 4 MACENT *4 MACLAB +4 MACRO *4MACRO *4 XMACRO *4 XMACRO *4 ABS >  ASMDATE 7  BYTE )7  CHAN 5 8COMMENT 4  COMMON 4  DOUBLE ; " DPOOL *? *END n6 2ENDC 4 :EQU : B EXTR 4 J FLOATING; R HEAD 5 ZIFF <: bIFT :: j0INCLUDE n4 r INITY < z LINKDATE25  LOAD 4  LPOOL 6 MACHINE >  M4D12 i?   NAM 6 0NOTE _?  OBJECT .6  OBJNOTE ,6 OPTIONS > 0ORG > REL >  RES 7  ROMMABLE4 0SAVE 4 SET :  SEXT 4  SHARABLE4  SNAM 6 0SPACE  SYMATT  : "SYMVAL : * SYSTEM U< 2 TASK h4 : TASKEX 6 B TEMPLATE5 J0TITL 4 R WORD  7SIGNAL & bWAIT & jENTER &] rSCNTX \5 zFIELD  SFIELD  SEX &  NXTQUE & LCNTX \E DEQUEN &M DEQUE & ENQUEB  &= ENQUEA & GENECC & MOVE &} COPYU \ ECC & SEARCH  LOCATE = INSERT ] DELETE } ENT   HLT   NOP  RSK #  "UIS   *FIX R  2FLOAT R  :EXIT &m BFMT  JXNX   RSAL pf ZPUSH C  b POP c  kSIN  tAIB E |AIN  AOB e AOT % SST  COMP   CSN  NEG  IN  OUT  SELP  STRAP  UTRAP  ROTATE  SHIFT  CBIT  RBIT  SBIT  TBIT  JT  JF  JEQ  (JGE   0JGT  8JLE  @JLT  HJNE  PIJEQ  XIJNE  `JEQD  hJNED  pDMS Gg  xDMSE Gg  IMSE GG _ JSTE G' ? JMPE G  JSKE G ADDF G\ SUBF G\ MULF  G\ DIVF G\ CSKF G\ IMS  JST  JMP  JSK  CSM   CSME E  CSK  CSKB  CSKE D'?ADDC $SUBC C'?-ANDE C6ORE C'??XORE CHDIV QMUL Z ADDE C c SUBE C l CEA Cu AND ~ OR  XOR  ADD  &  SUB  &  ANDB  ORB  XORB  ADDB  SUBB  CLSN `EXCH EXCHB  EXCHE A COPY   COPYB  COPYE @  AY 5 AX > AQ   G P P L Y K b S k Y t Q } X  A  V Hc66YQA6t@ltXXV# '"V; YQ) 1i` lBIĆlB)1[Ćg* fg™hW8o“1’ # ***8,"D"k(9i#?%"u$3$I . '%'+U ' ` q rIlXX+U# &!a&6%$)RI̞IWIVk ' H)T*5Q|Nƀl  ,Y yVĀkB V# + ' # ' # +# mH%%}%"e,"DkQqWk# WWVXX eQkWGt# #?$3"k@L )1K6 l ky# kl%(2"M*"#?$3Y ]k%5'ji `# %$3k  y 1Ck ,p y# %"e*8$3' k HAml kWošo  , y GtXXk^# ,"D0#?&$3%"e*9  ny 1df  ,yk@jj힄Al C W8o.q'“ XX# %"e*8"k,"Dx#?&$3n^ VS)@` Ԟ lWXLX BA@A uvwj6X6Xe _^d6ÀXXdX6@Xi6A¡)@BqJBf””l)@#  (9,%$3"G"%,p(#&"ki#? `(BIdO6A )@A B@ B @d6A) GtA# %"G$33 o BHG6 rYmWlo# lhmǀqfr IfY Œy# ,(2"V'$3#?$gh:.  k@B BHqAlmA kJB@A XXmWloGtǀd6O6BB# ,(2"D%$3nC `) -u `j6G)@ ` a)@ 傢# e # %'+# C @Iak@Œdec # &!%%}"e%"Ja"$3/  y )1\6 , ykq) 6“klo XX# %"e*",**"kG#?$3 `^W # %$3(9QHIkdQAbWYQJl mq r oɢQC@ 4oQAGtDX=XWoo {k)@QBQ€@ $oGokQAbQɄd6I6I# +=-WY[Yl# l# l l#  '%O%},"V%"e$3 yiU HҀr Ξp  G6U@6Zq1ŀloh3B f1΀lh@6 lqo kGo6Qp@6p@<@ loh B@ NG oW” GtXX.# ,"M"k["D#?$3%     I@IWk V  )1A)1A6ꀁk݀WVlk@ LL   Le Þe   Le WJeLlk   D6AVkJASGWWXXV  ,_ V# G# %)*""x"M"n$3_,X|X6`L E Wd@/6U@ ,tLELW @L z `#  $3%%}!"q"%)(%) 'hDmAlC ,X@Xšf˜CLDA‘CClW# l# ,&%#?$3"De k@),4j `ek@ @@j# %$3*qAGtl*dd6AIoXY8XXlUQSIk@dj B3K)@ 䞇UFk@dj ## ,(2"D$3 E)) Go`  H1nIq@A@A@Lr @ @ @܀p/6@6@6@6@G6@|A@\I1B@l@l m tq r oG,(2U `)@oe 6A# %"\$3h  y )1F6 ,l y# %"e*"$3AlC W)@SBꞈ@6E@ @ꞁ# ,"D"\$3!  y )1O6yg 6A {# %"e*""kH#?$3*Y)ÀA)@`@") @h%'@h-B+*`H@`Hd@/6CI)@# `# &!%%$3 Hk =VAVDpp , y GtXXf# %%},[$%"e#c (@6@6H kCcIUWk # [}Q8Jfhj6'@[C @C @pVW # c@6@6I  r枎€〇p@O6pO6@UUrJQ̀p@O6pO6@ dU@MUrp@O6pO6@c@6DWWWWc c # !,_"h'L +# i+R+# pA# VllmmppqqrrnnV# ,"eU@6Ҟ@6ϞV #˞@ X.y G   0rcW@6G@6E@6Cc@6B# # RURՂVLpO6ƐWccWA VBGG# *+l WW# _,!pp"h"e,}]C @C @pV՞L 6Dr̞@6H@6BWWl1GWHn AUUcWc c # VllmmppqqrrnnV# ,!,"h_pO6€W@6F@6B# ,_!AlVr @ c@6V@6Dr@CSޞWV.'WR՞p@O6W؇W˞VlN1GWc@6B# #  !,,_"hQ*rV6CU֞UpO6ĀWWVR# WlN1GW# # !,_"hppֆQA# ,"e,6HpO6WA# ,"e_.@6g HJQBfCllo @w ?WWX@!2=!2<=!2=<!2>=!2=>!2<>!2oC @@@鞄C6B p܆c # ko Gj# KQ[ko)5jDCȞ *3+ bjVŒLL6B# L)orQPCQViKko)5fd VG1E G0/Ȟp6T `+oЀml$ G K ďjj# "kml# ml# QPQPQP @IQPLL# hi# cd# $^_# YZ# ڠmQ# mlP# l# L)oǀQPȞ@B 1Q 1I @ , lm1A&# P3B !I I5# N#  N # QP@IIIԂQAIlIm#  !Y!P!_!! d X!,!/!PG6# @I T wy6Dn6Cu# jr# "~wAăQPAQP ߄# Z6Đe# 6sĉ# C @C @ pU6ŀ4ą    ܉jD9Qc c # C @C @ p,QPNąQP@ą܃܉f'c c # "! C# p(܀ # %%}"e!LC AIC @X6)@@@&)@ `+ `+aF aVC pIăI)@c # # 1PAGE   SI =  SO =  LI = "'()b","DbGGGG G\G,GܞGlG̞GGG[`pBc # -&6%C @`1ǤZ\]Yjj )# %&%%&gBI` * )QGIY`֞I`) @Q8IQ3I @`Q.@(Z - )` `]j6TI '@IQ I`Is]jj `)QBIQQBI@ II | pĂc # %&d&!%})6)W&!C @I Td o6]]] K păc # %%}&6-C @`1ä]\\@*\d@o6̪]Rq ]UB4]y]-T)S]c # k%'ji#  &^&d ž.IV̞KL :%C 'oVA# &%))*%}&&' !jj6C @šðvQssąv`")%@ 0 9 *N9Qc # 00&C @L p%C  ']k%-S 'ji]T4c # &C @h)@BFhg@c # "&*C @)@¤⤠@k|`pE  ›I HC @•c `H%'`H+ Hqoc # #?'im'AJ'AI'AL'cO'co'AK@'AM@'AN@'w&h p+DBI1CD6L@A+*QIgc @``pE)`@1A+Cl, .r y p+@AC @A ` )@ %'4c C @`pLc # **&O#?'C @YLhl mfq r oc # Y‡ †y# 'gh#?'cC @ )1)ܤY1i     oC6Broрr @6EXD p܆c # lmqoA@ā֤G# l̀mɀ6q#  ḠG# )*"e"V(2 # {%"M(9oC @)GItXGXC @^1׀fhU{1ЀXX lqn rKUn Gtze ӀQ((K 6 6^ ^Ue lrqn GtD^e  #``pH`1I ^ ^c GtXc # $(2)(C @BqC `{Cc # )( _1G_19|^# )((_1M^1G/6Byw^1# (2( C @+ zc # ((C @@r yE)1yc # [( G.9 6$# )XܐX# XݐX# )C @)@NK0M9K15c # ()C BC C)@ G 6BY05VBI c #  d'()6C @ pIPQă Є I QP QP܃oc # %)!!P%})W(HP)IQ Q F A QPN.N.N.N.@hQ,PK # %)%}) Z A z a 9 0/`x@`x# )k@B1CBA*C Aj)# j# )C @@ h1Hk@`B DDMM`pDc # "),C @`k@AC¥)`H`H 5BK `@@qOI``pE1I`@ )`H`H5o`pEk@) 5c #  ))k@BBj# ) k@BBC{Bj# )C @ b+D`@A1111B11C11`pDc # *C @1 p1F `pDBc # ))*]**C @ b+D1DX@Q`pDc # *8"C @)1XHLXKĈIā@``pEk@IR)JRj)`pBDc # *)"*] `@ĂAăBĄCą`# *hC A`(+%', L - tc # V@I.@L sq* z `# # (*hcmj6PIlkm߄mj6ńlID6ςWXYXȞ Y)QC Y Ee k@@j)1I  Emj܄j]J]V] | CkFFk DE1Ać E1gkĆ,$3"V++"J#?%&d%%})*]+oE1Imj݄jYAa `\X؄Xd6Vj6B # )@ Gt`Zj@jmdXGUP cZ )c1MXXV# Ue I)1E6€UZ HCF ] n FFsCU (&(,))6`  AlWWJQH `RFXX # 1? ( :ӂP - :ӂ" )  H ΦpP0 @0B ¢%` h !}cF ¯⯂pP0/o M D B U G 4 E 4 0 0 ӟe 3}$I  ӂzӾ P AC Q@ X= Y:ԽѾ K3 L0 S- D* C'ԟK =ӟ{ } ӟ|" *ٽ҆ Y Q Gҽ؆ R ƜƘ™LBLCLFLLLSLJLILGLRȝ ǞF 9} Ğ|QEr , , `熂՟ _ٞ\ b} ` J B YK QJfߞւ cޡ @ޟޝ `@E ;߽RA@EN@Aޏǎ Qފ ,^:F& o*| x` D `枞oY*Qd Ѐ_Ѐ āZ@AĄ܃T B `ǁ D瞄*L_U3 `Ģ1*/) 'r "Bƽу۽ֽˁCā / XŃ ѽ۞i ]с߆@ڃ۽ցBǢ ,ž[ + - * X /KJƎߞ^ߞ[{ xނZ ,ş|˽с߆۽ޅ{ўu ,Žֆx@FC pqLL (w{u c|JQB_yľ߾ˆrpp| IƎQ ,ŽƇ ,ƂpIưk , ,Htr Hm -ņ -ņ߆;:\\ÂF -1tт-ڃ+Ԟx ’@"Fz@ Ό F ō lE#߆.bƝޙޖJQ!’ފދJQĽ %ӂԞu U B * ӂGo h fe "cIaM K Y&V&RR `QKL$kK N =ӂDD GӂA   :Ӟ ӟL ̟{ y9u    :w ³ 0C C 96C C " z a ࢅ0 `e •࢒C "C tC I6  Ă̈́0)llA) b_OQI1QRQ@ ^# y D^ # # H# EDT..C @`p ĄBؠ1VMDĂ  BDc # @ DĂď u(: # _L)H# .S I# lA) b`# :C @)KI ¯@bKc K)KKIĢ1FĀI P* `PC @)KI ‹@bKc K)KK# `TVhSC @C @u߄@Ac IOC @@`lkiK)@h@h5c C @@`kZK)@h@h5c C @@`OkLK )@h@h5c C%)I 0 z@(@(K+,,,, l@( .@(Kf@( =@(K`@( , +z'c #  Z1CA# M)# s5„QÄRA Bcʢ błb 00٢  ?рO )ڌ5U@ӘyLEL`VɄOP !0  0 ! 0MA 10# Vq @NyB.q@ S. )K  ,0ŢYAKZ1?GBAK DTP *** - ERROR IN RENAME --- CHECK FILES - *** ASM MAC BPL BDF FTN PAS CBL XLS BAS JCL TXT DOC MAN DAT ? b; b•SA)KIO)K ğSI=SAZ2 a ޢC @H1c C @+ .+% B E+'. +'. Ğ'c ɠ€)K ĞM ZbN)ͅ5kK D%kljkij .i'jCqOfHG؂  EŒD_ +`DTx„LttprLCnFj ͢gg_L(# [fK HGlAS b•SL=Al EACOGHC# 9Z3SO=V`"  # @P`pjP`jA`#I5eD¸gA´c]I_)KI[)>IWISp @) bl`_QA lkK C DEEj# EDIT (F100)QZ1Z2OCCILO 0BA_ +te DA )5_ZS,U`"JF K K1IELD CE D CMNyJFQ)K%}'+J`" DJ@#R%'+DICID)KJID`## C @`PބM8-3A# S)`pDc #  p)s)? )l)K J 00` Ğ CM  "0MM)A)FC @)LL1K`PNyQI b+ `pDc # SKg`C @ 5c ODGNM@`K/U@`Ktg@`Kh@`Kj_nÂI1 HHKHHQJ@QHHH]SdH)a F S Yi1HJ Qu kXhI1Y*H S1 Y SQiH F YjI1 L  t {9 dY b1A2 Z A+Q'@Qd @6 @ dh H HH ddcbdA 1A HH1 @6A9  G]SZZ]SZ][S +T ,A B D E 0FW CG I@ Lt AM@ N  O Q PR /SW VT UWYHZ ^%&ABC D0F@GPI`KpLNPRSVW ?.. ?..f > > > /6̠D_Jd/6IĀ̞^1(H G@ 0E^1 E4`pDc # 'd C D)QHF444 „V/c # )1< z z a Y# \C @Y )n1;c # C @PQ 6@h%)U@hV€@h 6644VBjKh'`pEd6ހP %@ VJ`HV€BA`HK`HV€`H 螂'hWPNVKQ`pFc # C @I`m p 6C1A ,``1 B $ C = E #  mGVm]`Q) `)IBDGN1BGNIJ1Ȅ`m ,)`m`pBCDc # C @6 k")%QC@ 4' pq@Q܆c # C @I% @'D)1Tc # Ce*7HWhz "4u *** DEVICE ERROR *** *** EDIT BUFFER FULL *** *** END OF FILE *** *** LINE # ERROR *** *** SYNTAX ERROR *** *** BUFFER CAPACITY ERROR *** *** BANK BUFFER EMPTY *** *** INVALID IN EDIT MODE *** *** INVALID IN CREATE MODE *** 123456789.123456789.123456789.123456789.123456789.123456789.123456789.12 BYTES AVAILABLE INPUT BUFFER LIMIT REACHED REQUESTED LINE # REACHED END OF FILE REACHED EDIT BUFFER EMPTY END OF DATA CURRENT GLOBAL OPTIONS = THESE ARE NOT VALID DELIMITERS: THESE ARE VALID ALPHANUMERIC DELIMITERS: LINE%  TRUNCATED TO 132 CHARACTERS LINE OVERFLOW ***ABORTED*** C @MC @TNI&I`pDc # C @ @Y) 1@@-*# ZpWx)@`pBDc # C A C @ VW C @1LY:X8 1DX.y 1V VC @`pEd6c c Ȟ1EV,*V\V*VEW+. A b`pC)`pDc # KC @DBȀJ̀@z BJ`pDc # NwC @N@*`pDFc # C @ D@ *@ { pĄc # &C @d )6\FN@*Id 6AI1РGF1D)1ʞ @ =a1ў))`pDc # C @C AfIFLfL@ AIIVDfNN1R4L VFLNÀI"N1D*5c # C @`pLPUA@h@h5c # C @N@#Q€_ ac # C @^)F%'`pE+E@@6 @}d 6Ơd 6 IJ^1R;E FF)`pDc # EF%+ |'*`pFE # C @ea@"@*{c # C @M@D@Tc # C @ CVW%QD@|+I+'`pECVC @IVW%qC*|2Bc # )c # _C @QPA*.% A+  @'`pEP k U)3`pB EU3`pEɤfPQiC @iQ`p Bc C @d@?6Fc U3ܞc U %'+. 6+ H@A`pEi@fQ kc # `pE kc # w<C @PU%@hD@hC'c # iQC @U% C+'`pDc # C @`pLi1d@LdZc # C @*%'6`pBC%'@6B~6A `pBDE*%'c # % `H `HE ,4'# ')(# C @fL@HI F @*&  Hf#mI CL(+`枅`@*m@ L FI FtIqmj p܆c # c )# mE7E4E5E3--E2E0$Y END OF DATA CURRENT GLOBAL OPTIONS = THESE ARE NOT VALID DELIMITERS: THESE ARE VALID ALPHANUMERIC DELIMITERS: LINE TRUNCATED TO 132 CHARACTERS LINE OVERFLOW ***ABORTED*** C @MC @TNI&I`pDc # C @ @Y) 1@@-*# ZpWx)@`pBDc # C A C @ VW C @1LY:X8 1DX.y 1V VC @`pEd6c c Ȟ1EV,*HH5 I@ȠH+3C͞*2ڂHH+.aLi'NiLNLNt tO# QG6EH Hy# ' + -## #  9 0 p܀# # I @ J # BH#  N # N# IQP# QP# ML# ML# !!P""!1/# # DJJLMI*y# DJJQ @IJLMI !+z# 2G2s2]"2^_BLMJ1ALMJ !I1K2F !IIILM* N 5I*G  JJA# K N G ΄N KMN G KG G# LKLMQML KZ# G NIG NN# !YRy JLMIPQ# QE .i|# N#  N # Q\*l6GV++ c*2F+3.a"JHJ I# ""mE7E4E5E3--E2E0 01m&***** PATCHED 80111315333725 ***** %@c V·°02m&***** PATCHED 80111315344325 ***** TndKJMcJx)  , + - * /1o1O1S1%%}11c)W111s1}1%1111"MJK !I I Qn3M4HIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII& IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIe;800609090555800609090555801114134041e@800609090555800609090555800609090555e:' 800609090555800609090555800609090555e800609090555800609090555800609090555800609090555800609090555800609090555e5h8006130941505080101500083975801015000839de9<8006090930110080060909302050800609093020deX0_8006090930237580060909303650800609093036d e*w8010150002267580101500023950801015000239d(  e8si8011141340095080111413402850801114134028d e>Z8006090931060080060909311000800609093110d eA  8006090931132580060909311875800609093118d eL.8006090931220080060909312975800609093129ded8006090931335080060909313975800609093139des;8006090931432580060909315250800609093152de) 68006090931557580060909320525800609093205deD>8006090932092580060909322650800609093226de8006090932300080060909323650800609093236de 8006090932400080060909324425800609093244de8010150006300080101500063800801015000638d* + , - . / 0 p. OS:: SYSEXEC:: SYSMTEX:: SYS EDIT SYS MACRO SYS PATCH SYS DEBUG SYS LABEL SYSGEN MACRTX MACIOS MACIOSD MACSFM MACOS4 MACEDIT HLPOVicEdDano0AORG RORG ADATA RDATA RES END %AEND  REND  SITfCIb 1 CMɃ=ƧăŇ:*t 0:L ':L :L !:L  :L  #:L ':L :PIJ*,  L.O7fgTVUW h:Z)^nU' k # K ! u F)ߛ=Cy@yX%'# d]WnfQGYX o#   :LI @%'KM(w 1:L 1:Lm&***** PATCHED YYMMDDHHMMSSQQ ***** 2%'߇# OCIJP< @yXl@j# fǰ,+,-,*,/ # XˢTC@N GHӒ SA Gnj[ # EÈQA Æ# K:?= 6:L/#  ~@I%C B'`(%C @'` Kof akA [Z ~+: vuOCli ":L ;@X=VTWUO%0 PATCH (E400)  INVALID HEX VALUE INVALID FILE NAME FILE NOT FOUND  INVALID COMMANDmE7E4E5E3--E2E0f80060909310600800609093109dOVicEdDano r }؞I:{Lxq\G}bqKcd T ( :Ԃ9 - :Ԃ" )  r ΦpP0 @0B ¢` h }cD ¯⯂pP0Oo X D B U G 4 E 4 0 0 ԟe 3} ԂzԾ P AC Q@ X= Y:սҾ K3 L0 S- D* C'՟K =ԟ{ } ԟ|" Ž *ڽӆ Y Q A T Gن R Ʀ M D V Wƚ›LBLCLFLLLSLJLILGLRLZ Ȟ8 +}ӆ{ӆu Ƃt P LƂj T P BƁ P Ԃ\ W H Tƅ Ş|QEI , , ` 6 _ڞ"Y?? #} ` J B YK QJfׂ ^ޡ @ޟޝ `@E ;RA@EN@Aޏǎ Qފ ,^$AY o){ w_ D `nX*Qc Ѐ^Ѐ āY@AĄ܃S B `ȁ D*K_U2 `Ţ0*.( &r o{5 M쇅 `Xh x} T C I U N S A ›PQI哢`@"ӟƠ -LlQłބMb 5}⼢ x C “KQGa@" qQłއށj Iސސސސ޳޳ ,Ӟ  }I迋t4]Np W¨KQGb@"ӑƒ qQł‹Ljޖj Uȝ '} AAw r} { yxwt “KQGEMNc@"JK qQłEBDAށj \ NI “KQG)56d@"23 qQł-*,)ށj @ S- “KQG e@" qQށj $ A "Bƽ҃ܽ׽́CŁ / Xƃ ҽܞi ]ҁ2 @ۃׁܽBǢ ,ž[ + - * X /KJƎ^[{ xނZ ,Ɵ| ׽L ΁ P ҁ۽ܽ޺{ ӽҞq kɆȂGާ}ަyޠ}y E ~  .ԃ E ~  .ޣރfN ,ƽ׆s@FC kqLL (w{u ^|JQBZy L S TҞNM  Isˆ_]]| IƎ> ,ƽƇ ,ƂpIưk , ,Htr Hm -Ɔׁ -Ɔ('\\F -t҂ۃ՞x ’@"Fz@ Ό F ƍ l o#.bƝޙޖJQ!’ފދJQŽ %Ԃ՞u U B * ԂGo h fe "cIaM K Y&V&RR `QKL$kK N =ԂDD GԂA   :Ԟ ԟL ̟{ y9u    :w ³ 0C C 96C C " z a ࢅ0 `e •C "C tC I6DÎA6PO6P6P 2 r F I Dҽlk Ԟx @9@@? R6A W CËˋJR>JKSB|ҝ  sB{ ӆvtrLDLELILRLWƖd ,ka%#!ņyĆxÆwpQAlýkL=\L>L:|öbL<L=L^]\Q HǞ wqqno = < > :bady C 1 =Ԃ C 2 =Ԃ C 3 =Ԃ M =ԃTܽҞH&ƽ׆ =FFEFCCE=:7&Ɠ5-Ɠ,&Ɠ$Q߇ƽ3 ? mE7E4E5E3--E2E0 s`z fZYya[ľ럄 Cԝ IOH0zr(E ` <;C TK@՝Ž Mԃ/՝ 6I6;6D6666""d "96=96"q "I6=I6"qOVicEdDanokSCRATCH Z1QZ1Q PZ1QZ1QPZ18Z13CIFICIF &  5 .  OS4 E4 00     VOL1OS4:MT    VOL   3  ; #M77&@8@Lz) p C;堁SCP߀ރpC ччׇտ F LUȿ Ȟo66 h6/aO6BYV 6: P ?L  ! )ᇛ݃ۃܿM* J jOCX l`lE:#ښIǨ\@6N  ÞW!QKþ  þ @ S ԞNZ1 MTDFDPDHI@Ny 06L4L8Ƀy A-L3ž*W  w I J 6D Iſ  oq jދz ?`x@ @`x# YI4W@Ny 0L1L5 L1 L5 L4 L8 L3 ǦǫǪǩǨGǥpN CpP8g6p0P i S c_^`\]JAIKI@ŽG G G<ʼANǹ G7G! AKdzSDz KN)G! AKǪBâ G%G! KǢ<7633ZDPDF@bjefghZ[  C @Jƃ#  ] ? c1E`pKCc #  J  !I@y4E@k4# 9 0N1@# F A  N1@# ^5/(# `   P+Q+R+S+T+_+` `]gE6A Y`3&C @ EIC  6 a6 a`x D`x c #  %| R\ q:zyxOCC @`pF+F*RJ+Uc #  Qs.+ y@JN<%'UmlIGk9 ?Aܢ׀@+kU+ԢjOS4:SCRATCHVOL  . / Ӿ@ ӻB+ުh   \ӢQH GAK *O JE  @ J`SX  +'n mp¿g*edk  ~|Zx%@ % '⠢Q[) bAjÕQ@INFLVLMY@)5SR $xOL Z A# # zGD # 9 0# #  :&: @G ➙A%J' '~ HЃژEy ѿ0I/y8%@'kI .%C AC U'ñSƂB⺞ⷿHǨⵢI %C @`(KC @`(JU'Ϳ 6 II9 JS :VO L1 jI\66C ɞ+ɃA:q IÓöÓ4 :6bC @C A6A  ţ7 c # `pF Fc # -S,H)' A6 iQR DH  I+9 6 I +8JRBK Qu W +9k9 Vx Q@C*ƞ* k J\ :Skj曃}{zyxJut.rCNn. lji `β@ uc%'I%C @'J%C @'ʟΟS"ΜʜTҙQ$җK1 G+K%C @'3>%'ΆʄR΂ʂW+: @֠Q@XQ+k6qAտ ݞ   $ Ȟ opAlA f ߟEiI[A J  jw:&::.CAk:.g`:6 |y ^ z a qpI+l~ N YĻI?@[nZ~ fOðo N Y[Z :  Σ  C܅qߋߌk  6R X SV + : nԶԇ҃ӶчтчC]łˇˇ˞ ZÃ::1OCI۞÷ǰǰõG @@AǮfçGGVߙ3GDϡS# ߙQ%GC!@D J j Q Ip  ] 3 o_\`C @g c # C @`pF+F)I@M JKK0%'95 ÿI  c #  IAѣqF8qq:XV rRS en  ooigegiekm  < 9+߆߆y:)TU  " , G 3b Ƕ fF: \ǩIGVߠ: RRShg:G:A:8 VQgRSYe + D+* nQ"!JI Ď Z Gą SGć GĈRSTYBχ ̓˓ 56: ۓ*,:σ'1كB k iegêN @AǨQF~}ߢz: {p1rDPeDFihTU  l W}!óN Bp éWG Ǥ# S. P*5# ƪ| : b rq ~+: b}vuRQS] `CI ~+: w}vuSL ~Ǡ|{y:>@y 15N%' ^+ % K4'^3BCD%> ,) G`G!GV# . *@@5# G!Ɵ ߹BYĀ # ]q p #  ~})Ñ@*+xr g +TUi ` J Ì pG!G7V߂ǂ# QR ~Gݣy G-G,@AX lkPkj:GcUIv _^]}{ ~ y ut݄Ć e  (& %"#A܆܄@B B kkƅ+ @B B++q+q+q CJ G Ć :ST 3 5  2@1N9 B N N Ā# @1N9 B N N Ā#  ^!Zz Gvvu ~ hEG`VߓǑ:::M:nm]\VeRQ + 6 ~}|{zUF@+kUsr LABEL (E400)  ENTER UNIT NAME> ENTER VOLUME NAME>$ OLD IDENTIFIERS ON THIS UNIT ARE-  VOLUME NAME: TITLE:6 TO CONTINUE LABELING, TYPE IN THE OLD VOLUME NAME -  UNUSABLE DISC  LABEL MORE? (Y OR N)>  VERIFY DISC? (Y OR N)>  DISC VERIFY IN PROGRESS  NEW BOOT ONLY (Y OR N)?  VOLUME NAME DOES NOT MATCH THE TOTAL NUMBER OF BAD AUS = RENAME VOLUME ONLY (Y OR N)?  ENTER THE DISC SIZE IN MB>& ADDITIONAL MEMORY REQUIREMENTS ARE: < FORMAT ONLY, FORMAT AND LABEL OR LABEL ONLY (F, FL, [L])?  RETRY OR EXIT (R,X)>. UNRECOVERABLE I/O ERROR. CONTROLLER STATUS=  DISC FORMAT IN PROGRESS 2 FORMAT ON FLOPPYS ARE NOT ALLOWED AT THIS TIME.  CONTINUE LABEL (Y OR N)?2 W A R N I N G --- TRYING TO LABEL SECURE TAPE.6 MAGNETIC TAPE...LABEL IN PROGRESS...STAND BY PLEASE.: ENTER AN ACCESS SECURITY CODE (A..Z , 0..9 , OR BLANK)> F UN-LABELED OR NON-STANDARD LABELED TAPE. LABEL THIS TAPE (Y OR N)? $ ONE MOMENT PLEASE FOR TAPE ACCESS.0 OVERRIDE VERIFICATION OF VOLUME NAME (Y OR N)? MAXIMUM NUMBER OF FILES[:  ]  NOT A HEX NUMBER - RE-ENTER  SYNTAX ERROR UNIT NOT FOUND I/O ERROR  TOO MANY BAD AUS4 INSUFFICIENT STACK SPACE AVAILABLE FOR VCB BUFFER. -K- REGISTER = -L- REGISTER =4 INSUFFICIENT MEMORY AVAILABLE TO FORMAT ONE TRACK. DEVICE NOT READY! RATE ERROR ON SELECTED DEVICE." FAULT ERROR ON SELECTED DEVICE. $ UNIT SELECTED IS WRITE PROTECTED. F I/O FAILS RE-TRY COUNT. DATA TRANSFER FROM/TO DEVICE IS UNREADABLE. FORMAT ON MAGTAPE NOT ALLOWED.& TO CONTINUE LABEL ENTER ACCESS CODE>( 'OC' NOT FOUND IN UAT...ABORTING LABEL0 'OC' NOT CONNECTED PROPERLY....ABORTING LABEL C @ ¢ X H N 6 ā BGąc # 5`Ps@pz@cjp`n G G!RPC@ Gƅ  p\p# ; j J ^@G܀ A+B G@Ag;]X] PhV+s=胾c_N GF֞ؾ “@ALS)"$ C k1/j-h p vRw ppwp ki 15 !6 ^\d X %'+Ns愾Q)s ED|{ @$ o O m J K i g. V tsFn`"FED) E`Cnrgy w"N{Rq1H }L2`0tG- Bc (>===< G:P@ G=NPCHC C GTqn/I iޞU * Cןx @0DAJL )ЀЀ΍QAy"  i+ fC@ `j_NQRSTTIITSSJISRIN# B# A@6<@6Y # B|  vH@pɾv g.g+iXi Phb+s=胾c_Z SRמؾ ¡@AvLS)"$ C j<:j8h p y0Rw kkos rp  15 !YW\ f %'+\s愾I)s SR|{ @$ o O m J K i g< V tsFn`"FED) E`Cnrgy w"N!{Rq1H|L2`0tG- Bc (>=0 #(1,2,A::) Q:: SET #(2)-1 DUP #(1),Q:: ENDC ENDM TITL .... S Y S T E M S E R V I C E C A L L M A C R O ** MACRO: * GENERATE A CALL TO A SYSTEM SERVICE THROUGH THE DOOR * * CALLING SEQUENCE: (LABEL) * SERVICE NAME = NAME OF SYSTEM SERVICE * PBA = PARAMETER BLOCK ADDRESS (CALL DEPENDENT) * THE PBA MAY BE ANY VALID M4D12 ADDRESS OR * ANY DIRECT OR INDIRECT UNINDEXED ADDRESS ** SPACE 2 F:CFNO MACRO F:CFNO/26 F:CONN MACENT F:CONN/24 F:CREA MACENT F:CREA/22 F:DELE MACENT F:DELE/23 F:DMNT MACENT F:DMNT/29 F:MONT MACENT F:MONT/25 * I:IO MACENT I:IO/7 I:LOAD MACENT I:LOAD/30 I:LD410S MACENT I:LD410S/31 I:OVL MACENT I:OVL/35 * R:ABUF MACENT R:ABUF/13 R:AWAL MACENT R:AWAL/17 R:BGIN MACENT R:BGIN/3 R:CINT MACENT R:CINT/8+:8000 R:CTIC MACENT R:CTIC/19 R:CWAL MACENT R:CWAL/21 R:DBUG MACENT R:DBUG/0+:8000 R:END MACENT R:END/4+:8000 R:GATD MACENT R:GATD/27 R:GPRI MACENT R:GPRI/6+:8000 R:GTOD MACENT R:GTOD/16+:8000 R:ITIC MACENT R:ITIC/11 R:IWAL MACENT R:IWAL/18 R:MTIC MACENT R:MTIC/20 R:PAUS MACENT R:PAUS/12 R:RECV MACENT R:RECV/10 R:RBUF MACENT R:RBUF/14 R:SATD MACENT R:SATD/28 R:SEND MACENT R:SEND/9 R:SIG MACENT R:SIG/1 R:SPRI MACENT R:SPRI/5 R:STOD MACENT R:STOD/15+:8000 R:WAIT MACENT R:WAIT/2 R:AFB MACENT R:AFB/32+:8000 R:RFB MACENT R:RFB/33 R:EX MACENT R:EX/34 * * * X: SET #(0,'/')-1 LOAD #(0,1,X:) X: SET X:+2 Y: SET #(0,X:,30) IFT #(1,?) S: SYMATT #(1) X: SET NXBT:++PNXBT:**S:=0 X: SET INDBT:**S:<>0+X:*X://13 ENDC IFF #(1,?) X: SET Y:**:8000//-14--3//13  ENDC * WORD Y:**:00FF++:1A00++X: STRAP INSTRUCTION IFT X: IFT #(1,?) WORD #(1,) DIRECT OR INDIRECT UNINDEXED PARA9 METER ENDC IFF #(1,?) WORD 0 NO PARAMETER ENDC ENDC IFF X: M4D12 #(1) M4D12 PARAMETER ENDC * IFF \Y://-15**:00000001=#(?) NOTE E,'INCORRECT NUMBER OF PARAMETERS' ENDC ENDM SPACE 3 SAVE END INDIRECT UNINDEXED ADDRESS  TITL RTX.MAC - RTX USER EQUATES & MACROS (93420-11-E100) TITL .... C O N T E N T S *************** * * * RTX.MAC * * * *************** * * MISCELLANEOUS EQUATES * EDB EXCEPTION VECTOR EQUATES * BGIN:(A) MACRO * ECB:(A) MACRO * EDXVT:(A) MACRO * INIT:(A) MACRO * MAIL:(A) MACRO * MDB:(A) MACRO * SINGL: MACRO * SDB:(A) MACRO * TDB:(A) MACRO * TICK:(A) MACRO * WALL:(A) MACRO TITL .... M I S C E L L A N E O U S E Q U A T E S * SYSTEM FREE POOL BLOCK SIZE * BLKSZ: EQU 12 (DUPPED IN RTXD.MAC) * * INTERNAL BLOCK CHECK VALUE EQUATES * IN:CHK EQU :F00E INIT CHECK VALUE (IN IN:AID) TD:CHK EQU :F01E TDB CHECK VALUE (IN TD:CKW) AC:CHK EQU :F02E ACB CHECK VALUE (IN AC:CKW) SD:CHK EQU :F03E SDB CHECK VALUE (IN SD:CKW) CC:CHK EQU :F04E CCB CHECK VALUE (IN CC:CKW) EC:CHK EQU :F06E ECB CHECK VALUE (IN EC:CKW) MD:CHK EQU :F07E MDB CHECK VALUE (IN MD:CKW) UA:CHK EQU :F09E UAT CHECK VALUE (WORD 0) (DUPPED IN IOS.MAC) TITL .... E D B E X C E P T V E C T O R E Q U A T E S * EDB EXCEPTION VECTOR EQUATES * * THE FOLLOWING XV:????? EQUATES SPECIFY LOCATIONS IN THE * EXCEPTION VECTOR OF THE ENVIRONMENT DESCRIPTOR BLOCK * XV:UINTP EQU :0 UNIMPLEMENTED INSTRUCTION TRAP XV:MEMTP EQU :1 MEMORY EXCEPTION TRAP XV:CNMTP EQU :2 CHARACTER/NUMERIC EXCEPTION TRAP XV:USRTP EQU :3 USER TRAP XV:AERTP EQU :4 ARITHMETIC EXCEPTION TRAP XV:STKTP EQU :5 STACK EXCEPTION TRAP XV:STKSV EQU :6 STACK EXCEPTION REGISTER SAVE AREA XV:USTEX EQU :8 UNIMPLEMENTED STRAP EXCEPTION XV:ST0EX EQU :9 STRAP 0 EXCEPTION XV:DOREX EQU :A DOOR SERVICE EXCEPTION XV:RTXEX EQU :B RTX SYSTEM ERROR * * STACK EXCEPTION REGISTER SAVE AREA EQUATES * STKSV:A EQU 0 A REGISTER SAVE AREA STKSV:Q EQU 1 Q REGISTER SAVE AREA STKSV:X EQU 2 X REGISTER SAVE AREA STKSV:Y EQU 3 Y REGISTER SAVE AREA TITL .... B G I N : ( A ) M A C R O ** MACRO: BGIN: & BGIN:A * GENERATE A PARAMETER BLOCK FOR AN R:BGIN CALL * * CALLING SEQUENCE: LABEL BGIN:(A) TASK,PRI * BGIN:(A) LABEL,TASK,PRI (ARCHAIC) * LABEL = ADDRESS OF PARAMETER BLOCK * TASK = ADDRESS OF TDB * PRI = TASK PRIORITY ** SPACE 2 BGIN: MACRO BGIN:A MACENT P: SET 2 L: SET #(?) IFF #(-1,?) L: SET L:-1 #(1) BGIN:: #(2),#(3) ENDC * BGIN:: MACENT IFT #(-1,?) WORD #(1) TCB ADDRESS WORD #(2) PRIORITY IFF L:=P: NOTE E,'INCORRECT NUMBER OF PARAMETERS' ENDC ENDC ENDM TITL .... E C B : ( A ) M A C R O ** MACRO: ECB: & ECB:A * GENERATE AN ENVIRONMENT CONTROL BLOCK * * CALLING SEQUENCE: LABEL ECB:(A) UAT,(PEADD),(MPADD,MPLEN) *  ECB:(A) LABEL,UAT,(PEADD),(MPADD,MPLEN) (ARCHAIC) * LABEL = ADDRESS OF PARAMETER BLOCK * UAT = ADDRESS OF UNIT ASSIGNMENT TABLE * PEADD = ADDRESS OF END OF PROGRAM * MPADD = USER SPECIFIED MEMORY POOL ADDRESS * : MPLEN = USER SPECIFIED MEMORY POOL LENGTH ** SPACE 2 ECB: MACRO MACLAB ECB:A MACENT MACLAB P: SET 1 L: SET #(?) IFF #(-1,?) L: SET L:-1 #(1) ECB:: #(2),#(3),#(4),#(5) ENDC * ECB:: MACENT MACLAB IFT #(-1,?) LPOOL O: SET $ SHARABLE TABLE: TABLE: REL #(-1) NAM #(-1) CHAN R:ECBL ED:PER - PEER LINK WORD 0 EC:FLG - FLAG WORD WORD #(-1) EC:EDB - ENVIRONMENT DESCRIPTOR BLOCK WORD 1 EC:LUS - LUN SEMAPHORE (ALIAS EC:PRV) RES 2,0 WORDS 4-5 RESERVED WORD 0 EC:CNT - NUMBER OF ACTIVITIES WORD 0 EC:ALH - ACB LIST HEAD WORD 0 EC:SUB - SUBORDINATE LIST HEAD WORD 0 EC:MST - MASTER ENVIRONMENT WORD 0 EC:NEC - NECESSARY ENVIRONMENT WORD EC:CHK EC:CKW - CHECK WORD WORD 16 ED:EVO - EXCEPTION VECTOR OFFSET WORD 48 ED:MRO - MAP REGISTER OFFSET RES 2,0 WORDS 14-15 RESERVED RES 16,0 ED:EVT - EXCEPTION VECTOR TABLE WORD #(1) ED:UAT - UNIT ASSIGNMENT TABLE WORD 0 ED:LMA - LOW MEMORY ADDRESS IFT #(2,?) P: SET P:+1 ENDC IFT #(2,?) WORD #(2) ED:MPA - USER SPECIFIED MEMORY POOL ADDRESS ENDC IFF #(2,?) WORD 0 ED:MPA - DEFAULT MEMORY POOL ADDRESS ENDC WORD 0 ED:HMA - HIGH MEMORY ADDRESS WORD 0 ED:EUS - ENVIROMENT USAGE SEMAPHORE WORD :7FFF ED:PRI - MAXIMUM PRIORITY HEAD R:TDBL ED:TLH - TASK LIST HEAD HEAD R:SL ED:SLH - SEMAPHORE LIST HEAD HEAD R:MBXL ED:MLH - MAILBOX LIST HEAD WORD #(3)+0 ED:UMPA - USER MEMORY POOL ADDRESS WORD #(4)+0 ED:MPL - USER MEMORY POOL LENGTH IFT #(3,?)+#(4,?) P: SET P:+2 IFF #(3,?) NOTE E,'MUST SPECIFY MEMORY POOL ADDRESS' ENDC IFF #(4,?) NOTE E,'MUST SPECIFY MEMORY POOL LENGTH' ENDC ENDC RES 1,0 WORD 43 IS RESERVED RES 1,0 NUMBER OF TASK ACTIVITY RES 1,0 TDB OF INITIAL TASK RES 1,0 PRIORITY OF INITIAL ACTIVITY RES 1,0 ID OF INITIAL ACTIVITY RES 1,0 MAP OF REGISTER TABLE IFF L:>=P: NOTE E,'INCORRECT NUMBER OF PARAMETERS' ENDC ORG O: ENDC ENDM TITL .... E D X V T : ( A ) M A C R O ** MACRO: EDXVT: & EDXVT:A * GENERATES ENTRIES IN THE EXCEPTION VECTOR TABLE OF THE EDB * THE EXCEPTION ADDRESS SPECIFIED WILL BE JUMPED TO IF THE *  SPECIFIED EXCEPTION OCCURS * * CALLING SEQUENCE: EDXVT:(A) ECB,EXCEPT,EXPADD * * ECB = ADDRESS OF ENVIRONMENT CONTROL BLOCK * EXCEPT = EXCEPTION VECTOR OFFSET * EXPADD = ADDRESS OF EXCEPTION PROCESSOR * * NOTE: CALLS TO THIS MACRO MUST ALL FOLLOW THE CALL TO THE ECB:(A) * MACRO ** SPACE 2 ED:EVT EQU 16 EXCEPTION VECTOR TABLE (DUPPED IN RTXD.MAC) * EDXVT: MACRO EDXVT:A MACENT P: SET 3 * LPOOL O: SET $ SAVE LOCATION COUNTER ORG #(1)+ED:EVT+#(2) ORG INTO EDB WORD #(3) INSERT EXCEPTION PROCESSOR ADDRESS ORG O: ORG BACK TO WHERE WE WERE IFF #(?)=P: NOTE E,'INCORRECT NUMBER OF PARAMETERS' ENDC ENDM TITL .... I N I T : ( A ) M A C R O ** MACRO: INIT: & INIT:A * GENERATE AN ENVIRONMENT INITIALIZATION BLOCK * * CALLING SEQUENCE: * INIT:(A) AR,QR,XR,YR,ECB,TDB,PRI,(FPAMT,(FPADD)), *  (EMADD) * * AR = INITIAL CONTENTS OF A REGISTER * QR = " " " Q " * XR = " "  " X " * YR = " " " Y " * ECB = ADDRESS OF ENVIRONMENT CONTROL BLOCK * TDB = ADDRES; S OF TASK DESCRIPTOR BLOCK * PRI = PRIORITY OF TASK ACTIVATION * FPAMT = AMOUNT OF FREE POOL SPACE (WORDS) * FPADD = ADDRESS OF FREE POOL * EMADD = ADDRESS OF TOP OF MEMORY ** SPACE 2 INIT: MACRO INIT:A MACENT LPOOL O: SET $  SHARABLE TABLE: TABLE: REL P: SET 7 LOAD RTX: R:INIT NAM R:INIT WORD #(1) IN:A - INITIAL A REGISTER WORD #(2)  IN:Q - INITIAL Q REGISTER WORD #(3) IN:X - INITIAL X REGISTER WORD #(4) IN:Y - INITIAL Y REGISTER WORD #(5) IN:ECB - ECB ADDRESS WORD #(6) IN:TDB - TDB ADDRESS WORD #(7)**:7FFF IN:PRI - INITIAL ACTIVITY PRIORITY WORD IN:CHK IN:AID - CHECK WORD * IFT #(8,?) WORD #(8) IN:FPL - USER SPECIFIED FREEPOOL LENGTH P: SET P:+1 ENDC IFF #(8,?) WORD BLKSZ:*4 IN:FPL - DEFAULT FREEPOOL LENGTH ENDC * A: SET #(9,?) DEFAULT FPADD IF NOT SPECIFIED... IFT A:=1 OR IF '0' SPECIFIED A: SET '##(9)'<>'0' ENDC IFT A: WORD #(9) IN:FPA - USER FREE POOL ADDRESS Y: SET 0 P: SET P:+1 IFF #(8,?) NOTE E,'MUST SPECIFY AMOUNT OF FREE POOL = #(8)' ENDC ENDC IFF A: Y: SET BLKSZ:*4 S: SYMATT #(8) IFF S:**:0040 IF FPAMT NOT NULL... IFT S:=:8000 IF FPAMT IS ABSOLUTE... Y: SET #(8) ENDC IFF S:=:8000 IF FPAMT IS SOMETHING ELSE... NOTE E,'FPAMT MUST BE ABSOLUTE IF FPADD IS DEFAULTED' Y: SET 0 ENDC ENDC WORD $+2 IN:FPA - DEFAULT FREE POOL ADDRESS (AFTER INIT BLOCK) ENDC * IFT #(10,?) P: SET P:+1 WORD #(10) IN:EOM - USER SPECIFIED END OF MEMORY ADDRESS ENDC IFF #(10,?) WORD 0 IN:EOM - DEFAULT END OF MEMORY ADDRESS ENDC * IFT Y: RES Y:,:8080 RESERVE DEFAULT FREE POOL ENDC * IFF #(?)>=P: NOTE E,'INCORRECT NUMBER OF PARAMETERS' ENDC ORG O: ENDM TITL .... M A I L : ( A )  M A C R O ** MACRO: MAIL: & MAIL:A * GENERATE A PARAMETER BLOCK FOR MAILBOX SERVICES * * CALLING SEQUENCE: LABEL MAIL:(A) BOXID,(ENVID) * MAIL:(A) LABEL,BOXID,(ENVID) (ARCHAIC) * LABEL = ADDRESS OF PARAMETER BLOCK * BOXID = MAILBOX IDENTIFIER * ENVID = ENVIRONMENT IDENTIFIER ** SPACE 2 MAIL: MACRO MAIL:A MACENT P: SET 1 L: SET #(?) IFF #(-1,?) L: SET L:-1 #(1) MAIL:: #(2),#(3) ENDC * MAIL:: MACENT IFT #(-1,?) IFT #(2,?) P: SET P:+1 ENDC WORD #(2)+0 ENVIRONMENT IDENTIFIER WORD #(1) MAILBOX IDENTIFIER IFF L:>=P: NOTE E,'INCORRECT NUMBER OF PARAMETERS' ENDC ENDC ENDM TITL .... M D B : ( A ) M A C R O ** MACRO: MDB: & MDB:A * GENERATE A MAILBOX DESCRIPTOR BLOCK * * CALLING SEQUENCE: (LABEL) MDB:(A) BOXID,(ENVID) * * BOXID = MAILBOX IDENTIFIER * ENVID = ENVIRONMENT IDENTIFIER ** SPACE 2 MDB: MACRO MACLAB MDB:A MACENT MACLAB LPOOL O: SET $ SHARABLE TABLE: TABLE: REL P: SET 1 IFT #(-1,?) NAM #(-1) ENDC #(-1) CHAN R:MBXL MD:PER - PEER LINK WORD 0 MD:FLG - FLAG WORD WORD 1 MD:MBX - MAILBOX USAGE SEMAPHORE WORD 0 MD:MSG - MESSAGE SIGNALLING SEMAPHORE DOUBLE 0 MD:A,MD:Q - 32-BIT MESSAGE RES 3,0 WORDS 6-8 RESERVED IFT #(2,?) P: SET P:+1 ENDC WORD #(2)+0 MD:ECB - ENVIRONMENT IDENTIFIER WORD #(1) MD:ID - MAILBOX IDENTIFIER WORD MD:CHK MD:CHW - MDB CHECKWORD IFF #(?)>=P: NOTE E,'INCORRECT NUMBER OF PARAMETERS' ENDC ORG O: <  ENDM TITL .... S I N G L : M A C R O ** MACRO: SINGL: * GENERATE A CANNED INIT BLOCK AND TASK DESCRIPTOR BLOCK, * (USER'S ECB MUST BE CALLED R:ECB1) * * CALLING SEQUENCE: (LABEL) SINGL: EXADD,STAMT,STREG * EXADD = EXECUTION ADDRESS OF INITIAL TASK * STAMT = AMOUNT OF STAMT TO ALLOCATE * STREG = INITIAL STATUS REGISTER ** SPACE 2 SINGL: MACRO EXTR R:ECB1 P: SET 3 INIT: 0,0,0,0,R:ECB1,R:TSK1,100,4*BLKSZ: R:TSK1 TDB:A #(1),0,R:STK1,#(2),#(3) R:STK1 RES #(2),0 LOAD UAT:S IFF #(?)=P: NOTE E,'INCORRECT NUMBER OF PARAMETERS' ENDC ENDM TITL .... S D B : ( A ) M A C R O ** MACRO: SDB: & SDB:A * GENERATE A SEMAPHORE DESCRIPTOR BLOCK * * CALLING SEQUENCE: LABEL SDB:(A)  (VALUE),(FLAGS) * SDB:(A) LABEL,(VALUE),(FLAGS) (ARCHAIC) * LABEL = ADDRESS OF SEMAPHORE DESCRIPTOR BLOCK * VALUE = INITIAL VALUE OF SEMAPHORE (0 <= VALUE <= 255) * FLAGS = INITIAL VALUE OF FLAGS (NONE CURRENTLY DEFINED) ** SPACE 2 SDB: MACRO MACLAB SDB:A MACENT MACLAB P: SET 0 L: SET #(?) IFF #(-1,?) L: SET L:-1 #(1) SDB:: #(2),#(3) ENDC * SDB:: MACENT MACLAB IFT #(-1,?) LPOOL O: SET $ SHARABLE TABLE: TABLE: REL CHAN R:SL SD:PER - PEER LINK IFT #(1,?) P: SET P:+1 ENDC IFT #(2,?) P: SET P:+1 ENDC WORD #(1)+0++#(2)+0 SD:FLG - FLAGS & INITIAL VALUE NAM #(-1) #(-1) WORD #(1)+0 SD:SEM - VALUE FOR WAITING TASK WORD SD:CHK SD:CKW - SDB CHECKWORD IFF L:>=P: NOTE E,'INCORRECT NUMBER OF PARAMETERS' ENDC ORG O: ENDC ENDM TITL .... T D B : ( A ) M A C R O ** MACRO: TDB: & TDB:A * GENERATE A TASK DESCRIPTOR BLOCK * * CALLING SEQUENCE: * LABEL TDB:(A) EXADD,YSCRA,STACK,STAMT,(FLAGS),(COACT),(SEMA4) * TDB:(A) LABEL,EXADD,YSCRA,STACK,STAMT,(FLAGS),(COACT), * (SEMA4) (ARCHAIC) * * LABEL = ADDRESS OF TASK DESCRIPTOR BLOCK * EXADD = EXECUTION ADDRESS * YSCRA = AMOUNT OF Y-SCRATCH TO ALLOCATE * "*" INDICATES MULTI-TASKING TEMPLATE EXPANSION * STACK = ADDRESS OF STACK * STAMT = AMOUNT OF STACK TO ALLOCATE * FLAGS = NONE DEFINED * COACT = NUMBER OF CONCURRENT EXECUTIONS * SEMA4 = CONCURRENCY SEMAPHORE ADDRESS (MUST BE SET AT RUNTIME) ** SPACE 2 TDB: MACRO MACLAB TDB:A MACENT MACLAB P: SET 4 L: SET #(?) IFF #(-1,?) L: SET L:-1 #(1) TDB:: #(2),#(3),#(4),#(5),#(6),#(7),#(8) ENDC * TDB:: MACENT MACLAB IFT #(-1,?) LPOOL O: SET $ SHARABLE TABLE: TABLE: REL #(-1) NAM #(-1) IFT #(5,?) P: SET P:+1 ENDC CHAN R:TDBL TD:PER - PEER LINK IFF #(2,?)=1&#(2,'*') IF NO MULTI-TASKING WORD 0 TD:FLG - FLAG WORD ENDC IFT #(2,?)=1&#(2,'*') IF MULTI-TASKING WORD :8000 TD:FLG - MULTI-TASKING BIT SET ENDC A: SET 1 DEFAULT CONCURRENT EXECUTIONS IFT #(6,?) A: SET #(6) USER SPECIFIED CONCURRENT EXECUTIONS P: SET P:+1 ENDC IFT #(7,?) WORD #(7) TD:USA - USER SPECIFIED CONCURRENCY SEMAPHORE ADDRESS P: SET P:+1 ENDC IFF #(7,?) WORD $+6 TD:USA - DEFAULT CONCURRENCY SEMAPHORE ADDRESS ENDC WORD A: TD:NOX - CONCURRENT EXECUTIONS IFF #(2,?)=1&#(2,'*') IF NO MULTI-TASKING WORD #(2)+0 TD:Y - Y SCRATCHPAD ALLOCATION ENDC IFT #(2,?)=1&#(2,'*') IF MULTI-TA= SKING TASK #(-1) DECLARE TASK TEMPLATE #(-1) TD:Y - POINTER TO TEMPLATE LOAD R:TMPL TEMPLATE PROCESSOR ENDC WORD #(3)+0 TD:AD - STACK ADDRESS WORD #(4) TD:AMT - STACK ALLOCATION WORD #(1) TD:P - EXECUTION ADDRESS WORD A: TD:CSA - DEFAULT CONCURRENCY SEMAPHORE RES 2,0 WORDS 9-10 RESERVED WORD TD:CHK TD:CKW - TDB CHECKWORD IFF L:>=P: NOTE E,'INCORRECT NUMBER OF PARAMETERS' ENDC ORG O: ENDC ENDM TITL .... T I C K : ( A ) M A C R O ** MACRO: TICK: & TICK:A *  GENERATE A PARAMETER BLOCK FOR TICK CLOCK SERVICES * * CALLING SEQUENCE2 * LABEL TICK2(A) TIMAD,SEMA4,TICKS,(ENVID) * TICK:(A) LABEL,TIMID,SEMA4,TICKS,(ENVID) (ARCHAIC) * * LABEL = ADDRESS OF PARAMETER BDOCK * TIMID = TIMER IDENTIFIER * SEMA4 = ADDRESS OF SEMAPHORE * TICKS = TICK COUNT * ENVID = ENVIRONMENT IDENTIFIER ** SPACE 2 TICK: MACRO TICK:A MACENT P: SET 3 L: SET #(?) IFF #(-1,?) L: SET L:-1 #(1) TICK:: #(2),#(3),#(4),#(5) ENDC * TICK:: MACENT IFT #(-1,?) IFT #(4,?) P: SET P:+1 ENDC WORD #(4)+0 ENVIRONMENT IDENTIFIER WORD #(1) TIMER IDENTIFIER WORD #(2) SEMAPHORE WORD #(3) TICK COUNT IFF L:>=P: NOTE E,'INCORRECT NUMBER OF PARAMETERS' ENDC ENDC ENDM TITL .... W A L L : ( A ) M A C R O ** MACRO: WALL: & WALL:A * GENERATE A PARAMETER BLOCK FOR WALL CLOCK SERVICES * * CALLING SEQUENCE: * LABEL WALL:(A) TIMID,SEMA4,HITOD,LOTOD,(ENVID) * WALL:(A) LABEL,TIMID,SEMA4,HITOD,LOTOD,(ENVID) (ARCHAIC) * * LABEL = ADDRESS OF PARAMETER BLOCK * TIMID = TIMER IDENTIFIER * SEMA4 = ADDRESS OF SEMAPHORE * HITOD = HI-ORDER TIME OF DAY * LOTOD = LO-ORDER TIME OF DAY * ENVID = ENVIRONMENT IDENTIFIER ** SPACE 2 WALL: MACRO WALL:A MACENT P: SET 4 L: SET #(?) IFF #(-1,?) L: SET L:-1 #(1) WALL:: #(2),#(3),#(4),#(5),#(6)  ENDC * WALL:: MACENT IFT #(-1,?) IFT #(5,?) P: SET P:+1 ENDC WORD #(5)+0 ENVIRONMENT IDENTIFIER WORD #(1) TIMER IDENTIFIER WORD #(2) SEMAPHORE ADDRESS WORD #(3) HI-ORDER TIME OF DAY WORD #(4) LO-ORDER TIME OF DAY IFF L:>=P: NOTE E,'INCORRECT NUMBER OF PARAMETERS' ENDC ENDC ENDM SPACE 3 SAVE END S OF PARAMETER BDOCK * TIMID = TI TITL I O S . M A C - IOS GENERAL EQUATES & MACROS (93420-13-E100) TITL ..... CONTENTS ******************* *  * * IOS.MAC * * * ******************* * * UAT:AA MACRO * UAT:EE MACRO * UAT:ZZ MACRO *  BUF:R MACRO * IOB:A MACRO * IOB EQUATES * IOU: MACRO * IOR: MACRO * I/O ERROR BLOCK EQUATES * I:LOAD PARAMETER BLOCK (LOAD:) EQUATES * LOAD: MACRO * OVL:A MACRO * OVL: MACRO TITL ... UAT:AA UAT:EE UAT:ZZ UA:CHK EQU :F09E * UAT:AA LABEL START UNIT ASSIGNMENT TABLE * * UAT:EE LUN,ADDRESS UAT ENTRY * * UAT:ZZ END OF UAT * * LABEL LABEL TO ASSOCIATED WITH UAT * LUN  LOGICAL UNIT NAME * ADDRESS ADDRESS OF DIB OR FCB * * UAT:AA MACRO MACLAB LPOOL O: SET $ SHARABLE TABLE: TABLE: REL LOAD I:IO WORD UA:CHK #1 WORD UAT:ND-$-4%-1 RES 3,0 UAT:NV SET 0 ENDM * UAT:EE M> ACRO WORD #1 S: SYMATT #2 IFT S:&UNDBT: EXTR #2 ENDC WORD #2 UAT:NV SET UAT:NV+1 ENDM * UAT:ZZ MACRO S: SYMATT #1 IFF S:&NULL: IFT #(1,'FORTRAN')>0 SNAM UAT:ND ENDC  ENDC UAT:ND EQU $ IFF S:&NULL: IFT #(1,'FORTRAN')>0 RES UAT:NV*2,0 ENDC  ENDC ORG O: ENDM TITL .... BUF:R MACRO ************************************************************ * BUFFER POOL GENERATION MACROS + * * * CALLING SEQUENCE * * BUF:R #1 * *  * * #1 - NUMBER OF BUFFERS * ************************************************************ * BUF:LN EQU 512 * * BUF:R - GENERATE BUFFER POOL * BUF:R MACRO LPOOL O: SET $ TABLE: REL SHARABLE TABLE: LOAD FM:SFM NAM BUF:N BUF:N EQU #(1) P: SET BUF:N BUF:LOOP MACENT IFT P: CHAN BUF: CHAIN LINK CHAN BUF:: STATIC LINK RES 4,0 WORD BUF:LN LENGTH RES 2,0 SECTOR RES 7,0 RES BUF:LN/2,0 BUFFER LENGTH P: SET P:-1 BUF:LOOP ENDC IFF P: ORG O: P: SET 1 ENDC ENDM TITL .... IOB:A MACRO * IOB:A IOB,LUN,OPC,OPM,BCT,BUF,CGI,OPO * * * IOB LABEL TO BE ASSIGNED TO START OF IOB * LUN LOGICAL UNIT NAME OR NUMBER *  OPC OPERATION CODE * RE: EQU 0 READ * WR: EQU 1 WRITE * PO: EQU 2 POSITION * FU: EQU 3 FUNCTION * OPM OPERATION MODIFIER * UF: EQU 0 UNFORMATTED * FA: EQU 1 FORMATTED ALPHANUMERIC * FB: EQU 2 FORMATTED BINARY * DA: EQU 3 DIRECT FORMATTED ALPHA *  DB: EQU 4 DIRECT FORMATTED BINARY * WP: EQU 5 WRITE PROMPT * FS: EQU 8 FORMATTED STREAM * DS: EQU 12 DIRECT STREAM * * BCT REQUESTED BYTE COUNT * BUF I/O BUFFER ADDRESS * CGI ADDRESS OF CURRENT FILE INDEX OR ZERO * OPO OPTIONAL MODE OF OPERATION * SB: EQU 11 START IN SECOND BYTE OF BUFFER * ER: EQU 12 DON'T CALL DOIO ERROR ROUTINE, GO TO USER * * TITL MACRO IOB:A IFT #?<7 NOTE 5,'NOT ENOUGH PARAMETERS' ENDC #1 WORD #2 LOGICAL UNIT NAME /NUMBER WORD 0 DEVICE DEDICATION NUMBER WORD #7 OPTIONAL ADDRESS OF CFI S: SYMVAL #8 IFF S:=0 IFT #8>15 S: SET #8  VALUE, NOT BIT EQUATE ENDC IFF #8>15 S: SET 1%#8 ENDC ENDC WORD #3%4+#4+S: WORD #5  BYTE COUNT WORD #6 I/O BUFFER ADDRESS WORD 0 ACTUAL COUNT PROCESSED WORD 0 SOFTWARE STATUS ENDM TITL * INPUT/OUTPUT BLOCK (IOB) * IO:LUN EQU 0 LOGICAL UNIT NAME/NUMBER IO:DDN EQU 1 DEVICE DEDICATION NUMBER IO:CRI EQU 2 ADDRESS OF CURRENT RECORD INDEX IO:CFI EQU IO:CRI CURRENT FILE INDEX POINTER IO:FC EQU 3 FUNCTION CODE IO:BCT EQU 4 BYTE COUNT REQUESTED IO:BUF EQU 5 I/O BUFFER ADDRESS IO:ACT EQU 6 ACTUAL COUNT PROCESSED IO:? ST EQU 7 SOFTWARE STATUS * BISYNC PICO ONLY IO:HED EQU IO:BUF FIRST BCB ON CHAIN IO:LST EQU IO:ACT  LAST BCB PROCESSED * * FUNCTION CODE BITS * * BITS 15-6 MODE OF OPERATION ER: EQU 12 DON'T CALL DOIO ERROR ROUTINE,GO TO USER SB: EQU 11 START ON SECOND BYTE OF BUFFER HA: EQU 10 USED BY HALT I/O FUNCTION. UD: EQU 9 UN-DEDICATE DEVICE AFTER PERFORMING I/O * ER:V EQU 1%ER: SB:V EQU 1%SB: * * RE: EQU 0 READ WR: EQU 1 WRITE PO: EQU 2 POSITION FU: EQU 3 FUNCTION * UNKNOWN OPEN: EQU 4 OPEN CLOSE: EQU 5 CLOSE * ASYNCH MUX ONLY SBU: EQU 4 SEND BUFFER SNL: EQU 6 SEND END-OF-LINE SEQUENCE ('SEND NEW LINE') SBK: EQU 5 SEND 'BREAK' SCC: EQU 7 SEND CONTROL CHARACTER WMR: EQU :C WRITE MODEM REGISTER WOT: EQU :D WRITE OPTION TABLE WSC: EQU  :E WRITE SPECIAL CHAR TABLE * BISYNC PICO ONLY IR: EQU 8 IMMEDIATE RETURN ON OPEN IR:V EQU  1%IR: BIT MASK * * * BITS 3-0 OPERATION MODIFIER * READ & WRITE UF: EQU 0 UNFORMATTED FA: EQU :B  FORMATTED ALPHANUMERIC FB: EQU :A FORMATTED BINARY FS: EQU :8 FORMATTED STREAM WP: EQU 1 WRITE PROMPT DA: EQU :F DIRECT ALPHANUMERIC DB: EQU 6 DIRECT BINARY DS: EQU :C DIRECT STREAM BS: EQU FS: SEQUENTIAL STREAM BINARY SA: EQU :9 SEQUENTIAL STREAM ALPHA RB: EQU FB: SEQUENTIAL RECORD BINARY RA: EQU FA: SEQUENTIAL RECORD ALPHA DSB: EQU DS: DIRECT STREAM BINARY DSA: EQU :D DIRECT STREAM ALPHA DRB: EQU :E DIRECT RECORD BINARY DRA: EQU DA: DIRECT RECORD ALPHA * * FOR POSITION * * FOR POSITION (PO:) * FAB: EQU 0 FILE POINTER ABSOLUTE BYTES FRB: EQU 1 FILE POINTER RELATIVE BYTES WAB: EQU 2 WRITE POINTER ABSOLUTE BYTES WRB: EQU 3 WRITE POINTER RELATIVE BYTES AR: EQU 4 ABSOLUTE RECORDS RR: EQU 5 RELATIVE RECORDS RFP: EQU 6  READ FILE POINTER RWP: EQU 7 READ WRITE POINTER * MAGTAPE ONLY SBF: EQU 8 SKIP BLOCKS FORWARD SBR:  EQU 9 SKIP BLOCKS REVERSE SKF: EQU 10 SKIP FILES FORWARD * * FOR FUNCTION * OP: EQU 0 OPEN CL: EQU 1  CLOSE PL: EQU 2 PUNCH LEADER WF: EQU 3 WRITE FILE MARK DF: EQU 4 DEVICE DEPENDENT FUNCTION SS: EQU 5 SELECT HARDWARE STATUS TF: EQU 6 TOP OF FORM SC: EQU 7 SOFTWARE CONTROL * MAGTAPE ONLY RWD: EQU 8 REWIND OFL: EQU 9 OFF-LINE EBL: EQU 10 ERASE BLOCK EFM: EQU 11 ERASE FILE MARK EOV: EQU 12 DO END OF VOLUME UBF: EQU 13 USER SUPPLIED BUFFER FUNCTION MOD. * * FOR OPEN BL: EQU 1 BLOCK I/O * * FOR ASYNCH MUX * ROT: EQU 1 READ OPTION TABLE CM: EQU 1 SPECIAL CHARACTER MATCH OPTION (ADD TO RBF:) RMR: EQU 2 READ MODEM REGISTER RM: EQU 2 RANGE MATCH OPTION (ADD TO RBF:) RBF: EQU 4 READ BUFFER AE: EQU 8 FIRMWARE AUTO ECHO OPTION (ADD TO RBF:) * TO: EQU 7 BIT NUMBER IN IO:FC TO INHIBIT HARDWARE WRITE ON WOT, WSC ID: EQU 7 BIT NUMBER IN IO:FC TO INHIBIT DATA TRANSFER ON RBF * *  BISYNC PICO ONLY DOT: EQU 0 DUMP OPTION TABLE OPN: EQU 1 OPEN CLS: EQU 2 @  CLOSE EXU: EQU 3 EXECUTE REQUEST SAA: EQU 4 SET AUTO ANSWER * * * SOFTWARE STATUS * IOERR: EQU 15 ERROR CAUSED I/O TERMINATION * BISYNC PICO ONLY IOCOM: EQU 14 OPERATION COMPLETION FLAG * BITS 13-12 DESCRIBE CONCURRENT CONDITIONS TFORM: EQU 1%12 TOP OF FORM BFORM: EQU 2%12  BOTTOM OF FORM * RETRY: EQU 11 A RETRY WAS REQUIRED TO PERFORM THE OPERAT EOM: EQU 10 END OF MEDIUM ENCOUNTERED DURING OPERATION DELDA: EQU 9 DELETED DATA READ FROM FLOPPY DISK * ASYNCH MUX ONLY RANGM: EQU 8 RANGE MATCH OCCURRED ON RECEIVE LBK: EQU 7 TRANSMIT STATUS ONLY, LINE BREAK SEEN BY RECV HALF CHARM: EQU 7 CHARACTER MATCH OCCURRED ON RECEIVE * * IOS4 ERROR CODES * BITS 0-5 OF STATUS WORD CONTAIN LOWER BYTE OF ORROR CODE * BIT 6 SET FOR UNRECOVERABLE * ERROR CLASSES ER:IOR EQU 0 I/O RECOVERABLE ER:IOU EQU 1 I/O UNRECOVERABLE SPACE 3 *  NORMAL RETURN CODES NORML: EQU 0 NORMAL I/O COMPLETION EOF: EQU 1 END OF FILE (GOING FORWARD) BOF: SET 3 TITL .... IOU: IOR: MACROS * MACROS FOR IOS4 ERROR CODES * IOR: FOR RECOVERABLE *  IOU: FOR UNRECOVERABLE * MACRO IOU: #1 EQU 1%6+#2 ENDM MACRO IOR: #1 EQU #2 ENDM * * ERROR CODES *  IOR: HALTD:,1 I/O HALTED IOR: NORDY:,2 NOT READY IOR: WRTPR:,3 WRITE PROTECT IOR: TIMOT:,4 TIME OUT IOR: PWRFL:,5 POWER FAIL & UNABLE TO RECOVER IOR: DDTNA:,6 DDT NOT AVAILABLE,CFM ONLY IOR: VOLNU:,7 VOLUME NOT ON UNIT IOR: VOLNF:,8 VOLUME NOT FOUND IOR: NOREL:,9 LOGICAL UNIT NOT RELEASED IOR: AGAIN:,10 TRY AGAIN IOR: MNTAPE:,11 MOUNT NEXT VOLUME (MAG TAPE ONLY) * IOU: CKSUM:,1 BAD CHECK SUM IOU: UNDEV:,2 UNASSIGNED DEVICE IOU: NIUAT:,3 LUN NOT IN UAT  IOU: REOM:,4 REACHED END OF MEDIA IOU: HARDW:,5 HARDWARE ERROR IOU: ILLOP:,6 ILLEGAL OPERATION FOR THIS DEVICE IOU: NEMEM:,7 NON-EXISTANT MEMORY ADDR IOU: INRTX:,8 MEMORY ADDR IN SYSTEM ARTEA IOU: DIRFL:,9 DIRECTORY FULL IOU: NOLAB:,10 DISK NOT LABELED IOU: FAOV:,11 FILE ADDR OVERFLOW IOU: ILLAU:,12 ILLEGAL AU IOU: AUNF:,13 AU NOT FOUND IOU: WDEOF:,14 WRITE DIRECT HIT EOF IOU: NOTXT:,15 NOT EXTENDABLE IOU: ILLFA:,16 ILLEGAL FILE ADDR IOU: ALOFU:,17 ALLOCATION TABLE FOULED UP IOU: SYSUG:,18 SYSTEM USAGE ONLY IOU: FCBCH:,19 FCB CHAIN BAD IOU: FILEO:,20 FILE OPEN IOU: NOPEN:,21 FILE NOT OPEN IOU: FNOP:,21 FILE NOT OPEN IOU: OONWR:,22 OLD OR NEW WRONG, CFM ONLY IOU: ILLFP:,22 ILLEGAL FILE POINTER IOU: NOUNT:,23 UNIT NOT GIVEN IOU: UNFCB:,24 UNASSIGNED FCB IOU: BUFWP:,25 BUFFER HAS WRITE PENDING IOU: NOAU:,26 NO MORE FREE AU'S IOU: BADTC:,27 BAD TYPE CODE IOU: ABORT:,28 ABORT IOU: LDSR:,29 DSR NOT UP (ASYNCH MUX ONLY) IOU: BRKDT:,30 'BREAK' DETECTED ON RECEIVE (ASYNCH MUX ONLY) IOU: PE:,31 PARITY ERROR ON RECEIVE (ASYNCH MUX ONLY) IOU: OE:,32 OVERRUN ERROR ON RECEIVE (ASYNCH MUX ONLY) IOU: UBTSM:,33 USER'S BLOCK TO SMALL IOU: ONOOR:,34 OVERLAY NUMBER OUT OF RANGE IOU: DVNAL:,35 DEVICE NOT ALLOCATED TO USER (BISYNC PICO) IOU: DVNOP:,36 A  DEVICE NOT OPENED (BISYNC PICO) IOU: ILLCM:,37 ILLEGAL COMMAND (BISYNC PICO) IOU: DVINO:,38 DEVICE INOPERATIVE (BISYNC PICO) IOU: EOTPD:,39 EOT FAILED PAD CHECK (BISYNC PICO) IOU: NAKPD:,40 NAK FAILED PAD CHECK (BISYNC PICO) IOU: MSGAB:,41 MESSAGE ABORTED (BISYNC PICO) IOU: BCCER:,42 BCC ERROR (BISYNC PICO) IOU: ILLCC:,43 ILLEGAL CONTROL CHARACTER (BISYNC PICO) IOU: RCVOR:,44 RECEIVE OVERRUN (BISYNC PICO) IOU: LGOVR:,45 LEADING GRAPHICS OVERRUN (BISYNC PICO) IOU: RTXER:,63 RTX ERROR * *  I/O ERROR BLOCK EQUATES * IOE:AC EQU 0 ACB ADDR OF ERROR ACTIVITY IOE:EC EQU 1 ERROR CODE IOE:K EQU 2 K-REG OF ACTIVITY WITH ERROR IOE:DI EQU 3 DIB ADDR IOE:TI EQU 4 TIB ADDR TITL I:LOAD & I:LD410S PARAMETER BLOCK EQUATES & MACROS *  PARAMETER BLOCK EQUATES * LD:LUN EQU 0 LOAD FILE LUN LD:BUF EQU 1 FILE INPUT BUFFER ADDRESS LD:OFF EQU 2 RELOCATION OFFSET LD:HLL EQU 3 HIGH LOAD LIMIT LD:LLL EQU 4 LOW LOAD LIMIT LD:XAD EQU 5 EXECUTION ADDRESS LD:HAD EQU 6 HIGHEST ADDRESS LOADED LD:FLG EQU 7 FLAG WORD LD:SDA EQU 8 SLAVE DEVICE ADDRESS (410S ONLY) LD:SIZE EQU 9 SIZE OF LOAD SERVICE PARAMETER BLOCK * * LD:FLG (FLAG WORD) EQUATES * LDF:ERR EQU 15 ERROR OCCURRED DURING LOAD LDF:IOE EQU 14 I/O ERROR LDF:BTC EQU 13 BAD TYPE CODE ERROR LDF:ADE EQU 12 ADDRESSING ERROR LDF:NOS EQU 11 NO 410S AT SPECIFIED DEVICE ADDRESS (410S ONLY) LDF:MAE EQU 10 MEMORY ADDRESS ERROR (16-32K) (410S ONLY) * LDF:PM EQU 2 PUBLIC MEMORY IN UPPER 32K (410S ONLY) LDF:EXA EQU 1 EXECUTION ADDRESS SPECIFIED (410S ONLY) LDF:EX EQU 0 INITIATE 410S EXECUTION (410S ONLY) TITL * PARAMETER BLOCK GENERATION MACRO * * LABEL LOAD: LUN,OFF,(BUF),(HLL),(LLL),(XAD),(FLG),(SLV) * LOAD: MACRO WORD #(1) LD:LUN .. LUN WORD #(3)+0 LD:BUF .. INPUT BUFFER ADDRESS WORD #(2) LD:OFF .. RELOCATION OFFSET WORD #(4)+0 LD:HLL .. HIGH LOAD LIMIT WORD #(5)+0 LD:LLL .. LOW LOAD LIMIT WORD #(6)+0 LD:XAD .. EXECUTION ADDRESS (410S ONLY) WORD 0 LD:HAD .. HIGH LOAD ADDRESS/NEXT FREE ADDRESS WORD #(7)+0 LD:FLG .. FLAG WORD (410S ONLY) IFT #(8,?) WORD #(8) LD:SDA .. USER SLAVE DEVICE ADDRESS (410S ONLY) ENDC IFF #(8,?) WORD :F0 LD:SDA .. DEFAULT SLAVE DEVICE ADDRESS (410S ONLY)  ENDC * S: SET #(?)<2 S: SET #(?)>8++S: IFT S: NOTE E,'INCORRECT NUMBER OF PARAMETERS' ENDC ENDM TITL I:OVL PARAMETER BLOCK EQUATES AND MACROS * * OV:A BLOCK EQUATES * OVA:LUN EQU 0 LUN ENTRY IN OV:A BLOCK OVA:ADR EQU 1 DIRECTORY ADDRESS ENTRY IN OV:A BLOCK OVA:LEN EQU 2 LENGTH ENTRY IN OV:A BLOCK * OVL:A MACRO #(1) WORD #(2) LUN TO USE FOR OVERLAYS WORD #(3) ADDRESS OF USER'S DIRECTORY BLOCK WORD #(4) LENGTH OF USER'S DIRECTORY BLOCK ENDM OVL: MACRO MACLAB OVL:A #(-1),#(1),#(2),#(3) ENDM SPACE 2 SAVE END 12 ADDRESSING ERROR LDF:NOS EQU 11 NO 410S AT SPECIFIED DEVICE ADDRESS (410S ONLY) LDF:MAE EQU 10 MEMORY ADDRESS ERROR (16-32K) (410S ONLY) * LDF:PM EQU 2 PUBLIC MEMORY IN UPPER 32K (410S ONLY) LDF:EXA EQU 1 EXECUTION ADDRESS SPECIFIED (410S ONLY) LDF:EX EQU 0 INITIATE 410S EXECUTION (410S ONLY) TITL * B  TITL I O S D . M A C - IOS DEVELOPMENT EQUATES & MACROS (93420-14-E400) TITL .... CONTENTS ************************* *  * * IOSD.MAC * * * ************************* * * DIB EQUATES *  CIB EQUATES * TIB EQUATES * DIO DEVICE EQUATES * NON-DIO DEVICE EQUATES * BIT:WORD MACRO * BIT:EQU MACRO * BIT:SET MACRO * INT:SEQ MACRO * DIB:ST MACRO * CIB:ST MACRO * TVDIBCIB MACRO * DIB:DF MACRO * DIB:DFQ MACRO * DIB:DM MACRO * DIB:DH MACRO * CIB:DM MACRO * CIB:DH MACRO * DIB:DP MACRO * CIB:DP MACRO * DIB:LP MACRO * COND MACRO * COND1 MACRO * D:AC MACRO * C:AC MACRO * CX:AC MACRO * DIB:MT MACRO * CIB:MT MACRO * DIB:BP  MACRO * DBP:O MACRO * CIB:BP MACRO TITL DIB EQUATES * DEVICE INFORMATION BLOCK (DIB) * DI:PER EQU  0 PEER POINTER DI:FLG EQU 1 DIB FLAGWORD DI:CIB EQU 2 MASTER CIB ADDRESS DI:FCB EQU 3 FILE CONTROL BLOCK LIST HEAD DI:NAM EQU 4 DEVICE NAME (4 CHARACTERS) DI:DN EQU 6 DEDICATION NUMBER DI:DS EQU 7  DEDICATION SEMAPHORE DI:SPB EQU 8 WATCHDOG TIMER -- NUMBER OF SHIFTS PER BYT DI:WBT EQU 9  WATCHDOG TIMER -- BASE TIME DI:DSW EQU 10 DEVICE SPECIFICATION WORDS (10-13) * 14-15 RESERVED * * DIB FLAGWORD * EQU 15 ALWAYS ZERO FOR DIB DIF:ND EQU 14 NO DEDICATION ON THIS DEVICE DIF:DP EQU 13 DI:DDN IS A POINTER TO A DEDICATION NUMBER DIF:NT EQU 12 NO TIMER FOR READ DIF:RT EQU 11 RETRY ON POWER FAIL DIF:FC EQU 10 FORM CONTROL DIF:OP EQU 9 DEVICE IS OPEN. DIF:UI EQU 1 DEVICE SUPPORTS UNSOLICITED INPUT DIF:BF EQU 0 BUFFER FLAG FOR CARD READER DIF:MT EQU 0 DISK IS MOUNTED DIF:NM EQU 1 NO AUTOMATIC MOUNT ON DISK TITL * DEVICE INFORMATION BLOCK FOR CHARACTER DEVICES * DI:CPL EQU 16 CHARACTERS PER LINE DI:LPP EQU 17 BOTTOM OF FORM COUNT/LINES PER PAGE DI:BMI EQU 18 BRANCH/MODE WORD FOR INPUT DI:BMO EQU 19 BRANCH/MODE WORD FOR OUTPUT DI:EOL EQU 20 POINTER TO END OF LINE SEQUENCE DI:TOF EQU 21 POINTER TO TOP OF FORM SEQUENCE DI:ERM EQU 22 ERROR MASK FOR STATUS DI:LC EQU 23 LINE COUNTER DI:EDT EQU 24 EDIT CHARACTER DI:ELI EQU 25 END OF LINE SEQUENCE FOR INPUT DI:BUF EQU 26 POINTER TO 2 WORD INTERNAL BUFFER DI:PU EQU  27 POINTER TO POWER UP SEQUENCE * * DEVICE INFORMATION BLOCK FOR CARD READER * *I:CPL EQU 16  CHARACTERS PER CARD *I:LPP EQU 17 =0, NOPAGES ON CARD READER *I:BMI EQU 18 BRANCH/MODE WORD FOR INPUT DI:CBA EQU 19 CURRENT BUFFER ADDR DI:ABA EQU 20 ALTERNATE BUFFER ADDR, =0 FOR NO DOBLE BUF DI:TRT EQU 21 TRANSLATION TABLE ADDR *I:ERM EQU 22 ERROR MASK FOR STATSUS TITL * DC EVICE INFORMATION BLOCK FOR DISKS * DI:BPS EQU 16 BYTES PER SECTOR DI:SPT EQU 17 SECTORS PER TRACK DI:TPC EQU 18 TRACKS PER CYLINDER DI:CPD EQU 19 CYLINDERS PER DISK DI:SPA EQU 20  SECTORS PER ALLOCATION UNIT DI:CYL EQU 21 CUURRENT CYLINDER FOR FLOPPY DI:TRY EQU 22 HARD/RATE ERROR RETYR COUNT DI:VTS EQU 23 VTOC SEMAPHORE DI:ATS EQU 24 ALLOCATION TABLE SEMAPHORE DI:HOS EQU 25 HEAD OFFSET DI:HSA EQU 26 HEAD SEMAPHORE ADDR DI:SCS EQU 27 SEEK COMPLETE SEMAPHORE ADDR DI:FLP EQU 28 FLIST POINTER IN AU DI:FLN EQU 29 FLIST LENGTH IN SECTORS DI:ALO EQU 30 ALLOCATION TABLE SECTOR ADDR DI:APD EQU 31 AU PER DISK DI:BPA EQU 32 BYTES PER AU DI:SBF EQU 33 SECTORS PER BUFFER DI:SAU EQU 34 DI:BIT EQU 35 BIT # DI:CUR EQU 36 CURRENT COUNT DI:REQ EQU 37 REQUESTED NUMBER OF AUS DI:FND EQU 38 NUMBER FOUND DI:FAU EQU 39 FOUND AU START * * DEVICE INFORMATION BLOCK FOR MINI-FLOPPY * DI:BMW EQU 21 DI:INT EQU 40 DI:SCT EQU 41 DI:SEC EQU 42 * * DEVICE INFORMATION BLOCK FOR MAGTAPE * DI:BLKCT EQU 16 BLOCK COUNT DI:SERV EQU 17 ADDRESS OF MAGTAPE SERVICE ROUTINES DI:BMR EQU 20 BRANCH/MODE WORD REWIND DI:OMW EQU 21 ORIGINAL MODE WORD DI:MASK EQU 24 ERROR MASK DI:FLAG EQU 25 ERROR FLAGS DI:THWS EQU 26 TEMPORARY H/W STATUS TITL * DEVICE INFORMATION BLOCK FOR ASYNCH MUX * DI:FIO EQU 16 ADDRESS OF FORMATTED I/O ROUTINE DI:CNFG EQU 17 ADDRESS OF CONFIGURATION ROUTINE * * FLAGWORD BITS FOR ASYNCH MUX DIB * DIF:DC EQU 3 SET FOR DYNAMIC CONFIGURATION DIF:FA EQU 4 SET IF FA: HANDLER LOADED * * DEVICE INFORMATION BLOCK FOR BISYNC PICO * DI:DVS EQU 16 DEVICE STATE WORD DI:OPT EQU 17 OPTION TABLE DI:SID EQU 29 STATION IDENTIFIER TITL CIB EQUATES * CONTROLLER INFORMATION BLOCK (CIB) * CI:PER EQU  0 PEER POINTER CI:FLG EQU 1 CIB FLAGWORD CI:MST EQU 2 MASTER LINK CI:DIB EQU 3  SUBORDINATE LINK (DIB LIST HEAD) CI:PRI EQU 4 REQUEST PRIORITY CI:DA EQU 5 DEVICE ADDRESS CI:IV EQU 6 DEVICE INTERRUPT VECTOR LOCATION CI:RD EQU 8 ENTRY POINT TO READ CI:WRT EQU 9 ENTRY POINT TO WRITE CI:POS EQU 10 ENTRY POINT TO POSITION CI:FUN EQU 11 ENTRY POINT TO FUNCTION CI:EOB EQU 12 12-15 EOB SEQUENCE * JST R:SA12 USE SYSTEM STACK * COPY TIB,Y  TIB ADDR OBVIOUSLY * JMP *$+1 * DATA I:EOB EOB ADDR CI:T1 EQU 16 TEMP CI:T2 EQU 17 TEMP CI:APR EQU 18 SAVEED PRIORITY OF ACTIVITY USING CIB CI:TIB EQU 19 TIB ADDR CI:USM EQU 20 CONTROLLER USAGE SEMAPHORE CI:TIM EQU 21 WATCH DOG TIMER CALCULATED INTERVAL CI:CSM EQU 22 COMPLETION SEMAPHORE CI:CFL EQU 23 COMPLETION FLAG * * CIB FLAGWORD * CIF:PD U EQU 14 POWER UP OCCURED CIF:TO EQU 13 TIME OUT CAUSED COMPLETION CIF:OO EQU 12  OVERLAPPED OPERATIONS TITL * CONTROLLER INFORMATION BLOCK FOR DISK * CI:RAT EQU 24 RATE ERROR RETRY COUNT CI:HRD EQU 25 HARD ERROR RETRY COUNTER CI:OPC EQU 27 OP CODE CI:DCB EQU CI:OPC START OF DISK CONTROL BLOCK CI:UNT EQU 28 UNIT CI:CYL EQU 29 CYLINDER CI:SEK EQU 30  RELATIVE SEEK COUNT CI:SEC EQU 31 SECTOR CI:CNT EQU 32 WORD COUNT CI:BUF EQU 33  BUFFER ADDR CI:IEA EQU 34 INTERUPT ENABLE & ADDR * * CONTROLLER INFORMATION BLOCK FOR HIGH CAPACITY DISK * CI:IOB EQU 35 NEXT IOB ADDR CI:WP EQU 36 WORDS PROCESSED CI:CST EQU 37 CONTROLLER SATTUS CI:DST EQU 38 DRIVE STATUS CI:DIV EQU 39 INTERUPT VECTOR, JSK CI:EOB CI:SSA EQU  40 SEEK COMPLETE SEMAPHORE ADDR TITL * CONTROLLER INFORMATION BLOCK FOR FLOPPY * CI:FWP EQU 35  WORDS PROCESSED CI:FST EQU 36 STATUS CI:FIV EQU 37 INTERUPT VECTOR CI:FT1 EQU 38  TEMP CI:EIV EQU 39 ERROR INTERUPT VECTOR * * CONTROLLER INFORMATION BLOCK FOR MINI-FLOPPY * CI:CLK EQU 27 * * CONTROLLER INFORMATION BLOCK FOR MAGTAPE * CI:RTY EQU 24 RATE ERROR RETRY COUNT CI:WCNT EQU 26 WAIT RETRY COUNT CI:TIC EQU 27 WAIT TIMER VALUE CI:MODE EQU 28 LAST PICO MODE WORD * * CONTROLLER INFORMATION BLOCK FOR ASYNCH MUX * CI:OPT EQU 24 ADDRESS OF CHANNEL OPTION TABLE OP:SCT EQU 2 OFFSET OF SPEC CHAR TABLE IN CIB EXTENSION TITL TIB EQUATES * TEMPORARY INPUT BLOCK (TIB) - USER'S STACK * TI:IOB EQU 0 IOB ADDRESS TI:FCB EQU 1  FCB ADDR TI:DIB EQU 2 DIB ADDRESS TI:CIB EQU 3 CIB ADDRESS TI:BCT EQU 4 REQUESTED BYTE COUNT TI:BUF EQU 5 BUFFER ADDRESS TI:FC EQU 6 FUNCTION CODE TI:SOF EQU 7  SOFTWARE STATUS TI:PRI EQU 13 TEMPOARY SAVE FOR ACTIVITIES PRIORITY. * * TIB ON ENTRY TO HANDLERS * TI:CRI EQU 12 ADDR OF CURRENT RECORD INDEX * * TIB FOR DIO * TI:TIM EQU 8 WATCHDOG TIMER VAQLUE TI:ACT EQU 9 ACTUAL BYTE COUNT TI:BMW EQU 10 BRANCH/MODE WORD TI:IBF EQU 11 INTERMEDIATE BUFFER ADDR * * TIB FOR DISKS * *TI:TIM EQU 8 WATCHDOG TIMER VAQLUE TI:SEC EQU 9  SECTOR NUMBER TI:TRK EQU 10 TRACK NUMBER (HEAD NUMBER) TI:CYL EQU 11 CYLINDER NUMBER * *  TIB FOR MAGTAPES * TI:FCSS EQU 21 FILE MANAGER FUNCTION CODE SAVE TI:BCSS EQU 22 BLOCK COUNT SAVE * * TIB FOR ASYNCH MUX * TI:UTL EQU TI:CRI UTILITY PARAMETER TI:OPT EQU 18 ADDR OF OPTION TABLE GOES HERE TI:SCT EQU 19 ADDR OF SPECIAL CHAR TABLE GOES HERE TI:GCB EQU 20 FLAG SET IF CIB OCCUPIED TI:KSAVE EQU 21 SAVE K REG HERE ON ENTRY TI:SYSTM EQU 22 NON-ZERO TO ALLOW TIMOUT * * TIB FOR BISYNC PICO * TI:IST EQU 10 DEVICE STATUS (FROM INTERRUPT ROUTINE) TI:FLG EQU E  18 FLAG FOR NON-BCB OPERATION TI:BCB EQU 19 ADDRESS OF BCB CURRENTLY BEING PROCESSED TI:CAF EQU  20 COMPARE ADDRESS FLAG ON READ TI:PFE EQU 21 FLAG FOR POWER FAIL TERMINATION TI:STT EQU 22  STATUS RETURNED FOR BCB CHAIN * * TIB ON RETURN FROM HANDLERS * *TI:ACT EQU 9 ACTUAL BYTE COUNT TI:HWS EQU 10 HARDWARE STATUS (TWO WORDS) TI:HW2 EQU 11 HARDWARE STATUS WORD 2 * * TIB EQUATES * TI:T1 EQU 14 TEMP CELL TI:T2 EQU 15 TEMP CELL TI:T3 EQU 16 TEMP CELL TI:T4  EQU 17 TEMP CELL TI:QUO EQU 18 RELATIVE AU TI:TVW EQU TI:QUO TV WAIT COUNT TI:REM EQU 19  REMIANDER OF SECTOR OR AU CALCULATION TI:RAU EQU 20 EXTENT RELATIVE AU BASE TI:PAU EQU 21 EXTENT PHYSICAL AU BASE TI:NAU EQU 22 NUMBER OF AUS IN EXTENT TI:FP1 EQU 23 WORKING FILE POINTER TI:FP2 EQU 24 WORKING FILE POINTER TI:WRQ EQU 25 WORKING REQUEST COUNT TI:PL EQU TI:WRQ PARAMETER LIST ADDR TI:WAC EQU  26 WORKING ACTUAL COUNT TI:FNO EQU TI:WAC FNO TI:WSF EQU 27 WOKING SOFTWARE STATUS TI:UBX EQU 28  USERS BUFFER INDEX TI:CAU EQU 29 CURRENT AU TI:CNX EQU 30 CURRENT INDEX TI:T5 EQU 31 TEMP CELL TI:T6 EQU 32 TEMP CELL TI:FCS EQU 33 FUNCTION CODE SAVE TI:BCS EQU 34 BYTE COUNT SAVE TI:BUS EQU 35 BUFFER ADDR SAVE TIBLN: EQU 36 TIB LENGTH TITL DIO DEVICE EQUATES * DISTRIBUTED I/O * IODAD: SET :F IOD ADDRESS (MAY ONLY BE :C,:D,:E OR :F) IODIB: SET :C0 IOD INTERRUPT ADDRESS BASE * CRCN: SET 0 CARD READER CHANNEL NUMBER CRDA: SET IODAD:%3+CRCN:%1 .  DEVICE ADDRESS CRIA: SET CRCN:%3+IODIB: . INTERRUPT ADDRESS * MTCN: SET 1 MAGNETIC TAPE CONTROLLER CHANNEL NUMBER MTDA: SET IODAD:%3+MTCN:%1 . DEVICE ADDRESS MTIA: SET MTCN:%3+IODIB: . INTERRUPT ADDRESS * TVCN: SET 2 CRT CHANNEL NUMBER TVDA: SET IODAD:%3+TVCN:%1 . DEVICE ADDRESS TVIA: SET TVCN:%3+IODIB: . INTERRUPT ADDRESS * IECN: SET 3 IEEE INTELLIGENT CABLE CHANNEL NUMBER IEDA: SET IODAD:%3+IECN:%1 . DEVICE ADDRESS IEIA: SET IECN:%3+IODIB: . INTERRUPT ADDRESS * TYCN: SET 4 TELETYPEWRITER  CHANNEL NUMBER TYDA: SET IODAD:%3+TYCN:%1 . DEVICE ADDRESS TYIA: SET TYCN:%3+IODIB: .  INTERRUPT ADDRESS * PRCN: SET 5 HIGH SPEED PAPER TAPE READER CHANNEL NUMBER PRDA: SET IODAD:%3+PRCN:%1 . DEVICE ADDRESS PRIA: SET PRCN:%3+IODIB: . INTERRUPT ADDRESS * PPCN: SET 6 HIGH SPEED PAPER TAPE PUNCH CHANNEL NUMBER PPDA: SET IODAD:%3+PPCN:%1 . DEVICE ADDRESS PPIA: SET PPCN:%3+IODIB: . INTERRUPT ADDRESS * LPCN: SET 7 LINE PRINTER CHF ANNEL NUMBER LPDA: SET IODAD:%3+LPCN:%1 . DEVICE ADDRESS LPIA: SET LPCN:%3+IODIB: .  INTERRUPT ADDRESS TITL NON-DIO DEVICE EQUATES * NON-DIO * DFCN: SET :11 DISK, FLOPPY DFDA: SET DFCN:%3 . DEVICE ADDRESS * DMCN: SET :14 DISK, MEDIUM CAPACITY DMDA: SET DMCN:%3 .  DEVICE ADDRESS * DHCN: SET :15 DISK, HIGH CAPACITY DHDA: SET DHCN:%3 .  DEVICE ADDRESS TITL DIB & CIB GENERATION SUPPORT EQUATES & MACROS * MISCELLANEOUS EQUATES * CI:EOB EQU :C R:SA12 EQU :3F LF: EQU :A FF: EQU :C CR: EQU :D * * BUILD A WORD OF BITS MACRO * BIT:WORD MACRO WORD MACLAB BIT:EQU MACENT EQU MACLAB BIT:SET MACENT SET MACLAB BIT:SET SET 0 * BIT:LOOP MACENT NULL IFT #(1,?) BIT:SET SET 1//#(1)++BIT:SET BIT:LOOP #(2),#(3),#(4),#(5),#(6),#(7),#(8) ENDC IFF '##(0,1,1)'='N' #(-1) #(0) BIT:SET ENDC ENDM TITL * MACRO FOR INTERUPT SEQUENCE * INT:SEQ MACRO EXTR I:EOB JST R:SA12 COPY =$-CI:EOB-1,X CIN ADDR JMP *$+1 WORD I:EOB ENDM * * STANDARD DIB MACRO * * SUPPORTS: TK00 TY00 TP00 TR00 TV00 * LP00 (80,57,LF:) CR00 PP00 PR00 * DF00 DF01 DF02 DF03 (ALL FLOPPIES ARE SINGLE DENSITY) * DM00 DM01 (BOTH ARE 5MB) * DM02 DM03 (BOTH ARE 10MB) * DH00 (40MB) * DH01 (80MB) * DH02 (150MB) * DH03 (300MB) * DIB:ST MACRO LOAD D:#(1) ENDM * *  STANDARD CIB MACRO FOR DM0 AND DH0 * CIB:ST MACRO LOAD C:#(1,1,3) ENDM TITL ** MACRO: TVDIBCIB * * USAGE:  TO CREATE DIB'S AND CIB'S FOR OTHER CRT'S ADDED * TO THE SYSTEM....(USE DIB:ST TV00 for channel 4 TV). * * TVDIBCIB NAME,CHAN * * NAME = DEVICE NAME (4 CHARACTERS) * CHAN = CHANNEL NUMBER FOR THIS DEVICE * * EXAMPLE: TVDIBCIB TV01,3 * * THIS CREATES DIB & CIB FOR TV01 ON CHANNEL 3 * ** SPACE 1 TVDIBCIB MACRO * *  GENERATE DIB FOR THIS TERMINAL * ETIODAD: SET :F (NORMAL IOD BOARD) ETIODIB: SET :C0 (NORMAL IOD BASE ADDRESS) O: SET $ TABLE: REL SHARABLE TABLE: SYSTEM NAM D:#1 EXTR TY:RD,TY:WRT,TY:FUN EXTR TYEOL:,TYTOF:,TYELI: D:#1 CHAN #(1): DI:PER - PEER POINTER BIT:WORD DIF:NT,DIF:FC DI:FLG - FLAG WORD WORD C:#1 DI:CIB - CIB ADDRESS WORD 0 DI:FCB - FCB LIST HEAD BYTE '##1' DI:NAM - DEVICE NAME, 4 CHARACTERS RES 1,0 DI:DN - DEDICATION NUMBER WORD 0 DI:DS - DEDICATION SEMAPHORE WORD 0 DI:SPB - TIMER, SHIFTS PER BYTE WORD -1 DI:WBT - TIMER, BASE TIME BIT:WORD FA:,UF: READ BIT:WORD FA:,UF:,WP: WRITE WORD 0 POSITION BIT:WORD WF:,TF:,SC:,OP:,CL: FUNCTION RES 2,0 WORDS 14-15 ARE RESERVED WORD 80 DI:CPL - CHARACTERS PER LINE WORD 0 DI:LPP - BOTTOM OF FORM COUNT WORD :1618 DI:BMI - BRANCH MODE WORD FOR INPUT WORD :1612 DI:BMO - BRANCH MODE WORD FOR OUTPUT WORD TYEOL: DI:EOL - POINTER TO EOL SEQUENCE WORD TYTOF: DI:TOF - POINTER TO TOF SEQUENCE WORD :2000 DI:ERM - ERROR MASK FOR STATUS WORD 0 DI:LC - LINE COUNTER WORD :08 DI:EDT - EDIT CHARACTERG  WORD TYELI: DI:ELI - ADDRESS OF EOL SEQUENCE ON INPUT WORD #(1)BF: DI:BUF - POINTER TO 2 WORD INTERNAL BUF WORD TYEOL: DI:PU - POINTER TO POWER UP SEQUENCE * * GENERATE CIB FOR THIS TERMINAL * NAM C:#1 C:#1 CHAN CIB: CI:PER - PEER POINTER WORD 0 CI:FLG - FLAG WORD WORD 0 CI:MST - MASTER LINE CHAN #(1): CI:DIB - DIB LIST HEAD WORD :7400 CI:PRI - REQUEST PRIORITY WORD ETIODAD:%3+#(2)%1 CI:DA - DEVICE ADDRESS WORD #(2)%3+ETIODIB: CI:IV - INTERRUPT VECTOR ADDRESS RES 1,0 CI:UN1 - RESERVED WORD TY:RD CI:RD - ENTRY POINT TO READ WORD TY:WRT CI:WRT - ENTRY POINT TO WRITE WORD  0 CI:POS - ENTRY POINT TO POSITION WORD TY:FUN CI:FUN - ENTRY POINT TO FUNCTION INT:SEQ RES 1,0 CI:T1 - TEMP CELL RES 1,0 CI:T2 - TEMP CELL RES 1,0 CI:APR - PRIORITY OF ACTIVITY RES 1,0 CI:TIB - TIB ADDRESS WORD 1 CI:USM - CONTROLLER USAGE SEMAPHORE WORD 0 CI:TIM - TIMER WORD 0 CI:CSM - COMPLETION SEMAPHORE WORD 0 CI:CFL - COMPLETION FLAG * #(1)BF: RES 2,0 INTERNAL BUFFER * ORG O: * ENDM TITL SINGLE/QUAD FLOPPY DISC DIB MACRO * * DIB:DF MACRO 1 DIB:DFQ MACENT 2 LPOOL O: SET $ TABLE: REL SHARABLE TABLE: SYSTEM NAM D:#(1) D:#(1) CHAN DF: DI:PER WORD 0 DI:FLG EXTR C:#(1,1,3) WORD C:#(1,1,3) DI:CIB HEAD Z:#(1) DI:FCB BYTE '##(1)' DI:NAM RES 1,0 DI:DN WORD 0 DI:DS WORD -7 DI:SPB WORD 2*8 DI:WBT  BIT:WORD FA:,FB:,DA:,DB:,UF: BIT:WORD DA:,DB:,UF: BIT:WORD BIT:WORD OP:,CL: RES 2,0 WORD 128*#(0) DI:BPS WORD 26 DI:SPT WORD 1 DI:TPC WORD 77*#(0) DI:CPD WORD 4/#(0) DI:SPA WORD -1 DI:CYL BYTE 3,10 DI:TRY WORD 1 DI:VTS WORD 1 DI:ATS WORD 0 DI:HOS WORD 0 DI:HSA WORD 0 DI:SCS WORD 26*77*#(0)/4/#(0)/2 DI:FLP WORD 77*#(0) DI:FLN WORD 26*77*#(0)/4/#(0)/2 DI:ALO WORD 26*77*#(0)/4/#(0) DI:APD WORD 512 DI:BPA WORD 4/#(0) DI:SBF RES 6,0 ORG O: ENDM TITL MEDIUM/HIGH CAPACITY DISK DIB MACRO * MEDIUM/HIGH CAPACITY DISK DIB MACRO * DIB:DM MACRO DM DIB:DH MACENT DH LPOOL O: SET $ TABLE: REL SHARABLE TABLE: SYSTEM MB: SYMVAL #(2) MEGABYTES IFT #(0,'DM') SPT: SET 12 SECTORS PER TRACK TPC: SET 2 TRACKS PER CYLINDER SPA: SET 1 SECTORS PER AU CPD: SET 203 CYLINDERS PER DISK, 5MB IFT MB:=10 CPD: SET 406 ENDC ENDC IFT #(0,'DH') TPC: SET 5 SPT: SET 32 CPD: SET 823 SPA: SET 8 IFT MB:=40 CPD: SET 411 SPA: SET 4 ENDC IFT MB:=150 TPC: SET 19 CPD: SET 411 ENDC IFT MB:=300 SPA: SET 16 TPC: SET 19 ENDC ENDC APD: SET SPT:*TPC:*CPD:/SPA: AU'S PER DISK NAM D:#(1) D:#(1) CHAN #(0): DI:PER WORD 0 DI:FLG WORD C:#(1,1,3) DI:CIB HEAD Z:#(1) DI:FCB  BYTE '##(1)' DI:NAM RES 1,0 DI:DN WORD 0 DI:DS WORD -9  DI:SPB WORD 1*8 DI:WBT BIT:WORD FA:,FB:,DA:,DB:,UF: BIT:WORD DA:,DB:,UF: BIT:WORD BIT:WORD OP:,CL: RES 2,0 WORD 512 DI:BPS WORD SPT: DI:SPT WORD TPC:  DI:TPC WORD CPD: DI:CPD WORD SPA: DI:SPA WORD -1 DI:CYL H  BYTE 3,10 DI:TRY WORD 1 DI:VTS WORD 1 DI:ATS IFT #(0,'DM') BYTE 1,'##(1,4,4)'-'0'&1*2 DI:HOS ENDC IFT #(0,'DH') WORD 0 DI:HOS ENDC WORD 0,0 WORD APD:/2  DI:FLP WORD CPD: DI:FLN WORD APD:/2+CPD: WORD APD: DI:APD WORD 512*SPA: DI:BPA WORD 1 DI:SBF RES 6,0 ORG O: ENDM TITL MEDIUM/HIGH CAPACITY DISK CIB MACRO * MEDIUM/HIGH CAPACITY DISK CIB MACRO * CIB:DM MACRO DM CIB:DH MACENT DH LPOOL O: SET $ TABLE: REL SHARABLE TABLE: SYSTEM DEVAD: SYMVAL #(2) IFT #(2,?)=0 DEVAD: SET #(0)DA: STANDARD DEVICE ADDR ENDC IFT DEVAD:<:20 DEVAD: SET DEVAD:%3 ENDC NAM C:#(1,1,3) EXTR DK:RD,DK:WRT,DK:FUN C:#(1,1,3) CHAN CIB: CI:PER RES 2,0 HEAD #(0): CI:DIB WORD :7600  CI:PRI WORD DEVAD: WORD 0,0 WORD DK:RD,DK:WRT,0,DK:FUN INT:SEQ CI:EOB  RES 4,0 WORD 1 CI:USM WORD 0,0,0 RES 15,0 JSK C:#(1,1,3)+CI:EOB  ORG O: ENDM TITL MINI-FLOPPY DIB MACRO * DIB MACRO * * DIB:DP #(1) -- DPXX, XX = UNIT # * DIB:DP  MACRO LPOOL O: SET $ TABLE: REL SHARABLE TABLE: SYSTEM D:#(1) NAM D:#(1) CHAN DP: DI:PER WORD 0 DI:FLG WORD C:DP0 DI:CIB HEAD Z:#(1) DI:FCB BYTE '##(1)' DI:NAM WORD 0 DI:DN WORD 0 DI:DS WORD -5 DI:SPB WORD 2*8 DI:WBT BIT:WORD FA:,FB:,DA:,DB:,UF: DI:DSW(1) - READ BIT:WORD DA:,DB:,UF: DI:DSW(2) - WRITE BIT:WORD DI:DSW(3) - POSITION BIT:WORD OP:,CL: DI:DSW(4) - FUNCTION RES 2,0 RESERVED WORD 128 DI:BPS WORD 16 DI:SPT WORD 1 DI:TPC WORD 35 DI:CPD WORD 4 DI:SPA WORD :200 DI:BMW WORD :30A DI:TRY WORD 1 DI:VTS WORD 1 DI:ATS WORD 0 DI:HOS WORD 0 DI:HSA WORD 0 DI:SCS WORD 16*35/4/2 DI:FLP WORD 35 DI:FLN WORD 16*35/4/2+35 DI:ALO WORD 16*35/4 DI:APD WORD BUF:LN DI:BPA WORD 4 DI:SBF WORD 0 DI:SAU WORD 0 DI:BIT WORD 0 DI:CUR WORD 0 DI:REQ WORD 0 DI:FND WORD 0 DI:FAU WORD -1 DI:INT WORD 0 DI:SCT WORD 0 DI:SEC ORG O: ENDM TITL MINI-FLOPPY CIB MACRO * CIB MACRO * * CIB:DP #(1) -- DEVICE ADDRESS * #(2) -- INTERRUPT VECTOR ADDRESS * * CIB:DP MACRO * * DEFAULTS FOR MINI-FLOPPY * DVICADD: SET :F0 DP DEFAULT DEVICE ADDRESS CHANNEL: SET :0C DP DEFAULT CHANNEL NUMBER INTVECT: SET :F0 DP DEFAULT INTERRUPT VECTOR LPOOL O: SET $ TABLE: REL SHARABLE TABLE: SYSTEM EXTR DP:RD,DP:WRT,DP:FUN C:DP0 NAM C:DP0 CHAN CIB: CI:PER WORD 0 CI:FLG HEAD CIB: CI:MST HEAD DP: CI:DIB WORD :7400 CI:PRI IFF #(1,?) WORD DVICADD:++CHANNEL: CI:DA - DEFAULT ENDC IFT #(1,?) WORD #(1) CI:DA - USER DEFINED ENDC IFF #(2,?) WORD INTVECT: CI:IV - DEFAULT ENDC IFT #(2,?) WORD #(2) CI:IV - USER DEFINED ENDC RES 1,0 RESERVED WORD DP:RD CI:RD WORD DP:WRT CI:WRT WORD 0 CI:POS WORD DP:FUN CI:FUN INT:SEQ CI:EOB DOUBLI E 0 CI:T1,CI:T2 WORD 0 CI:APR WORD 0 CI:TIB WORD 1 CI:USM RES 6,0 RESERVED WORD -:2 CI:CLK ORG O: ENDM TITL LINE PRINTER DIB MACRO * LINE PRINTER DIB MACRO * DIB:LP MACRO LP LPOOL O: SET $ TABLE: REL SHARABLE  TABLE: SYSTEM CPL: SET 80 CHARACTERS PER LINE LPP: SET 57 LINES PER PAGE BOF: SET 3 BOTTOM OF FORM COUNT IFF #(2,?)=0 CPL: SET #(2) ENDC IFF #(3,?)=0 LPP:  SET #(3) ENDC NAM D:#(1) D:#(1) CHAN #(1,1,3): BIT:WORD DIF:FC DI:FLG - FLAG WORD EXTR C:#(1,1,3) WORD C:#(1,1,3) WORD 0 BYTE '##(1)' RES 1,0 WORD 0 WORD -3  WORD 4*8 BIT:WORD BIT:WORD FA:,UF: BIT:WORD BIT:WORD OP:,CL:,WF:,SC:,TF: RES 2,0 WORD CPL:  BYTE BOF:,LPP: WORD 0 WORD :1210 WORD !LP:CR WORD !LP:TF WORD :3202 WORD -LPP: WORD 0 WORD 0 WORD !LP:BF WORD !LP:PU !LP:PU WORD 3  BYTE :FF,CR:,LF:,0 !LP:CR WORD 2 IFT #(4,?)=0 BYTE ' ',CR: ENDC IFF #(4,?)=0 BYTE CR:,#(4)  ENDC !LP:TF WORD 2 BYTE FF:,CR: !LP:BF RES 2,0 ORG O: ENDM TITL ASYNC MUX OPTIONS MACRO * MACRO TO CONDITIONALLY GENERATE A SYMBOLIC REFERENCE OR ZERO WORD * COND MACRO 0 COND1 MACENT 1 IFT #(2) IF CONDITION TRUE WORD #(1) GENERATE SYMBOLIC REFERENCE ENDC IFF #(0) IF ALTERNATE ENTRY, DON'T ASM IFF #(2) IF CONDITION FALSE WORD 0 GENERATE ZERO WORD ENDC ENDC ENDM * * USEFUL VALUES * DIF:DC EQU 3 BIT NUMBER FOR DYNAMIC CONFIGURATION DIF:FA EQU 4 BIT NUMBER TO SELECT FA: HANDLER DIF:AB EQU 7 BIT NUMBER TO REQUEST AUTO-BAUDING OPT:DC EQU 1%DIF:DC SET THE BIT OPT:FA EQU 1%DIF:FA SET THE BIT OPT:FC EQU 1%DIF:FC SET THE BIT FOR FORM CONTROL OPT:AB EQU 1%DIF:AB SET THE BIT * * BAUD RATE VALUES * BD:50 EQU 0 BD:75 EQU 1 BD:110 EQU 2 BD:135 EQU 3 BD:150 EQU 4 BD:300 EQU 5 BD:600 EQU 6 BD:1200 EQU 7 BD:1800 EQU 8 BD:2000 EQU 9 BD:2400 EQU :A BD:3600 EQU :B BD:4800 EQU :C BD:7200 EQU :D BD:9600 EQU :E BD:19200 EQU :F TITL ASYNCH MUX DIB MACRO * * THIS MACRO GENERATES A DIB FOR AN ASYNC MUX CHANNEL * * THE CALLING SEQUENCE IS * * D:AC CCDD[,OPTS] * * WHERE 'CCDD' IS THE 4 CHAR IDENTIFIER TO FORM DIB ENTRY * POINT NAME 'D:CCDD'. * A REFERENCE TO CIB NAME 'C:CCDD' WILL BE GENERATED. * THE OPTIONAL 'OPTS' FIELD MAY CONTAIN THE OPTION SPECIFIERS: * * OPT:DC MEANING, DYNAMICALLY CONFIGURE AT FIRST OPEN * OPT:FA MEANING, LOAD FA: HANDLER * OPT:AB MEANING, REQUEST AUTO-BAUDING DURING CONFIG * OPT:FC MEANING, 1ST CHAR IS FORM CONTROL * * IF MORE THAN ONE OPTION IS TO BE SPECIFIED, THE OPTIONS ARE SEPARATED * BY PLUS (+) SIGNS. * AUTO-BAUDING IS EFFECTIVE AT THE FIRST OPEN ONLY IF DYNAMIC CON- * FIGURATION IS ALSO SPECIFIED. * D:AC MACRO LPOOL O: SET $ TABLE: REL  SHARABLE TABLE: SYSTEM NAM D:#(1) ASYNC CHANNEL DIB ENTRY POINT NAME EXTR AC:CNFG DYNAMIC CONFIGURATION ROUTINE ENTRY POINT EXTR AC:FIO FORMATTED I/O ROUTINE ENTRY POINT D:#(1) WORD 0 DI:PER PEER POINTER (NO PEERS) D:: SET #(2)+0 EVALUATE OPTIONS J WORD D:: ASSEMBLE FLAGWORD WORD C:#(1) DI:CIB CIB ADDRESS WORD 0 DI:FCB FCB ADDR (NOT USED) BYTE '##(1)' DI:NAM DEVICE NAME RES 1,0 RESERVED RES 1,0 RESERVED WORD 0 DI:SPB WATCHDOG SHIFTS/BYTE WORD -1 DI:WBT WATCHDOG BASE TIME (NO WATCHDOG) * EQU $ DI:DSW DEVICE SPEC WORDS WORD -1 SELECTION IS BY DRIVER WORD -1 ETC. WORD 0 NO FUNCTION ALLOWED WORD -1 SELECTION IS BY DRIVER RES 2,0 LAST TWO WORDS OF STANDARD DIB * IFT D::&OPT:DC ASSEMBLE IF DYNAMIC CONFIG CALLED FOR COND AC:FIO,D::&OPT:FA REFERENCE FIO OR SPACER WORD AC:CNFG REFERENCE CONFIGURATOR ENDC IFF D::&OPT:DC ASSEMBLE IF NO CONFIGURATION COND1 AC:FIO,D::&OPT:FA REFERENCE FIO OR ASSEMBLE NOTHING ENDC ORG O: ENDM TITL ASYNCH MUX CIB MACRO * * THIS MACRO GENERATES A CIB FOR AN ASYNC MUX CHANNEL * * THE CALLING SEQUENCE IS: * * C:AC CCDD,DA,CN,IV * * WHERE 'CCDD' IS THE 4 CHAR IDENTIFIER TO FORM CIB ENTRY * POINT NAME 'C:CCDD'. * A REFERENCE TO CIB EXTENSION NAME 'CX:ACDD' WILL * BE GENERATED. * 'DA' IS THE 'DIO' STYLE DEVICE ADDRESS (4 BITS), * 'CN' IS THE CHANNEL NUMBER (0-7), AND 'IV' IS THE INTERRUPT * ADDRESS SET BY THE INTERRUPT VECTOR ADDRESS SWITCH ON THE BOARD * C:AC MACRO LPOOL O: SET $ TABLE: REL SHARABLE TABLE: SYSTEM NAM C:#(1) ASYNC CHANNEL CIB EXTR AC:WRT TRANSMIT DRIVER EXTR AC:RD RECEIVER DRIVER EXTR AC:FUN FUNCTION DRIVER C:#(1) CHAN CIB: CI:PER PEER LINK WORD 0 CI:FLG FLAGWORD HEAD CIB: CI:MST MASTER LINK WORD D:#(1) LINK TO DIBS (CI:DIB) WORD :7400 CI:PRI REQUEST PRIORITY WORD #(2)%3+#(3)%1 DEVICE ADDR WORD #(4)%-7%4+#(3)%3 CI:IV INTERRUPT VECTOR ADDR RES 1,0 CI:UNI RESERVED * * SIMPLY REFER TO ALL DRIVER MAIN ENTRIES SINCE THEY ARE ALL * IN THE SAME CONTROL SECTION AND WILL ALL BE LOADED * WORD AC:RD READ ENTRY WORD AC:WRT WRITE ENTRY WORD 0 NO POSITION ENTRY WORD AC:FUN FUNCTION ENTRY INT:SEQ INTERRUPT SEQUENCE RES 1,0 CI:T1 TEMP RES 1,0 CI:T2 TEMP RES 1,0 CI:APR REQUESTORS SAVED PRIORITY RES 1,0 CI:TIB ADDR OF TIB WORD 1 CI:USM CONTROLLER USAGE SEMA4 WORD 0 CI:TIM WATCHDOG COUNTS WORD 0 CI:CSM COMPLETION SEMA4 WORD 0 CI:CFL COMPLETION FLAG WORD CX:AC#(1,3,4) CI:OPT ADDR OF OPT+SPEC CHAR TBL ORG O: ENDM TITL ASYNCH MUX CHAN OPTION TABLE MACRO * * OPTION TABLE CIB EXTENSION FOR ASYNC MUX CHANNEL * * CALLING SEQUENCE IS: * * CX:AC DD,BAUD * * WHERE 'DD' IS A TWO DIGIT STRING USED TO FORM THE CIB EXTENSION * ENTRY POINT NAME 'CX:ACDD' * 'BAUD' IS THE TERMINAL BAUD RATE * CX:AC MACRO NAM CX:AC#(1) TABLE ADDR CX:AC#(1) WORD :21CD WORD BD:#(2)%8+:3037 WORD :7F5F SPECIAL CHAR TABLE, ,_ ENDM TITL MAGTAPE DIB MACRO * DIB MACRO * * DIB:MT #(1) --- #(1) = MTXX, XX = UNIT # * DIB:MT MACRO LPOOL O: SET $ TABLE: REL SHARABLE TABLE: SYSTEM D:#(1) NAM D:#(1) CHAN MT: DI:PER WORD 0 DI:FLG  WORD C:MT0 DI:CIB HEAD Z:#(1) DI:FCB BYTE '##(1)' DI:NAM WORD 0 DI:DN WORD 0 DI:DS WORD -4 DI:SPB WORD 3*8 DI:WBT BIT:WORD FA:,FB:,FS:,DB:,UF: DI:DSW - READ BIT:WORD FA:,FB:,FS:,DB:,WP:,UF: DI:DSW - WRITE BIT:WORD SBF:,SBR:,SKF: DI:DSW - POSITION BIT:WORD RWD:,OFL:,EBL:,EFM:,OP:,CL:,SS:,WF: DI:DSW - FUNCTION RES 2,0 RESERVED WORD 0 DI:BLKCT WORD 0 DI:SERV WORD :0230 DI:BMI WORD :0250 DI:BMO WORD :0240 DI:BMR WORD 0 DI:OWM WORD :0005 K  DI:TRY WORD 1 DI:VTS WORD 0 DI:MASK WORD 0 DI:FLAG WORD 0 DI:THWS ORG O: ENDM TITL MAGTAPE CIB MACRO *  CIB MACRO * * CIB:MT #(1) -- DEVICE ADDRESS / CHANNEL * #(2) -- INTERRUPT VECTOR * * CIB:MT MACRO * * DEFAULTS FOR MAGTAPE * DVICADD: SET :F0 MT DEFAULT DEVICE ADDRESS CHANNEL: SET :02 MT DEFAULT CHANNEL NUMBER INTVECT: SET :C8 MT DEFAULT INTERRUPT VECTOR LPOOL O: SET $ TABLE: REL SHARABLE TABLE: SYSTEM EXTR MT:RD,MT:WRT,MT:POS,MT:FUN C:MT0 NAM C:MT0 CHAN CIB: CI:PER WORD 0 CI:FLG HEAD CIB: CI:MST HEAD MT: CI:DIB WORD :7600 CI:PRI IFF #(1,?) WORD DVICADD:++CHANNEL: CI:DA - DEFAULT ENDC IFT #(1,?) WORD #(1) CI:DA - USER DEFINED ENDC IFF #(2,?) WORD INTVECT: CI:IV - DEFAULT ENDC IFT #(2,?) WORD #(2) CI:IV - USER DEFINED ENDC WORD 0 CI:UNI WORD MT:RD CI:RD WORD MT:WRT CI:WRT WORD MT:POS CI:POS WORD MT:FUN CI:FUN INT:SEQ CI:EOB DOUBLE 0 CI:T1,CI:T2 WORD 0 CI:APR WORD 0 CI:TIB WORD 1 CI:USM WORD 0 CI:TIM WORD 0 CI:CSM WORD 0 CI:CFL WORD 0 CI:RAT/CI:RTY WORD 0 CI:HRD WORD -720 CI:CNT WORD -2 CI:TIC WORD 0 CI:MODE ORG O: ENDM TITL BISYNC PICO DIB MACRO * * BISYNC PICO DIB MACRO * DIB:BP MACRO LPOOL O: SET $ IOS: REL SHARABLE TABLE: D:#(1) NAM D:#(1) CHAN BP:#(1,3,3) WORD 0 WORD C:BP#(1,3,3) DI:CIB WORD 0 DI:FCB BYTE '##(1)' DI:NAM WORD 0 DI:DN WORD 0  DI:DS IFF #?>1 WORD -7 DI:SPB ENDC IFT #?>1 WORD #(2)  ENDC WORD 1 DI:WBT WORD 0 READ MASK WORD 0 WRITE MASK  WORD 0 POSITION MASK WORD :1F FUNCTION MASK WORD 0 RESERVED  WORD 0 RESERVED V: SET 0 IFT #?>4 V: SET #(5,?)-2%11++:8000 ENDC  WORD V: DI:DVS V: SET 0 IFT #?>2 V: SET #(3)%2 IFT #?>3 V: SET V:++#(4) ENDC ENDC WORD 0 DI:OPT WORD V:%8 WORD BPO:02  WORD BPO:03 WORD BPO:04 WORD BPO:05 WORD BPO:06 WORD BPO:08 WORD BPO:08 WORD BPO:09 WORD BPO:10 WORD BPO:11 IFT #?>4 BYTE #(5) DI:SID ENDC ORG O: ENDM TITL BISYNC PICO OPTION TABLE MACRO * * BISYNC PICO OPTION TABLE MACRO * BPO:02 SET :0016 DEFAULT SYNC CHARACTER BPO:03 SET :1610 DEFAULT DLE CHARACTER BPO:04 SET :FF1F DEFAULT PAD AND ITB CHARACTERS BPO:05 SET :1703 DEFAULT ETB AND ETX CHARACTERS BPO:06 SET  :0102 DEFAULT SOH AND STX CHARACTERS BPO:08 SET :0405 DEFAULT EOT AND ENQ CHARACTERS BPO:09 SET :1530 DEFAULT NAK AND ACK0 CHARACTERS BPO:10 SET :313B DEFAULT ACK1 AND WACK CHARACTERS BPO:11 SET :3C05 L  DEFAULT RVI AND TTD CHARACTERS * DBP:O MACRO IFF #?=16 NOTE 5,'WRONG NUMBER OF PARAMETERS'  ENDC BPO:02 SET #(2) BPO:03 SET #(2)%8++#(1) BPO:04 SET #(3)%8+#(4) BPO:05 SET #(5)%8+#(6) BPO:06 SET  #(7)%8+#(8) BPO:08 SET #(9)%8+#(10) BPO:09 SET #(11)%8+#(12) BPO:10 SET #(13)%8+#(14) BPO:11 SET #(15)%8+#(16) ENDM TITL BISYNC PICO CIB MACRO * * BISYNC PICO CIB MACRO * CIB:BP MACRO LPOOL O:  SET $ IOS: REL SHARABLE TABLE: EXTR BP:FUN,BP:EOB C:#(1,1,3) CHAN CIB: CI:PER RES 2,0 HEAD BP:#(1,1,3) CI:DIB WORD :7600 CI:PRI WORD #(2) CI:DA  WORD #(3) CI:IV WORD 0 CI:UNI WORD 0 CI:RD WORD 0  CI:WRT WORD 0 CI:POS WORD BP:FUN CI:FUN JST R:SA12 INTERRUPT SEQUENCE COPY =$-CI:EOB-1,X JMP *$+1 WORD BP:EOB DOUBLE 0 CI:T1, CI:T2  WORD 0 CI:APR WORD 0 CI:TIB WORD 1 CI:USM RES 3,0  RESERVED ORG O: ENDM SAVE END :0405 DEFAULT EOT AND ENQ CHARACTERS BPO:09 SET :1530 DEFAULT NAK AND ACK0 CHARACTERS BPO:10 SET :313B DEFAULT ACK1 AND WACK CHARACTERS BPO:11 SET :3C05 IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII