From 08df1b52ed02289c4e4dae86a44aae1f3432649e Mon Sep 17 00:00:00 2001 From: Moshe Bar Date: Tue, 7 Sep 2021 03:46:24 -0500 Subject: [PATCH] removed SOS and moved it to its own repo --- .../-Amdahl_Tech_Topics_STARTIO_Program.pdf | Bin 32286 -> 0 bytes SOS_OS/-HELLOCOB.zip | Bin 9113 -> 0 bytes SOS_OS/-IBM 360-370-390 Dates.zip | Bin 23687 -> 0 bytes SOS_OS/-MVS370-cmds.zip | Bin 739347 -> 0 bytes SOS_OS/-prim370.zip | Bin 13644 -> 0 bytes SOS_OS/-sub.c | 83 - SOS_OS/Madnick_3270_Terminal_Demo.zip | Bin 92232 -> 0 bytes SOS_OS/Madnick_4_KB_RDR_for_Hercules.zip | Bin 77354 -> 0 bytes SOS_OS/Madnick_4_KB_for_Hercules.zip | Bin 110142 -> 0 bytes SOS_OS/Madnick_Sieve_Primes.zip | Bin 10033 -> 0 bytes SOS_OS/Madnick_with_Console.zip | Bin 86243 -> 0 bytes SOS_OS/README.txt | 110 - SOS_OS/README_with_Console.txt | 102 - SOS_OS/SOSMAKE.pdf | Bin 120736 -> 0 bytes SOS_OS/SOS_logo.png | Bin 160162 -> 0 bytes SOS_OS/conf/madnick.cnf | 27 - SOS_OS/rdr/demo_user_program.deck | Bin 1600 -> 0 bytes ...mple_operating_system_version_2.00.ipldeck | Bin 6240 -> 0 bytes SOS_OS/source/sos4krdc.asm | 2341 ----------- SOS_OS/source/sos_asma.txt | 3473 ----------------- SOS_OS/source/sosouput.txt | 3473 ----------------- SOS_OS/source/sosoutwin.txt | 0 SOS_OS/source/sosuserc.asm | 148 - SOS_OS/source/sosuseroutput.txt | 301 -- SOS_OS/sysgen/madnick_with_console.xmi | Bin 234960 -> 0 bytes SOS_assembler_output.txt | 3473 ----------------- compileSDLHyperion | 36 - random.go | 83 - 28 files changed, 13650 deletions(-) delete mode 100644 SOS_OS/-Amdahl_Tech_Topics_STARTIO_Program.pdf delete mode 100644 SOS_OS/-HELLOCOB.zip delete mode 100644 SOS_OS/-IBM 360-370-390 Dates.zip delete mode 100644 SOS_OS/-MVS370-cmds.zip delete mode 100644 SOS_OS/-prim370.zip delete mode 100644 SOS_OS/-sub.c delete mode 100644 SOS_OS/Madnick_3270_Terminal_Demo.zip delete mode 100644 SOS_OS/Madnick_4_KB_RDR_for_Hercules.zip delete mode 100644 SOS_OS/Madnick_4_KB_for_Hercules.zip delete mode 100644 SOS_OS/Madnick_Sieve_Primes.zip delete mode 100644 SOS_OS/Madnick_with_Console.zip delete mode 100644 SOS_OS/README.txt delete mode 100644 SOS_OS/README_with_Console.txt delete mode 100644 SOS_OS/SOSMAKE.pdf delete mode 100644 SOS_OS/SOS_logo.png delete mode 100644 SOS_OS/conf/madnick.cnf delete mode 100644 SOS_OS/rdr/demo_user_program.deck delete mode 100644 SOS_OS/rdr/sample_operating_system_version_2.00.ipldeck delete mode 100644 SOS_OS/source/sos4krdc.asm delete mode 100644 SOS_OS/source/sos_asma.txt delete mode 100644 SOS_OS/source/sosouput.txt delete mode 100644 SOS_OS/source/sosoutwin.txt delete mode 100644 SOS_OS/source/sosuserc.asm delete mode 100644 SOS_OS/source/sosuseroutput.txt delete mode 100644 SOS_OS/sysgen/madnick_with_console.xmi delete mode 100644 SOS_assembler_output.txt delete mode 100644 compileSDLHyperion delete mode 100644 random.go diff --git a/SOS_OS/-Amdahl_Tech_Topics_STARTIO_Program.pdf b/SOS_OS/-Amdahl_Tech_Topics_STARTIO_Program.pdf deleted file mode 100644 index a6bb1cd8df4b0e9d0281e05aca5477d0d317e719..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 32286 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
46eIocH%-GlgDqVyS<<2A~>&6|_ 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 diff --git a/SOS_OS/-MVS370-cmds.zip b/SOS_OS/-MVS370-cmds.zip deleted file mode 100644 index 3e69bb23b77d1ee97c6817d10307eb12d55baa4b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 739347 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�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 o(%o{F`?A=#e_!q_>gG6wKmPtgJ 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%0AGG6pj3kRTME7!!b_&qP67wxIRd6cU<)Yc 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�})Xu+^!| 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

%sO_5wuE=z#jP> zyUyg5tNN)zx`66pyfBIS$l@r8hNiRgc72fylyMiU#z{ujKH9rIuh~ZIYn`XiP-$brJk?1SUm#CfX>+| zn+0m;8uQ2zMqpsdZ_V-uhfv}CZao{$Gyo-ofuVjd-7IeX)T91drmS84I*?{b@rF^a zNv?wh60Kkrbes(dCgHH@ELwYqm z3)@<{$a=T+J&5dmyIkOQW3tQp@)+%ltEZe;;@VA;>C%NZ8&0VvFC7ut515OT3V^&a z=o8e3aSFidxLe75&HQy8CD=hj@Z_FER-I{d>_2KO8aWESf4B)MFXrF+qUsbyTM&S7 z?S%wEO^4frTN$TuCX!+SdF&Q~-%eN6Q4$Vl_F+{}6VL6GrhY9rn5zZwr}2H;ItfH3 z>_E8hkcWgtrc1|~P$A`yw3ujH6dfH`Fy%*(AWAcC;d1+UHaIO7`VkPJIp>Q7`;F!< zw)|Za{rJ=HQ#cRqSZ3hwg{-*h-==K;2m(#OwBbuk&shG^E`yG1zEPd;99Uo&2}d=# zA0+XlMyW+;QWcALw;V?T7M#2u#O#G!B(ClX;2dd_gaR4M(R)kNPqIcN5I-~==TZtIBCM*M>fdsBR>8SB@q{}%UNyIXOfX&W*hrv^4+bA5_xE2ch z*kg|8lNFp8%J6O<4YHrl2W1CGJh<(|3kFxl@=U!Z@RvE7yGFJDGJBrm8Uc4(L*F)P zXQUgbMv9^Dv}c*YAK{?`OMZNe+u7-d<9*4oQcy6$eg)Lwb&w6LA0)WOzB&u6;?ws} ztz>JVl;1Al?!C~HAdmPNo|`fm7%!j6TYY>Jo1of>`!;@dWxhMhQy(dcrg(@*u4tfkPX58HJQW&a0#t*cd}OTGcT!9E!^UO0@yrA*hwIb}F)1 z2Bv5tSw1I#CRKb{MsE-!+qG`6H9{WwU!<*UP2lUD6XIS)nzEY~9Iyjd_BOQKor!Vo zk9~XhTmObh7z{E>Fi_6qj~)yRU(S)iBA#>76!gA8ON~?5`oU6r&Z!uCs5}X0`!60@ zsGz#?kSydCs&?L!L0nuRGKBmsN@)HJf{Gc;f+FZ-d*;oDRRCtb*|p(&&b0Qv<$ z<)i731#wv{D^@Q=nuheu2Q9AZhJ;c0A!O!(A+SKS;artj*(Z_{7qTpIuskPbgg#GvKlPRe!x0#IUOqTDKGy)$IhOP6&Yv<>o7Jydzg;52GmH671gF2g zG8Ok-FIGW@3^2419dmc1Y4_j|Odl-5$dXJKUCMx`f+I^G0K77#Rmw(Wuowo~q9qBz zkX!Fn9KI6r7hC4!l@ig!539UmVz8LJ1_w}r74B=^Kezq$( zyMmEpz2D@FCqQ;F;|JOK`4t}dWx06SnKO6Kd?cAdPfv_PsOi9Z6ZmMn+(O4(LmPMz z_{VSlYlHfn9G2_@wLSu4di1*$H%6*r)?K^TKUlqk;$JFLL0@V;_hdew78kLddnxppQYFk{cPkoHTa1G982Je+e?S&&(~o&+hgzVm)8SncrrT;6*C?>{(0 zLeeF9K<9@e)zWKSCxOZkq(!d^`>M^x#%5n?AV8ZXe5A6Sb3Nuzgb)?{kN7l}+nJzv^L)_QX|F8O?cI_YtRPfa|ovgSx7?Bpkc ztCT8PkaHDMq~|OIuq5>KFZ}r=4!8zYi~!{%g`a}y@EZ7SJ4w*KVFypUkdb5b&L`nykXY}Px;8QK#lQjYml5>owo8vJmG1aDPuo8 zatVH{iPIS?csgI*xyj!7sNK0gH%vcXYt{RJkNELO`XB$yFJ!o1!iMFCHznfTkq+B5 zS5&{5m}qQPAsD#fW?^iYnYD}iS<&xk_v&Hrq0_IW>sRgEe&a$-oSqNVY=J^O?F~1^ zWHm#MH#KuV-I2fP_^LpuZNEq<)n2xAnNt-&3s_!+2HPdsBfO0D%%&)oGU6O z1s6~L$u_g-^q)KIv9_qwmD>XQNSwi6Ow56b;X2mRGskT{Q_&s^Hhw_tK!WUyjQ2F) zg2N|RK|+7O4Aw7+leKtoWdS6Q17uPhDgi-gF~)Hv+tIAVGm_7#7QeyU-`mZ<%}xa= z0Wt{&dHh_XIs1P8?I(am-bZUOs1K~vvSH+E+XuQh`N(Hiy-3D;@zTDL(-S^jfX0yv zoF4T#3IUp$SgP~U1u@?C@Z(Q5GANiZAE>Rtar;Dm62Aj6VI>3@=;+7Y|H;{T$BJkj zXXn73(TNizX;{B%&z0K`^Lq@?L~0Zv;N+v@^Ue15a`;#qb6ZmYh&vlV!j5wmpPmW_ z?(2~>&aZ9tTF&X!wm(u4^TG!GmzdiOob$Yu`}A)nJzXiBY{T7(T({oNc&%B0O0k~Z zo4l^6k*XKx0s8 zB&_P)jWj^ap>@M0Dp1t>*c2E6(d-{mh`^w&>!&)bwW!mbuYB6na^C@VY+Ywp?@4k` zon16U2JBCBm#&J!d-Pw|C1CQKiII9LIFFCvyE>qIr~YlE&MiL$nI5Bu@xj?%*Ju#U z%t&S7&6E{34kqM4N_yNm{cqE++Z{X#O8xnowvqMjB$A+xVw^Lb;%^udWrQg9Vy%Km z>4t<~pd-~qTIfomk@_yZl0INL?E-(gGCJ+|bMFFAMd%o4?R>2TYD4krUCB?TMyuc> zDdXM@oluOt;Dwx|M|<0X-%RriMEA@t412pN4f*Iw9`>lL0@|w{wm{F@0HBA{2xlW1 zWdB}L93G&3Q4_t|(~IP`DKel#DJ^VfLKQ!eu+`oFkdeQn@uh=S6u`69yMKsEQBsJb z8vxfaestac#ofQgL)G^G!}xWULkr(OYN{z}en_j_OqoJWeLLqpmteSYAMHr5 zZ9wWEzmwXIZ79&*ULwHcqNpvliB*So!08I*PfaO0%+#Y7B0hdDhIP$N%S05?WWyFf zl36lktsf~hTFxTq6gh+yM6i8;H*l>y3FGjHMQ84Ax>Wbc4q5FPD*?Gnr|TO1NgC#C zg++6HokheMolqaIY_H7nS=hA3i5W(*LrXg@magB=0O6TRfrp0g;jbSSy3TPXK&=Nw zwz~3iNdwgt8FN&CTSeXa{Zn)CLv%zc73F-q&8IgYIqiLxQXbT1+Sx-RR+L6Ze1a&O zFTMu9Zl8PW4V|H-lLQHE&}p5YRtT}okjkqo#~E&N${p~l%9hFsPjX7hR?mf;@?u_* zj^io5TNJwhhZe(nugdi%1;$@(4>qBXsikMvbPxk(B!_r$2;yHR)gwLmG5KcHgpSS_ zc{wAEAf}@8J!pYL(e9f;fqc77S|88bV z1T8;(0QP!O2!d_ezi2;Zh(p^3Jy>yqf$}y*)Hav+S#ipxd0pPXAIj;F%O5R4+|$yxY5cv zTb+-^{Ew6$OEzI+sV>h}Qet#Z)h2tvDYjlT6f%);l|sicBi`%@mde1T%RzB^awDKQ z=CA0Nv1?!*`*WHCA94d^*}>23qQlleD}iBOn?BwY;gV?X4h@EYcZnqt2`be<=DLm# z9$zj1=-*_>Dz9l@GlQ17T8-tvH+7auB(6a8xggVkPZ1<#goS3Q?XF)&Nzsj1D9B_O z;X`9D-<1s*sX`AeWD7FWsFoAe8kv6SX_9&7DOu1ok;NcW=FD>9yYnMt&iv*k>ZyfY z@WH1l6wUS>K?&RZX7w=asrF+^niO?LLvQ6-AI`|U73@%HeZ`A45YWKD;OUP}hAda) z4PwXf_&#`So_wI#olsYGg-1G_Hi$I6(NS?4`qIvxCOluT&QyC}ik4bo?Wk{!r2?i2 z?mlC=(?t~X6o7~b1NpURQseNmbcV!PHc2qF{L5`(y5K0OMaicG>%Il>~e3>F7j>0X>#tO72O(84!t)_#X71;<3*hSmrGHolONj%*gKRy(hv(; zw26V=O?er0Y`)D}1%nAZy!ZHITdzo^HOt=3l#*%z$|OZ8Fy>~rN|KL!<2NwZ+D&~@ zdOevU^$&6c_gtWvOp@&bQYwDJ_1OGCcX7?H)0FJsa4h32tkcSP%`<`UosfAI!6sQl#9#I z96m{bcdHAE=N+Z~#G*coFg2(Jff3}C&X%X0-8#nhF@HSqtFXTARxP_Od3rY`x83A#?S=^DGi_aaSIV-2q#w}G6c)w2xv!6+ZP ziCP_p)WmD2QP}{o;wwh-!pgj;1)SW=-1^>}T8tl;eNTA3|3D0Ca!aM+9yKCWE|>FD zynvLONjg#@witL5BabEwqH|7k*$r4Zi9cTfA^;T|c(!<7hT{{D+t!X{?O&uFOw*Mx@`C3Eh^jRWO1_Snid0~`g=K(prxseB)Zr|L9 z^tUfV!LjfVMavC0o-JBn3}3ne7YI;kZee?Gn-fnU0~Xp}e>6hR%Z#i)w$hBPpxS(N zcYREh(g}N@bJbd3Oyj^AJs0R$ii{Lu!`KMROui+36~#FRU`VC-8&MmI3e^Wu8rH^S z_UImEx#7_ROr$4V9nfy~ON^mm7r2|P_gjg|h1DO;z*u2^i`|q9B6^>OvMPZW-FUJ& zVNQC=6vmGJ0y5EC3}osa(I7~20F&sr4gi_fw+!+|_N+mh{FqT7-CPz8{kJ33NX$cH z1ulzqGzDof^eqV}gCeIOYVsvf`aev@fs=E}^$^mELzx)w5N{~-pq80YV2lI&cdlT1 zf1j>{^dG%U{e`(H`nn4FRHI`2B#mIa(ODUYDRFar(B5#hpVYk&XZRK?rObQmUt#SizkBzzyG_lY6K;DeEwlGLP5@E1a`hx?VjA960M5!GTS{$JM zR6`pglkced4xJ~~P(!H2R;lXerdKEdEeHkwRY;euLfXz4hYHc?u?(PNt2q(`5>D;< zlvRIyO0k}y^rc|kl?eL}5%wGZaOnPgkp9at6^6xRlUx2v6F#&gg(eJrP57sE?z(}x z)5_Pc2d#b^x$<-TSY~2s(P(N;nYe)IuTcL+KY!Rh1oYzVc9l+Mn+X z6VEQZ@jBg7&3~=KAq9IS`y;RIE!I_+pE$a6&Zj_Q;|jaSM=VzSJN@R%u|1etUq7E6 zOEkh2YfjxUTB@t|YFqg9^BTR)Y!}C!9_3{cyTR;j4;qu-#rQb#CS6}%=qlF6f;kOY zyh|H@J;+jJqdmLd?#&8UH9QiocSQA<>BhQWrc(t|CdD6MuhrfnY4v((#XYvikUL$2 zWm%`eQe6;)4C`gHtm;c0trj0HRa)b45l&^>>jv3zOu`p-pPCyyXQtN6WYc)=<$cUK zEV-$}=K8IsO!HLjIoHb`+zodRYn9~icrJ1KJQyx+FP7(wWSqga6gE~ez2~MyZfW1K z4{>q%5zc86G-HzmE{-nVF6(YA*urlv%;gcT68GQ+)n$^+3%)()yU2R4^(>f!hW1i= zO7@^^!LBmHM*;kX-Pc^mk`HMPt~|l!<1CphvY}%RuC`VxwX_~{i2F-nwtL}4+@^;MKNc-J@wR^<9EJrf@aIlFaBRR%1Nl5 z?=rDv z3iQw0C)iHUjIm5C^!4xgEgLKDh|7h$E(UJdK2vYwt<+7I`PD{u_fpG{!luK2}hrqp2YEC=WJck+R}*N(i3oMsLf? zE+Of_!SR4Pknjn_D10%RLj>TOWG?OYBj~t>aX2V{=vCTR7y%iXL{Z?O4SZtCZCw0e z6)HDGn+ntUAQCRjM&U)o*e-8$Qe&?k;dFhXwCgc6w-$8|>N ztgk<2v6SbgskL({)%((yC}c~6>0@k85Q(95#105J1epV(p$0w1w+ExMmg|UmfQ_}cP(%h@vynQsVjG>|Q_g*iZ>g0F55aNdS2=kUQWH=L=e#+I4 z?gDel_z3-|is}{Vo?WxGd}L8+5wq@LJ^SXwHTs-HH~lMv~O&3(AAyL(q!7Dcubhf zDBvv-jFprFlEJNA7b4x1 zBN`F8on7)$P5uaF06FAsI<^aa01ZAPn-h}45>X!bVr;bu9JLIh0laL4g-97Hm3ZUt zE?h-hsn$Fl1)(kEmGS6uQv?sVnB)@BUNO$&1r6p5^f39w zn;Ct&E0sWXsq#3IH{64&xei9k4Cu*79~wk@DD&DnIg~8{;dy#)&>1M`%2@Dds=ZsK z`PB^9BPWyf#c<#t>7!kyD~mk%>lnQDI@UNbh3 z@vBvyx8?Rlz0jI6Wn%dCr1tn{p;wIZ{dFfP*A1MV+g)XN_Q=X9?^gP5^`l*mX|LmF zi`l3Dbxft!JaMk&lgGlH)`|xjH8l;Rj#Xdjoo}#2*D!-J5QjBYKU%DHzx88$!s`RI zx2BKT4ioraF4Aq9LWJ%ok4+(SH#$@>$JeyEOiE=xbb-iSPVK-OeeFDDHcKwb8evAP zZ&~(zmbI9>`QEWZq?ME2?3LZV(*SY+lbdO#=d_&H-v6w+ zXV;96w?|bKjSUFXZe|)0rfbyvG(3q>HWWH;bv31V2kMz7&$dQ}L!mUY&P&sQmuz^=aVY$w~{#5#3Vks=m z|KE+>uw458rPvM2mCG#tA5{&3(f#gRLUVt$|1GsknCp%FUksL4barUZLMjL;tYVm&WBVQFK7(bBB@rj5*j z8046tAar8V$lfoXkKTAk5*SkiPhS8@HJ1oLQ&d+M&YkWlPp zqb}U^0k(qh%*?re3p%4p^0{e8#Ya}S zkN4WPqQ4xzV7n??qjxto@I@duld3nOQF?ADU;?sTns+rU{N4RB%61yrL-gpAvbDB4 zXUaPMeuzPXv6Lul5`=b|Nr_O@0Z-@SdpHib8=o4r5H&Ppmv&ALO^!1S2$wZ;uz=(A zmd$O0{2QEBj_T~n3HjH&Ik~L_r{zHI0}jj6;-7&7`3D|{t4B=%9EqBaYy365uqAVW zc@>EpJbC4w?ZxrROyL8ObBJJJ!aoJc<@TG)8^{<&*r$?RSZ^Iq`{D_L;~V+b#WO=sz@qH z4H&fzhO-PA@OoT@^r=E~(Qq312<-BJ9pWM;P*P%{MJ&Vn8;J>79W$Cmw3AE^T?tu0 z&Vpts-~_kPdo#5l1-0@W%=vhX^|dGU8Cw6jlz)3={6|%pKN_Kh)wdj02X> z-G9OlomW)b%9?X+f>Os z!eYf%L#}otzSS(MYG5qZ;rCVEH@75cB<6>mu~B->D#1Zx<6_D7E*SOFd$so1Wc$NI zYaPDl?PV)9&4@W-f8~!`@uSNvr^c#z`o24%ob72iwYvMD$*n7YE%7wEJ^toG+QQiw zo*Y+mH^@l8>-x$)8^5izz3E?N*cJcRkgieDO4ZNS-1KFu!W{k6 z%}3|Q=SS#=*T#1Z@hlboPwAH}{16@xVelVE2H=q!xzm{y_Cw|>l_J_-EpcmH!h88` zBWE6+kqIQ_IL~93rI9yCyI*(^vjaJX%*lTWMPY=(aV4i3)t{SmZIsM!qXr@-^mLMi zJ*IHqz3rp1QjK%A-LIyO@KgIRT)0CKcbsn15GIv~lYibMh+&E1=6HsTEH00xS|TCl zkXJ;Z*>O1`Xa{fvI0E}nLABch95pOY(2}3x?_;05BfsL4OsBlOyPGX(-9OZ=E*Gm6iADRWC7ki4HW# zuvj2FFA-8Tlq|yd)c2kUs*8?CVWbHvA0r}88gsd>-k;$UY zbj)2ZMFmb~KpSV##rHTTizpm=Ha`SMc03<9#f&&N?#h*H%eX3U$BCV0TVwNfQ#|o zqJ=-sX>JqFEIcxvn@o~TEx=bz|oBt?W(eKvZ2QEyUeitP% zazQCQRQIE>^`JvigTp-jT3!M?M356_4P1lC+QxF0jU3l!7zcqR+$(k8G z`!D&8=V!bB9@_0-9s10HqMTWqR-2Blo)ddp1`$00QpXjpw07u`X34yI8nP+%A_EsL zBH&Q!CrF0U!7J#%YJCPpbCEibV%iWp<8}=PHzjso*=P} zgW-i=Asfp3%(r0V!WPKH07V}iO0VY;Eg4d&H-GdLh2)aPf_`1oUCqV;>s6#h*FM|X zSsAM~N7$}6HaTc)SV1p)j>`!hkNd{vhomhBrx2Xs@-9M9H4+T}iKvEuFE*;NoL`3b zq5E+er~AdhcOUNp?#`5uub5_h85aiyW{-`l84!o#fCx~Lkg7?yrvbzpDNWsfbUeVi znBh$thVL!=%_w+7sjlb|e>hLtYl&baZb@sgm?HnZuR>h`c1@=RRLw+6#gKqG|GqQr z#DK1-Z*Q{G2`rEp%Ga>zu0Lu&Ta+`CCfCRMI`|43(0a~h03Qi?&q zxbHo5U;{rL{L%&Fy64Z+X}^hr-(>;O-?11n;(xwIm+#Q6k45StbwAAy1(UPPoIXb9 zrv1C(45OG6?RR^}yq-LH7S>vEfF16Lo+6W`csoNosHptBWWysH$`dv#7B0}Km?$DJ z*_C2~L4d5&M_LCR9VHL5ud8Vq);rbdnqO|fcyM>Cruu}~Ew$XwSGqs{>@;_>dN)38 z@>+~c`)FGAD#EN@z#E{9_fC@c?fDAp?kbh;Qy;81dr{qES9PS_e{W)3zm>&KuG#}S zQI;%hOUg-8c`!7TP_s0@M8FZ{l{N4HhS&H|;!m)<6a<6}aCHz*j|Tq8GTKd5LSZJ0 zQq+pH3mbx?FoFVi|C2Wcz#H(P)0;F+crcfGwmabRcYt$geLIgn35An8dNH!U2XKQ| zOsMMp%+_aK6lD`bvr$w;d{CTEz40psjw9|9WiSi{@a4^A6;(sO;A201E;|9VtmA5G z>eKa(UfNBaEt1JZ$9sFx_>N!6i?_dfV!vjag z)1?9;pR2g-+wmA_}3W$cm9pp46Ze+fHIQ<^oWPQ1jeY^vFvYDW`qmN)e0$ zv>zeiVE?M?%1iqr{~GulyK!hJ=xJH^SH1i5-aQs=O&afStv4=1!$rr|Cc)m&X{Dn6 z6Iza*jfsitR=cqO!k29;#}B@b@MQ+g^XKhZ7&9$)msa@p>RBr0tm^Hx`nPYM9;{ki zT{X}DPS@S)z5z-aN1NF)?WT6iGvl51eLv>iDJt_54K+-`2!c^48*^MMcMQMM_sn$v z?P*aOXft1|YnnT>bw;)0#W&r5{*^av%BKy>03ifWGh@eh`*$C%tJ)9>u3Q@@n`+&~ z-KwPLOu-LN?Q4BEjdhGuIb9j6!Gmla3^eBxc*6R8Xt2J-M*- z^&S!ms@#L*E1H?N4Bt)?c|6oQX875VW?vzkU!#qyY9UMyR=*n`t~L>RJjyz5%Uv7S zXzN;6$>)DpGH3FjizoG>eUA&Ux}h1f)q}q_%DiJ(%g{D~GHNpOzMm`fc%xou zMzD-Earkcb?7lmwP@s|gY+cU^Qv>oD6qUgA+b}2A$q4O!&h??UL@2Oom7t$v=cR_p zf=`;s8bWBkATj{4?1>wXtL_Z$0TOD>3g>>kV(~E;`9e*l zWgKcszfOkNd?*G%F@+djD9NBKAOUS8$SD9GNIQ<@%EmI($nW7$>kORMTGM_CB}M}{ zkiNlZM>7RV@7JKh^#V8_R{koG&zYttAPT7&hPy&n{J~W0Dh0}Uce4fZRVOKn zQb^4^?^d<2#we|*w3oI@<~dl~v}qt3L>l`{`K`Y7<{rj|wTliKucc#O26!mj&${R4^|d&0FnVG5408)2vzNq`|-pn*q(`;-+AXe6%E&Of8mWnf8|f zxYeH*&H+jL{r#UAaUk1aUiD(hGY&XWT`$R{z1t6!IB?!n0yyxnp(=_v^c?*)=$9C8 zD8gmmufBUO8d^Sodbhhzyx#|k@;)pJ_B*yl5DejmD^w?J?cTrB{I4JDE-0Q$J9ygNr{@kQlgc$RzluS8}ttLB4qMqc^Jy|7~1{8+MimO_YXa_-Y1-5&~ra@bViiw z&G$nq?g#22xO_dSm43UD2rGDKZSj4}twj|RN39!CB^%*+Lor>w9w}erhWED$GMh!r zRY0Z|dPiXH7>1363gDH1gYM(d3DN+&%?EwPn4`lQih*^9P6qzR6$08wGiZ^>CylFR z^bu#h4>i^d+Ch_tjKrYATt3vE*5J__s&qPk=r*K87j#iZeS}S*10nRzuoMza$o^6a zTKEIhcuNQyoMd7okT2x!5&|`$CgR`CB~lLOM;?SADDH+(tc|Qhnxbw{G-4ItUO~bT zwL^dpG^>-0!b63l+Rhl&h(HE9l9_|UOei~Xaw#bS1EkLs+A}dhUL!;~l8wp~-sBPO z*~jH}R;n5Z^qFQ468H5y549d!CfunUp=0~i_{>4;m{=9suWH)B;S=7JJyZ3-un(VB zrOnEoC6SOk$qPFaDE21HBnNR3lhaXNa`r$Pj*M*bDFksMrLi`br^!Z`<~Wd#4LI~M ziI9g$2To}_aESb5fK#Oa86t2mD5U-82xMN(NF?f!Q34feYQI?&seR9EcIXh`9%&i^7SZn_=L-lc1DcElN=;nK!&dAqK<# z6B?flB>6u_k#tfy`Uqnz+6r(7G4(7y;aVsGvi%Sb+K{JiXiy7l@nd7v31m)5&yZRz zL%z%d;I%dogKy$joM#Z8Q#W}Ze~@5CLe;`Y-v$tpODJ)$IDv%JF_W(i+#B&=X?_rC ze)QnFQnf7tv(jp_!dcPT_|Di3E3!J%SxRvOEcGD0Yzlwqe1}2Vxd0s{)NjGPjxQDF z{3`kNWXQK>g1>dd>7}Oe$10n{X0MF4()#uMkc$7n&2IhEllRY3da=K5<(DTl&(rDs zpfmqfpLLCoVUg-z@qb7z(2LBuEDP=m#dQzqV;FO4B6Ch^W(tgE=V3ZyRGl_p7J&(~$yF z;P9&{np(5^m2_vpErZoF)D@MrTZtW33Px;2KONNtzPvb@@Kd!Vi!050F3OmP+8|Y{nf?7B*kcVBsTmh#Y!$8+>#~ewK-eYHx>Ya-`WP^rrH?$t`{^LvwUc zinGhF>+U}HtoMCBo5I7|E9qDL{L-#`s;;=RD0aT}!$TlvK_1rI*U~>;IqOmc6;@vUW$P)I0&t^Rl;tmN) zxTCwo20dnU{0|+*1C9OES}#E;<4d6+B5pEaqNHBJD+HRrcehxNR2s7aWLQTPjsH-v^!)ZlPL7zP<* zehvciHvNOIjPe~QHp8bQU(3&tSnH3}aG?4c&l6#!ACMh9)V+}!SrtA-O!lx`J99ZO znDx5&)dqi6bl>oS*=#Mt@>&kWb&>PqD2qd4@WNFMB{)G8i1b7>6DKM&wRmN1krGKk z{jojFYoTi_9vgBsU)t@{R1Cd-ePz`G9z+(D*Z7Y3Zc3I-f6qlA;(@K+&SZ}W0J%Ozl^ zp?^^3y4M@7dG0=9bhXnh{Gy`I@X zQbeMWqMg#=VhBP74{6*JjGc`NenTQ31ynvr**R!yb3iDvk>3oSdu8xsyK)=_qO?!E zl@2qTH4*SACFb=<0-2)m`e+bwhJ|SN)IW@%CDHG|Qi^p-t4Q4mZ=(vU#%gnnmA?4z zPr4}Tx!SEccIP83HT74vY>l=1s&ja)O8jyC2>mYQiYlYkH@N|Ko*RGH?@C%Z)n9e; zevSQpzYpsFQ+3)zQax)DJAU=_Xrs%N)LL{p*0H*;bpHFpE1iNCO#ZHa@7>C!hd!QI zsJgN*Z&An5dtWkpmTx}ux7D8`W}JWL)QTg zaMdPeXAK}G9a2{E+A{3P`{^=#TuJR?1 z%AfnC1a}Xa$MpXF`c@aipnlyg?Pnq<9PipSlYBHN$xj>h>-@e>;MCmDd(pR~kXsy7 zY2BHpIeCD+OEi#1CkUp%&h9HW5$%lRkiuK<3p$Op3k#SEpoT z>*8E$?l{*6L^K0*D&BNK3Km_rV@7UsJgMl|v}W1h0*#osgT{vU>Ct7(q9${fT#rx- z!9c(h0p1i+PEn!X>7M9X!8lJueG~JHE4(jjuRHv8wY{$OEWL=+W}5#bDI6SokDnKA zYU^M4@@}QtZGG{S1L|4@79}Wbi;G5&gse9e&~1I@jrCaKiazc^SyW7pI=b2 zyJcHz~~+^Tt}KUG;KOf-IeC%$`L zxB9pNR<*W%%u3s#1%kr`e-clWB1w zl?vp^u@bnJXmacP4bpqkanI!eM=zj*)6dsv-ZafjEyaY}(4YWnK`JFJYi7Oqdlgcv zGs-}f;iWy83xBS_>x3o6s7y$5JqXu9lw4Q>qf1F>l0c^$ zL7!fEF&)=Jt$U0ZKl!dKi0Ht4f*!Xum+z@XJ!U9H&um9!FmRTSkp>hULJ9J@+CbkD ztnupleI1%s^iDFd1|4RXI7$0qRI?^1AIV3$by}e6h3gZC07?l>^8so6=6RhDogIDN z+&8(Wl}&L*UQ8@qf(Z~h@0AnT=#ouMuTmm_f*!n|E@lQeA|A@n{Ixe>$n^T?%|noK z<-QU#!sxD(jthtAR7^qnt;9~?^8+u2*gb!|ENLZkAy0felD~%sogTA}miY`nj}9nb zL#gn#LSZ0}2cc_(lw@8LSm_`D7k=sFyQ8Y!XwYzWMQ*DrhXfXmA_P_$B5;L{yYJY- z-n}-!Z>p#4zcg$njafYbWD)+CPx9edijce(WUp5@09gUn3exDpLbvWs%Q+y7xM{v` zB)S{|7Z`)3G=p zb7<>A$Ydy`DYAe+oYO9#&@za|V&F?<{}Y%<7w>2vRmD|icW-|m-SXkfrIj;M{`z>P zyRY8c`UiWmf93N-X*IE|>R4OL*p>1DzZ#}a_fkdue!trA$t%^y#~<+5(U016Og}uo zd#-N4dAtAZvM1No&#*VLH_?A=yfQuN*th4VbARYRdAHK2mRb#;G^mC0jXBTk4aJib zpWewb@y|SK78muaF89%O^PKr_hSKl7x5)qUMjtc$r`zP#=*;9tneiTVZJ>3~Vvdo6F&NksDFx=y+?@DC!W5a9g(KdG{iY@+pp!1Bj zvDoNog{MooNXLBc45UXS>+S?H&EJkET-dh&+$50B4hbchu|q0vMZ_N877h{W+L3b1 zob%P#up)E=3ZkYE3Eoc^+`}mJl6cVb)rlgRgf|~=^nhCnzU{Wr@ho>v_`25K*!n@B zZ}n)*Gi{TY1A3djob|U^Ufma4=jm&1Un_{ub3a@!)6z0Oq7<~U=6Uqol~qe9b5$8% z-_3ma--B`C%O=MExTk6I&Z#D?RC`hryCM8gqW-H6ZoR+3&nbv8?eN}h zE;mmC**z<%5Mhix@~5r%Iq0yQUQHxrAO%{#Un%FBjZiQQW_jxxfw7|9UvEJ~ZS1!se( zedOrhx2Pcuy5^~*cOd2H{VppN_*U9OOssmjEDR&aX&lF8@^G<`d~v(dtolbnhkMQQ zyufYm;shYY2TB6`OZ?UYw87x1q7p7j0)`h#Fy$Xd-<}2Dd@%g+O^-xWZr+mIF>;)S|obxLl`6ZmtTGr|N;4h`sOH|qwB>7IY4_{1Z79lVJ z@8o|zS+V=VwmBJI>s_AgaX7SZPj+tTB_J1MTciDzn}P=&$iKtq>`wl%-CF?EJ$aqi zW*Jy2BTX(|;~I)3;p8I(m4=@;PYHbCTgl}ig!@?^!i=L<=6BEkaz0Bb=2FS#1$o)! z5yiPnA3Rdn$Y3t$TP8MMJG=DAbJ zQ4x0bv}<4Z)>$SHLbl-pCl^PQMTNf#$&dzn3B1fc&ml021#iBeYd6+R#qkK$>M07u z@|^5=W1h<{*mwO|3|l0@myMG)1RAKC&4K~!UUqK@^xg_ZYxVEJhpxx9d+r=Rz4on1 z)VYM$0av3}#rW>*idkj-HgfF((3Jbp`?-()yk}h?v}$xe$pBGgNv|1kY9pDuLLjX! zOt5=+JO84+yXNy59~OSR`@t`zbIO&)XSP^$fxP$4xD?ecbNwzQ%f8q(rkf#BC3itn z6%%!E!r<4s4N5lRuj-lCc)OB$$WEm=al^i!b8G?FIHVVEHAH3-m* zeY*&dAWsW8L`R9q7Yuo>l>@oA%L3fzG=-`zIoX?? zb3{)X!EnP-5m|J@8`&&s zypMlfG{OBDTLh$dc8rrp!&!;W-fBr)mcV19$8r|m6*3^Tm zUYm7i&$jH0FqCjOs&$=|6c&M`_NO7ppAw~G9>l|bl#$UvQ2v8GQbAshjND*g%;UmH zw|3@I15D_O^upZpPijg!QMrBMb;zQma5jA|hW=K-%!^Sc_%NtW!P`sZI5~S3qpH7= z>QbEUS6sNe5y*at3xzvWSC9E@EECg*xG*}t(yt~Kxm#UjF*ZyNS*Tv@fqU&CMR^M%eT!($r$N-LMvt*lyZU~5=;M+w(z ziTU3yxUcw6SHi?a{`0zZ^e;@_(>=}JkbQlng8t1Pr&q49{t;d^&p-Xyvg<$e@4eB_ zn$3Q0d*j>q`ET@#Z74mx==9`Wn)}J4)Z;@pCQRN*{kZ;ZveQcMTS;|W<}rOY_)qn( zS~AH$+WgyI$^_abtz7!XVDLY#-IRFPO-(GG8$i3OsQdFjhlt_g>~DKm(EYiIl!~gO zNVtEb+lS{KjP*+-A{jE*Z0^g9&|d|Ze|cUO^JW7O!Iv{kP3P3U#y&o9?et$j@x>h9N z;iAT})8%0fs!?xV+rNwQWuOi>g9I=->~C)2=eREV)^PBWqnD}aJpapcn>Cs*6?FfJ zj##O!dx5ER^bdw?1m$qZMT_|wEb9Wey2kpl8!94rWC!7nzmg(BwV^eoMccl_2>ATs z&M+RH@Y48fcWy(?N{#cWikGVp)2mu9ra0Cxr_Y<){nT2nj$A zBOnYQLPNk26{2*iG(HO@tiAaiDUdl$v8-~!qzex)apN;q2x+Wpq;WVhHQkn4&dxCx zjg(^CNn>M^JnBo)xP+p5jiip*)sw7ynq19$SG9tl$6H^yQtoP2=wS9*oY zo<)>}N#GSnWw7sd3flk(Y*cl|qDX#K9&f-ajKQbw(>@jrM4RE6 z5;t&`CWIpccTq&%YycHSKrv$M*G#I(Ins6s9We_qvX3*k53)<4427ZZ)CZ-2hLR!( z&c_HK>Ey@+gbKdekOf!}C0RJVIseJHKv$K4T;Pm_@zGT$MxBHr{C8R)Q7MmBMC5<` z#pv>c$snTOozB$5`F+eKdPW3L@7|0{+(RfZEq$JTqBXBLiwF2>wA_RzkyVO@bWHof zrII&z0E-KyV=p-Jo9cw3>p!TRF{I&}hAs9FB7;8BCn-PeopE?qvo(&8|J1*;(rIdX zjY33{hR+iT;>7gV3nd`>*qWUjs6Aaa1!~0cfSaY7-kD3Z4P!aOxvey^5>%g1k2pY~ zIrRyLs)kEIQh|OCQ-R)!d65KX8bK~7<_p3wnXJbfBA2|;XUIBH(((NRCX{zmw3a~` zP7u+)@G`e)2(5;A@a*IgiiHnj!x%EcT1>5#wrPL_@hjbsGS}gUR>pcPD~!f5I+Bad zT0~6?86Cdw5s*?_upCM89Ad@0okOR77Bf|fl;6oe;TCr|@krGb(2(J~*o*)W~D1oIGyoIy%X z#e(x*n1NLOBpDo%w4e-zWnU?~jUpZNNb?9+cT`g4O>gE((Si1pAp`{0dq|x`;38$K z;Cj@!w{WO$q@LVL%!Bi`%y3OQ9rOnNNKE!v5B#oSNlhgwu#q7hj{s7I$R;`U8}woOf6zVFAaPqq_f8&vBq z)){iuG!TlsM0RM2e8NE@L{7oCjgV7l2d3*X8f;IF+$A^?GBw%Y!MVfLtQuw^GYV2Cd5}oS@dYm#xVy z1Dtx?Su}m6h9973&G*EtC7|n2=ac9lAYY*Za4r=KV7RQejEHD-s#%}Vt2J9d*2kD{ z?Mi*4Z=@mm`foSBaG>eO6Oc0`_yhto$mk-V2{vOrD~NgMy9gb00NRi*l}yw(oNPxY zCy!+-r$%nsMo%Y@b0T zzlFfj49=KMl}d$VQdtR0aSEKUL;K8=-MQ{k&R5#&p8Q{S zE~qPNoniNM!?^TWak1lk8ZR8;2)*FY=EbBXbthj+lHpAE#LtJMn`5T6fJ) zGk+fn&^tU9&N^5B@aJ0~t=%`ucz|uQI&j;d%0TwRwRqDGk;TVZ&Zp%yHGNi@ z>yiiO>x{Pa|BbzS{n{;y16_}epYK%C*IB^l3y^DH4UXtKox7KKWhCpDqR)cLl!#@z zit~&$zEppRP))9O&D)jc!u1Q+S;x)PXtbW3*?Qzar(zK+EpGg+7_H?;xw=oSGpw_^ z6r7eE*Nxgf)qLw6GW~Ccvy0=Z{sIX<`WVA$@xvl{227mE!G<%}p!Z8VfI5FS6_oTXN3LET+}5THvHHcd}#Wlo#3x zGsJ9PcEoK(C5s=A^w-bsv-pu%W%B2@w&$yB;>v%TdS^w{zxhKgV$Lfi-R}q9S-1&$ zdebfice)@v=Q31jl@cTUc7)JB)FCVQ+VdZ#feq<*4F$|ht;^KY?R76~eQ8;zT7S;T z(6BlVaVfjHCWOujBa$@QHa7MxW=(7jdSqsLqRXx;KhgPeOhJ8tmA++qR-|Q}?$0D$ z=9Ir{n)qRk9Si_B43DK2RZB4v`)a+HOsz&~g4x5wZ@6c4>uiRL&}xz4n+dDf5xPI0 z&(L8?nwHtJ0mOJACG+007<+=rZF9U~Us0mhF+DVd{|e$&Y)qR&)Q zZ6ZZ}sMSIl#6E37blCHOjmeN#!pjb3t#F^nTy5B5zQZRmn&p#^L3$ zekj&6*wa&p2C{297uIxLt9w!NN#FBV*6`h%M=4cb;w6wmu-z{_3c@xD&^R(uDrlYH zEtA`4rk0%DKbPGo^5BIqX#P_SWEuLw7(XR?u7(ghQOK?UfQ&8A~6bfK1 zH~{e#6OSHBqBlG{QD9rDa3r@b^Rn6;3jdD9NnRW0q!~{b2E4X+NkEMJnkW)ME+SVoD3&&pW1TO=tLbU3A7kQELxtS#+@Kf=ZQ+ zq75@$LL@{)DIPU_1O>jV)r})&&{2w%_12_uVnbqqv5vi6z4>~hq{x^kEnd_kA})@7 z=-|yPkOcdn%NVU3LQwbXlr^mzFU4Fozm}QLD-fb`RF(R`UXi@_3{1X2rf;jX$Eh=- zo`p7(ua@rL5Y{S3^Lah94d2XD(zWBN8ubuF>nA1nijj=GF|5%&Zdkip%W=(G5!RVS zD8*b>vgqd(ipuL>Wm71kYNV;Dad=75{~rA}c9EWnQ-wn}Sn1X5*;WG|7kDQJY+5kT zi}9iR#oy|8&LVfrV;oGfts5jt=8tMoe}1r2Vs1xv^x~g)teh4)E5UrEx=XNQxAIgE?k?oV#*Oa`@`dVFJx{~ zn9tRijaaHq9Usry%<_L`SYz(=aju5>`bCBn`LeILAPg2vE3VEYyjQ5tOd=gKCGVQxwWy8DD+`9SAcO> zd>+%xc+Wbb{!E(QKu-hP;eeoFGFNT&+&kv(0hPF7aXzn1T#yp_*u^Jgge8j7+rxrl z=r%`382NB=(Fzn1e8Gfra{+U_*8xhFjUdD147bVv44O%-j}a|V%TuGwKn}^T3^}fE zSVSoR@p?qgsN^vV@+o2{hEB58>4)u^zaKHa7Xfg2(&9Vj_;L1`(*AtPYW1y6`&x7JyQo%5G3gal5wQb=cfVHqtl5;$%wY9aKLM8nWH+NxJv(D}Y zRzx`oJ}qvO3R&}2(^u=vu86p4zI#59J-w~Fr{u;C&%bnu#6p+bmgP)+Wm70BXzJmY zoix9>J7u4DE6Yj`ep<}7RWfH=3?>TUBxjjXZboXn#JWj#aP~Du2oAV$4{Wc3dcT7=_k+dOk z{vYg$x4!#q3_2V?rUWadK9Vl3lyu4v|L5y2tkn)N(SLG6cYTKjI%y9VVt;Inw;R0> zuKLB)Q8vJTXvk8G%of{EBjyr2nH}X?Ve2`?gyPeA!&BzWN_;-w?$Fw|mPgJdUTHM9 z@P8k_uCB6!|1(~^<+I_JiftkN35stNtR^d2M`>8q=SR`CWX0jC>(!kzWLhWi+DjVd z?DbvBt(j?u-@|Y(0d3Q@N}ucW^X#^_EYk>q4eEfa_kWmIvv+3q<5+X&Ip03>(A3_SdgPww#q47o#$vR7WDE}D8VAhCvWphpzfutWzDFS z07!h~0AFT68RlUF`V?}2Pw!U1OZVYl(uLt_C=U}ZBP-D$7NgV=&A;gqO#(WS zd|AE%;Inzs)5UQjT3WO-$mG7w&p741z-@$Kj{LhYW5l67v)GsS=Ic?kJ#|ttEJB6Z zp^@E6ucwGuiW)J;ELhpS0_j{KO6r*9S6H`@3;V2$O(aqI4TlbvHm!+mUga(5bM>;H z%Jo8}Qm@>HZp!#naid3nlZCUU=k`Wsgz@`)ztZ|+=IeiJ&S9;&=0=)qrHvM?>6=d& z8Wq^bZQv&SGvJlB~oZ#T_;#Ppub6J(;DcIm@kC@p;kNsvEEVsn@j&Haxcc zK#?Y0tud~8)}(y9p^#m(RfTi(3{QQleybk8Iq4a{X33-9*&aoJa3DJIumzwtTS(bC zcN3#S6QMQUR?s|vNv`>xnhx%kCU1r4T;29nO~`^yx85RZfs)w|O{|WDjLwVkyC@*e zusw#D_vhTI`Se0(Jvr*OvBlV+nNE{m-_IjA-rpDzG;;pp5rcaKr|I2ejRP^a#82LN zUf5RpK|wz*+4Qw0gLuAMHFgc%-R-HxEIXK>D`Wnk+ z6m)Or*Dz;xG8zUb{B<2Ut|9>A$sbI8+48wsBFLv*-zwu!B>aq4BMMa`bgV&sSQ(xA z4@k<=x1V1Vm`sG6!hY8_uJmUCoKsq;yOW!X-S(NrLsUt(+GJhCE^(YvSQbrgC z97^%2dD;tn;Me3ml5Uf1Y;{^MTf((!7D;b= zWf%ypjE%pfVLiDS0^)C;0GrC?YZ~pwFt2+CAn8~r^NOr2$RYI(O+!`i)oa7^g9L?emoi+5>!d!?LjQMA5IV*_tcQnxDZ=Gt+7>N9Y)G zCl@t{ep;CoH0JV}uT_4q@wfe8?bTT#w>)^?S3fD3tF(g2D?~M}sXNDcd|nJqXF600 z5o*P+Hqh6G&zQPN1aX}4_tPt-Nar&QZx{g)dC{H|4Cmv2q}4mus&ix`w(xw^yJ9>c z<#)QQmX{Y3zlO_;i!czJwDvx6!iDqWuqiR}wX8+Zj0HBGs`mgGG*xGoFo;E^IskQ#YE`ieMp}`-G?% zsVLhN*aGM8T+ooK`v{9RnmCsPZuhq|!ao=xpRxoy*Pw8#Lz}#z+ora>j06dgd;fZQhNWk$tG(gVnf*E@e^tj{zW;^)>8M7W z;-c`Yi>V&T}B0S{>3E3e8aDaL(dj0)lo24 zJWxkr*2vz3B?r`0qU)l^uls!e=e6EV*Zz9!uKBg^pT$wz^*sZTwU*}=RE=&^IYjaD z(fvvmw#P<@nHlyUQcR*YStbmQ&aeGT)7MRL$Lh7l#Xa4gKUBXM zGViI`DD7cZGGFHq#&$Oy-2{IrY%+|5)}X=GU=TO0Lf^rh58@N=)G1N`{f?hw4XXc2 zFseDEbe*+ZAn2BD6P+i|yxp#=`HG=XAEkBK8LpKuI~iP6)2xWkbI=kut`F8|%{8vq z)8JiBs7yY!@h`byj|Z_6KQ(X-IJDoZ)UdL1l`{eo9NAJfbBYJ>W=ckm-G07Mem7mr z=Yl*|3zv@kVosqtvApJ+!mQgeIsgNnBpZMSWKa^l{Y;vGfSuz!yFlU$WsnVc{#c*K zIYaj$j!fcu&2Bv+X*NJ554XlLXq4~Qhyze@K*$OK3~B>^Xf~bxi!4tj&YPq3UR15R zfIJ$O*5-9Ib&4xI^8wQK586kynOmO1$(&L+WQ{>Zsheoj{5D6__lv|>*^h$;pJZtR zszwLNh`d%oaG#4PyAcOxO7Q<6Se(Zv%u7I2iq-n2cmb5THj`;BNW&%KvlW-66tzVo zD#BJlXZ_qNLf$39iNfJE$5VdilA&a*gc9-3j`*@|P4-WwPpiu!3#$LhjIi6V6nGqx z-uzq7fR+QvBggFQY@NwK0W{KOWn5A5Z4iq{Zm~c-)c};{ z8h|Sd2q2|}X+{)i-_rLPZU}3{c?oAg=(_B?*#60y(1LOAHI$reHzTKh$)VYnb13w4wU)tRutIXHBRCk_anj z11@DsS}xVTaqVG%6nf}$x{{J|QGYRj0e$o$f!;BXSV1%GdPWTfpJKeEKmZ;kuv&OB z%zzKl-Fmw@m3)zOpn1Wvw&5~K?vnyi#Fr51jWO3znV=`VLUF4WA(1!52!{19%$Rwq zde{nUC+|DH(7}U|tl@#=D6DAy*?dZwPi72uD;-Ip?h}Rmk2iGpu9YqMi~+W@jF9&| zMqb2uugwleB~(*~>5UulXiJ>n$DV{VPwN5hM0_A6m})f!h4jq9a4CgaEdEec9YfLq zQcN^<2+8Ti02^)~p%}w~7|YR4{Tao#0EFOl`b?0KBEl8=i9iM>4=gi-ECG=Nl*W)= z0tAo7Kzd>^z%!QlP22JpcDhBuXch1=0m-L~t^9h#Qq9Vp=(m5JJt~k9q&E5*AXGq? zgrX0??xiksL`RsFI4cBH+oSRLd%NuED<> zI5!WrxywqaPqio%NCTg|RvvkC4Mv!OFMawGrS8MWId}-PN~IO$(4PbGhl^1RmC*

~uiOd&SRu--EFZa*v5t`@arSD+ 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

MmD! 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 GkpBZjd>kwQ diff --git a/SOS_OS/-prim370.zip b/SOS_OS/-prim370.zip deleted file mode 100644 index 0b8c7cae6e733ea1fa35b6509ca90a492935551e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 13644 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 CL()qC diff --git a/SOS_OS/README.txt b/SOS_OS/README.txt deleted file mode 100644 index 953eb4b..0000000 --- a/SOS_OS/README.txt +++ /dev/null @@ -1,110 +0,0 @@ -Sample Operating System Version 2.00 -==================================== - -The book "Operating Systems" by Stuart E. Madnick and John J. Donovan -(McGraw-Hill 1974) describes a sample operating system suitable to run on -IBM S/360 and S/370 computers. It evolved from the thesis work of John -DeTreville and was further refined by Richard Swift. - -Peter Flass typed in the source from the assembly listing in the book and -made it available to the Hercules community in 2002. At one time Peter had -it running under VM/370, which he achieved by disabling the storage protection -key handling, i.e. running it without any storage protection. This still was -state of affairs when I stumbled across Peter's source in October 2015. - -As Hercules in S/370 mode defaults to emulating a system without having the -storage-key 4K-byte-block facility installed, storage protection works the -same way it did on the S/360 which was the original target of the sample -operating system. Thus I was able to reinstate storage protection and bring -the source back to the exact state as printed in the book. I didn't verify this -line by line, but I cross checked the program length and quite a few offsets -for being identical, which they are, so I think this assumption is robust. - -As expected the system assembled using this "original" source, works under -Hercules in S/370 mode exactly as documented in the book (there are some rough -edges in loading (IPLing) it, and in handling the card readers, though). From -a software conservation point of view it deemed important to me to publish this -unmodified version of the sample operating system in the hercules-390 Yahoo -group. - -At first, I didn't intend to do much more. However, there was quite a bit of -resonance in this group and the more I looked into it, the more its simple yet -versatile design fascinated me. This lead me to creating a few use cases -demonstrating some capabilities of the system. Additionally I introduced a few -enhancements to the system, from redesigning storage protection to 4K key -blocks, over smoothening IPL and card reader handling, up to introducing -new funtionality to the EXCP device handler. These enhancements were done -"minimally invasive", i.e. there was nothing changed that didn't _need_ to be -changed to achieve the desired outcome. - - -Packaging and Installation: ---------------------------- - -All of the above was published ad'hoc as it came to live during the November to -December 2015 timeframe. This lead to a somewhat chaotic chain of updates to the -sample operating system, each of which depending on its predecessor, while on -the other hand the use cases don't depend on each other and got in parts -overlaid by the later update packages. - -To bring packaging back into a defined state I'm now publishing the "3270 -Graphics Demo" (a 3270 PSS graphics based SOS logo) as a "final" use case, which -at the same time consolidates all the previous ones into a single ZIP archive, -making them accessible through Hercules scripts. - -The Madnick_3270_Graphics_Demo.zip package is the _only_ one needed to get -_all_ use cases that were discussed over the past two months. It is installed by -simply unzipping it into an arbitrary _empty_ folder. File README.txt in the -root folder of the unzipped archive contains information on the system's current -configuration and on how to run the use cases. - -For those interested in the complete update chain the previous "single use case" -packages remain available for download. Namely the first package -("Madnick_for_Hercules.zip") may be of particular interrest as it features the -original 1974 system, running out of the box under Hercules. - -It should be avoided to intermix both installation types, i.e. don't install -any of the previous packages into the same folder as the 3270 Graphics Demo -package and don't install the 3270 Graphics Demo package into the same folder -as any of the previous ones. - - -Files in Folder "Sample Operating System": ------------------------------------------- - -README.txt -- This file. - - / Consolidated package containing all single - / use case packages plus a 3270 graphics SOS - / logo and, as a bonus, three variants of the -Madnick_3270_Graphics_Demo.zip < "99 Bottles of Beer" song lyrics. Install - \ only this package, unless you particularly - \ want to look at one of the previous states - \ of the resurrection and refurbishment work. - -Madnick_3270_Terminal_Demo.zip \ Single use case packages retained to -Madnick_with_Console.zip \ document the sequence of steps taken during -Madnick_Sieve_Primes.zip \ the resurrection and refurbishment of the -Madnick_4_KB_RDR_for_Hercules.zip / Sample Operating System. None of these -Madnick_4_KB_for_Hercules.zip / packages is needed any more to install the -Madnick_for_Hercules.zip / system in its current state. - - -Credits: --------- - -Stuart E. Madnick \ authors of the book "Operating Systems" -John J. Donovan / (McGraw-Hill 1974) -John DeTreville \ authors of the Sample Operating System -Richard Swift / as listed in "Operating Systems" -Peter Flass -- made the source he typed in from the listing printed - in the book available electronically in 2002 -Harold Grovesteen \ various helpful comments in the hercules-390 Yahoo -Laddie Hanus > group, particularly for sorting out the state of affairs -Martin Zettel / of the storage protection logic in Peter's upload -James Francis Cray -- digged Peter's source out in October 2015 - - ----------- -2015/12/18, Juergen Winkelmann, ETH Zuerich -e-mail: winkelmann@id.ethz.ch diff --git a/SOS_OS/README_with_Console.txt b/SOS_OS/README_with_Console.txt deleted file mode 100644 index 4072425..0000000 --- a/SOS_OS/README_with_Console.txt +++ /dev/null @@ -1,102 +0,0 @@ -Sample Operating System Version 2.00 - Console I/O Via EXCP Device Handler Demo -=============================================================================== - -The book "Operating Systems" by Stuart E. Madnick and John J. Donovan -(McGraw-Hill 1974) describes a sample operating system suitable to run on -IBM S/360 and S/370 computers. - -While providing a programming interface for card readers and printers, the -sample operating system doesn't come with equivalent support for console -devices. It provides, however, an "EXCP Device Handler" allowing user programs -to execute channel programs addressing arbitrary devices, as long as UCBs for -these devices are defined in the UCB table. Thus, after adding a "console UCB" -to the UCB table and after adding a matching device to the hardware (Hercules), -user programs can perform "console I/O" using the EXCP device handler. - -As opposed to a system wide console task handling console I/O asynchronously -from requesting programs, allowing user programs to access the console device -directly requires serialization. The sample operating system serializes the I/O -using a wait semaphore defined in the UCB. That means all requests are queued -and user programs have to wait until it's their turn to access the device. - -Serialized console I/O shouldn't be a problem when messages are to be sent to -the console, as long as no message flooding occurs. However, when it comes to -reading from the console (replies, parameters, etc.) serialization can lead to a -complete halt of running jobs if a read request isn't answered in a timely -manner. This has to be kept in mind when using such a "poor man's" console. - -The Console I/O package contains an updated version of the demo user program -shown in figure 7-11 of the "Operating Systems" book. In addition to printing a -message confirming its successful entry into the system, it reads "parameters" -from the console and echoes them back to the printer. To support this program a -UCB to handle a "console" at 009 has been added to the sample operating system. - -This is meant as a proof of concept style example on using the EXCP device -handler only. In particular, I/O is not checked for completeness, success or -failure, which certainly would need to be done for real world usability. - - -Installation: -------------- - -Before installing the Console I/O package, please ensure you have the sample -operating system with the card reader handling enhancement installed, as found -and described in - -https://groups.yahoo.com/neo/groups/hercules-390/files/Madnick_4_KB_RDR_for_Hercules.zip - -It is recommended to install the Console I/O package on a separate copy of the -sample operating system, as it changes the Hercules configuration (hardware) -and the system configuration (device support). To install the package unzip the -archive found at - -https://groups.yahoo.com/neo/groups/hercules-390/files/Madnick_with_Console.zip - -into the folder containing the copy of the sample operating system to be used, -allowing the unzip program to merge folders and replace files already existing. - - -Contents: ---------- - -README_with_Console.txt - this file -conf/madnick.cnf - Hercules configuration file -source/sos4krdc.asm - sample OS source, updated to include console UCB -source/sosuserc.asm - demo user program source, updated for console I/O -rdr/sample_operating_system_version_2.00.ipldeck - card deck to IPL sample OS -rdr/demo_user_program.deck - card deck to submit the demo user program -sysgen/madnick_with_console.xmi - XMITted PDS containing source and - build information - -Note that rdr/sample_operating_system_version_2.00.ipldeck is identical to -member IPL4KRDC of the PDS contained in sysgen/madnick_with_console.xmi. -Follow the instructions in member $README of this PDS to rebuild the IPL -deck from source. - - -Usage: ------- - -The following steps provide minimal information to IPL the sample operating -system and to run the demo user program from four card readers simultaneously: - -o make sure to have Hercules in your path -o run start_herc (*i*x systems) or start_herc.bat (Windows systems) -o connect a telnet (_not_ tn3270) session to your local port 3215 -o enter "ipl c" at the Hercules console prompt -o The system will enter a wait state (PSW=FE0200008000056A) when it is ready - to process jobs -o enter "script scripts/load_card_decks" at the Hercules console prompt and - reply politely to the requests being issued at the telnet session -o the system will enter a wait state (PSW=FE0200008000056A) after completion - of the four jobs -o review the output of the four jobs in folder prt -o to rerun, enter "script scripts/load_card_decks" at the Hercules console prompt - - - -Have fun! - ----------- -13.11.2015, Juergen Winkelmann, ETH Zuerich -e-mail: winkelmann@id.ethz.ch diff --git a/SOS_OS/SOSMAKE.pdf b/SOS_OS/SOSMAKE.pdf deleted file mode 100644 index 20cfa4a90582162145a96d5c15d615f23dcbfe5b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 120736 zcmeFYWl){lvNk#=?(XguT!II8w*UcxySu~0g1ftfAb}7x1fRG&L4$?h4grFHz}{JM z*14SSr^q-g4nz#?hsmdRecKrpp4d35Me?(w@00vXwJR@VQE|NTed|2~@k ziQ#`@_&nyA%+NvlmtC?aAvG6M+n2xCfRpWCh7}EMpNNa)4+Qf&6FmQaaPvXS z|CbaeY3lO8p8r#t<9^ume?xOTPs@LxxktJG(A@w2uj1*C=KeSuO1DqQZ$`(@yJF zH@1HtV(?yt{Y!18<@mkp(gv*uWZGwA|A)5m-~0P_1NpS?$Gl1gcOre5d3V`~lPlDMvrOtKsL30fbA7t| z_B&-U+bsPV-n+H|$E?kxYLZ=_Rza;||?gA#s$0 z#B=%KcLApMq6OyE<0%OiK~y&Q(kuD-wKa5(T)Rb7NLs?k7$3I@AB5I-vBRjGG%-Gg zi&D@gRGN|ngua;=sosZ2gM??yh9X^} zb4*#Mr(#VnMt)Rii~F2UcusuwZE2;HnqjQ0p)tO+I{NdGYIQ?nb|r2ELbF-ErReD?uKuT>8`O1FG@QO#6lKfL!#d$ zu5=Poj}&Av*vM~e%NQEN|I3)R#B9s^N^cFri~r7;^pi2F4!dH6rfh~iH`Q4!KKK{S zD&H98u%FW;iWgK?abno+bx6X}g~Bx`l|#FhYhicl2ndJlPU?wB`Ef*n_PP zC6ziVhV`P4j$!@gnC63Hlq#covs-urUJ;eMr5zP=A$qvK?^-}(Hf?B5^YL0E-}k9s2UR8FCa)~!zfblw4q42CNpfeVTQeorwuXwwxI{( zmQ(}tA<;4UjB>$xDF{uB*ly`q&wnMslcJU`gqZL59=(rbzM8 zGtWoQ(j{i8%PQqm4O7J*J)?T?tYGNLd-+FWCr`$P)Pl2%5%`s`-E#h0WBZTBGU50& zvE3>d_H>_i&G4Hs$wyBqeS}5(~srqk|ktia6UK%W;~679*zWGWoZ+Wt$shG40H0 zJ7gHC`7>^?hMdqV8pKrMIu<2C9_(h6I|pQ~oghuuI93Q`SG3*|#$fGv;$Tl~5Up!m zoO^yg$~VV3K?*3VU%|@^;(;+vnG&JW>YT0OhZAE2kUne=O6*~K9GryX?ho7RF)4Z2 z-h+M~NmKHn2Ltk-0L|}%f=!SfETB%?h|dvsx#JxbpkPR9y?y^Eg`Vz-0&5V}gv7JP zI-MEhk!6O<_+Y*lpLN+0@`AAZ1vjiCl3RNz3Pl5vm$5sVnE_zwi-_o(H*fgDq#T|X z9HM;VNAl2wg{ORorDN29Xj<~32woJ>Lj@MTo!}vwIfHXy&HQ19tSj2YR8f_ZDvweR ziGqg;PD{aeD6%Z)hCSvSc?=Wz2!}!I8q5KA-V#w4+bpykvAB`okE;W+s4+luSx_(> z%7Yh5M>gUMPhJ!~c~SN+Ur!FmhQ0s<9;9?f2xN%6j0OMr3;S0@9(+ZBGeBBE;_2jh z^fk>KSN_3Q7=nNKs%($)4R0^-9STJ$nU}3Q8jS;BX-Y&iF!aGySkUu=gC|!t9$YOS zpAsQ@Ta9LB>5kUp1ju=iDu0wJ4!j79BYaS22u|da#tV2@GFHbqQ5Z&x&+U@lIqHw1 ziY3j+iC=|8CeQHg!Fq?&A?_1`^=^ZEWpdJdR+CHR@rwcVQX-R|yT|=!yVU^GhCi#{ z`o?8Gz0clPA6Or~hHm_6%YoqsDNjm#?vrToB=bJOT`|g@fa#O2qgE>Mh>I*deuC!8 z%^p&_D#}ugcyXK}BC5kH+2ulI^ox|62PzmK2Y*&qI02{af+#`@HDCEBMHMEBGD< zE~93#V* zVZGKxh1~bg@Rs*Zo6|mCIMmhj%y_moEZUx;@?{#IbO7BUe)gaE@H;R=!kM-14+HEO zukM!kf}WGpv&&#_w^E_!vOY_qNaVqJVI>hU0&IgIse=K%IZIj?yzJG2zgN`o<6EGE_OTZ(x9FlmCfZ#4HO)T+ZxlF(w+(=AgIj{5hkQKkxlH>U5T(+q3F5B+;^& z5v>DuLrEM9k-fo}qZO#H=Il|ZI>X0)coMjrZ3U3HO%pT@+{|w6eD=f2e8VqiK689XV@iBX^X zEZn0b)#mku3s)6o@sy$y{qGBjrTdT-trS`Ah%g@v*W_TJcFi1H9OwPRVVO&zM40|c31ppgCEBBaf+)vbNwAG6PU zW z(|gu#$h`b^3GjJD+&k^%E$>TSmX}dqWW#j~rujP9D-zxdjKp`%K{%_Eb_SlZs;Kj3 zQwglO%anO_I7kGRNs~(8z~^iu8dw^sxf@{|PRLPGUK4dPN0*aOV)dglhC3<_?IJ(x zK1uq*k*Tm6i-Jgcy46;V`a-PsmZ#+sS1V}i>$lDxGRej1@_m7XjKZ-oza4o9mf*C_ zm1sh=3T1VwNFoZw+3bmoUQr7~Rr15u%pUHaj>d;_-p5$jBBh1<7$F6fm8~k^t_A1! zx{NH}SyM0L`kN`HU^i7ae^O#3oT6~oD3bg&*M4=poX^>Q%e7xK(SMw4PgB)DHZ zmWlg1fdo-kdal788bKcyqMru_T%tC%nvppFpqJPh;TS8h^}6dUpv;ei#fAOg1RLW2 z_J{#m1V5~@#`OZ{u&qbO<-XQ8W+v03$yVmfsOSSn(YC5EZOW#V*d`KwsDe{f&GUsH zs8-gI&r?{T@?UqIiCW*}Elz-w9B=RN--@)(!PXqKfGoO^F?S|}QRzi`AT!XKMAyFD zv%kmI{7At)-=(kok`7lU;b-MdU{rna8A6rCX?0Be1;*jqnc{uTu2$mLYsl3;{8xx~ zRZ-{9Y9mrdQ^{`jl*L2Ent|4%XsXo^W9h~;YJ9~sfgh{j`%$x)<@2Wm))butMTfTw zDErF7$9!_6k4i~Bj%LOcK6I1d9drzRib{d@yiNqK6%~r>Xp$F zO zV^pPmtXjx>c@6)q2x^=KRyG)%YDk6Fg3+~N47ZMnc8k$MHd9p9TH^} z<(!nT+<27_<9y!K<+E7Wyc|ekISvy;OT{+S%B#9;8C5{!XKED{DOnz>XnO zsry5s^hDwkj9a2wO4}I7j`DgdGO1@@Hx(leW0H;es^H~iLC(4yd{LKMd6vNq*r^i< z=7r~=#fg4++8eW3HM3h8E=E)-uAHRVm@g1rLtOR}aBIzY;b_#K)@seEvzrjTm{N_8 zl;25l{}B21YV6~J1J$>jc{Q?LURNjyL6z|?IjrOCNH-_oN+4Q{1b^Pf?0C-`lg^>( zH`Pg@(i%MERtGqqJ7IqEdU*2W&Vr@AlWybq_2K8EVeAz74kQH@O`=oO{l`ASu}y+R z7#EXXA)j;cx3}6|Hr|$>(njYJ^h-$1zUcdem`xd(Y@TTRnG9L;W{b0_w*6;X?bbTK!X~iB~c9{|dF|Q%hSEP%a`hgT@g>a%j zo~fp{LM|1n_Uk}>UGj^!#2$Ki;@9aM_(Jpfaofjhi%ZIo#M7J+F*Q`UXGb|{jh(^6 z(9<)@6q|LMrk_bQzg+MKCrpl&kA3%erxr^#2 z8g7Z9W(sOk_}!3iCH`eNgN|;Dq5=umZ-)lV5(&w*Ql0ThEN{XoUYYOY3(}{D`gfI6 z%3X0o=N!e>yj}~Tn+$7_#^{}k<> zz)kg!X!koe|2^70QSu+rE?KSL?yWFd%PF>R1gq$t2d@L5(H65N+>SG*tGha!CR6YP zjXpQm$kBq4-!TsDOLv*3#>e+xx~mv3mNvqUM3gs88+1rs58j{k8?TJT*^!;or5T$R zD9~D15k&Bc+0ahiDWi?gP|8feRhf4caUO65zUU>}p@xcNXUYLWhT9}+DqcH}CWJG+F<(_mz z?sqmdK-PB~u(7+qkAOESf&3(44NZucxE@{uQ}2G1M>vvZa}Xboe~=ql1MwOdYqsV^ zzV}P#boGTucNwnyE?UbqHx@Cj-71sIG8~x3b-4o2;}r`j*3}pJ`qItRNpnNnPrY~e zlPESGca+OCHI;SG%DPm9FL!~!?1bHZ=Y&!wMCVV(k^LbAHtAh$l)9Rz7Ipa>hSU$AKJ^U0-zoZMwI2J^ot{5tzY`J1jQ#E$aDCJ^wHwzj~r!6(3n(lld=62elo}b_o+G4<~F#gtE3s{wg`QT`6EPoKfoRwU$e!QsG(3m37q-2Mhwr)IPV7n#6wrn(U zf0T>bs%WC{%_-BuXy9D7Q8H(NLmF+0oH3L|EMzrrp%?05#AnAFo`0kLYBkc>` zLLaE?Jph+IXt#X{z}g(JMee)MUdU2PP=jRPXMRtu(ltm+m=97da0|h#%pIt0l3?_Q zn2VPwdM0;-hm1RT1YN*(6Z7W7ekd!v!(JL}O(itpJ(V1el+c<1jAg9vrXMBMcI6#P zuI8Wv)HqRF69#jvZm1*C@R2ULiiRp3<6FJ!xTrV>f@a3C4kvcR@s`5m8;1Gkwr0>X zMOLvLmrm?C!H$R^_b)rI+i-7?$`U=F`BKn+5+OL5>F5aU-$^k_gR+Nz+F6xLcr zf-)h1$7de5@?=Zjq>G^zDRGrHlRMF@1d*rEgxmdOoHqK2%FNMIrz|ILfPKX3x%lWeMbTxcV~cF9IpjrhT-`?%E zb`DYo+;}!WXts@HHW=lEGXJkP8j;hzv84L1_$5>=={{!iDr{m($A4@7c)b{)Sw7PA z9;fwF*YNa*bPA5_PA=+=y3Mi$#1T#Vz+&3f`d-$^)H`Unj`NhiBG0dWkeBDT2?hJF z&hsC0;Um!ekqbF~XVbq$9*)Nj;ZI%Wewuz_1|Jr9`4(%lYOyp8O5LRh6>g4cmlO}Y zcp$Iu&^;Y9fKt|S;dku~QIc2kxhcDmLvT%+jFvYvG4VUD6}Ji+BcC6Xq*kdOZ2M0+ z9>kn(z1~h(C^|@c)p$bH#1aK%Q<{FJqaN(zX3a~36YHXB1;FPTuN5a)n3QY$1EylR zupj8nxhs06U+fwN3w6rG;PSS$AhaQYbCNNV+> zFIP;}_+$i`)Zh)^$Ums}3p<|JXFwE5K87ur3Sm=NBb+{A$N=ANuxSJi-t2CY$B?powUcQLdDj^k(1kHCJc+Ejv{!={3cq$^RL%tfvlhAu4%B-s@yCb?DqaUPZ z92;D>!8n^`b52*Bom#|Iui4rC#oe;mtZ}rIM82~Wr@8pgrng(Y=;-?<-!U6H{uBS> z9iE?pFDugLKvoP*vC~>k*ze0*NVXXC@qEgrdN09SLWQOY&)Q0LT}F~HZbL~|)pJ(T zx(C<_|m|nij@|pxo3T`SWcjkmhMjazF*P*V*|L& z$(Qcc%PKpAmE3km3F<?e2U+hT4-Jce+08$?CSjg4!xa zQfMz@=q*rU;!#=0Jc&emx86?a1cO?A8hCN%5$AvAGR*cB!{80Dnz$y62A-@op zZvS+h8J@~(r{eYKM3f-cr(&~t!Jyqm-(g>Xp9A#!${@PNn6Gk{wJRJty9P$YH$yLD zb|zTtyXEEdMO^KH$?I`f*c!Gk`_rK`dG;=y&-V_L2=3psw(WV5Z;5N4qtqw3ja@WNcD#!G6G|p@@gWSzNL6 z>xS%*@%hXkLTGZBV6GP;M5+loX0PQcV-#_mNrUsj(5~m*d*XLLUb6O7h56oI!*TH5 zp@M`V`^luPk1Am2GH3`XG zg7O;`7<2s`O!hsuv8NV+>qwW)>pn9MPqFP&8mCMV6K8;~?E(gx#@9=^xlak7lyID1 z^2^8{7UOVGu}2fp2yr#!zcNaXv5Ws}XYi9D+qCGyd+fnB(Uv56L3 zw-2&z@*OTTNLL@du0wt;6~|*8wF7n_akEEhnet_k&;L@7c%_CQAQeT#v!txa=Rm~Q z1JZD=ixQcRr%Q^+kCd2{;bh%PSQWht`qorI^Rj}>6!$d4*2VNE@H-SFn+wvBrkJY=CQWB+YAoW0)QFnCOq@-B&*g6JC$?<*&rIUWs`+I-Rfwy5g(#|#PziT zum6c`pQWecT~xQv(dPAcrETo)!mPQ0%607JO?QEG({A|R8k)@7apRWQ;a**Qp6VS^H_(etYsZ!I81+LA4)U@Xz0I&D*$ zE9Y5PKg-ni>Rt4zw3?l4hZ$Z3X-A=0O6eh!VuJB%D5bnA{V)P05lcYBc@?|{#@*Ir z?`qi?c!dSi+nqPaT)zg3x(7MND51;;Whzt^%=j2$NwP zh3;;b+LfTn_diuN%@IO!bY?f0kLZ4;9l%vVlPB{y_`HXApVs_udg)=z2IC>>P$|A zB-xtGSW>z52XJzcu66NqfNph+Ov!g%5L9FEL5YlV#y*N?i|X$dt4(UTCd zu6g?&`r!TNXeG7Vl3d*|QC_y3_+fGwbr2-x%syNK2Fq!4*gu~c@Yy1=;6PSIW*G!Z zZVy<731WOj%m20I@ zxB0za?z!n6Au)(qo zEf#e}WI&yW3NB6b!CdgP0Y+;XhHglUC6Ry_52(0OQ=i(zspF@?x7eU7KEd&?bUtA> zY(u%T!_VAC;Jab>%pHUxgI)w<3ZEZk7w{n!I3U&1&}S6BM+@COe~xF^-shk54dK{< zh^(bB=SDHY34gT6=psl)fCwq51O=S=%5<$^R|qP3weZDZJh5jQtQk5vq?vbirXkko z4f+JOBp#aC=O9n%czAloRYpIKv}@J~Dqu+~vKjQrc&;dF+hDl81ItLk1!4`pNgnMM zZ%*{L)l;~Jd30YTGZdo*1DiSECU4k{N0^Me0qg$U=g^^VnZaK}Rs18|+fbK7UufYZ zkw&cW>>SPNx$rp}_hU%)p z8dcVr@%>rb*CpLJ*S=*~-pM(8pU_jsotPc=g{Bhi;q9w%)?_R^ijP87{k!?Jn2_2& zqTrNSeAF@(3ukt=w5M+5U4^E8zfP}GT`KNcty(a!`LdwSH+d_8)KEt@iHli_Q0==| zvW3VOfiMi}1sUyfaS58j%H}2v1@Mh#fqyZEuM*Q|x$pukt=i-y3?|jGLzIoY^Ksdv zn`g4>A0pVJpz*$&VtbT=c04iNaK~zzA!NJtdCT4<_MnI9z+XqD`a$|BqRadhFMf@1 zc-ej{Y&d=mi~ccOJe?%}VKBt;dujByaKZU>=kSkkksZUY)WwPx?0p|W4=GWtNESQ6 zo2g5+Np6m)N|8;E_N{R3UT${vv$ZfpQTpOI_xx~U;)VVGB>WX!HS8hk^;(&Ktj-`g zSs&32V+8w$k_u%m(^s4;L17Kp@OLz)eLc|wM%tln)nm6Y*Ouybw|f3Bv%{I~!7M8} z@itWn%izYsYPIQ$?{ieukyY^P!z>ntnYrS^APw_2*5>SL!P=_pehR49n4g<=+ME}YE zr&%03$8S*kt6~1f(SJHg{X_IQe~0_OkNy+N|1tU>(nK^Dc+h$eFR`3wFH+8vyWI9> zmpWTR;wHvKJyz^4z!I|*TuBl03@UOIcM|_KF;&gvoc4)qVbGwOgFr7dH-Xm+o`XJQse|v@ z;F;U^u=dyZD?HMnYb0B)0Ar8q0YI|=C)fiPpbxycTB`@#p#TD4W^en?SOM)QfW%b5 z>w$V(0OmVLIndE2`cF@*Wys)jz<4A;>PN~(a{)dYeDNvNR~{lERJ5yefMYH}*gn?^ zpP*U5?jB&}d<(K7A%7jiAX@}9sv$`QT{~y+o$qZGA}unu+^Y`UmwxX&MFviY$8G~F ziKZ{=?~LZ+2EJSvHtqm)M+x$jXvIN&1j78}dt!|g>j|Pv4P-xG!!uhlXq?AqF%1T$ zRKxVQ-@`e$o-qb&>R>_<2jpoesv@MOl1iNp#)1c4MM!c?;kh-aE)Pvb5A8!OY%&)3Z&tUO3~A;mcb$Qmq{W^`p|weCng2kdF!35|oOX0-fSA?iz7k^K0z zi9}_^rwib(KIGT!sRx8dm@+H_;L0Voc=bp=?LPBRGh>)lfG%tfN=U`B%OJuP-OkS> zWu+|vBLt{0Z2O-84UCvXN3~Wv8JnU}z^{UHW|)Be>}k3FR-Fp6K8;-VEKZ8-Q|rhy z;SsQAQqc4fDzq>a*z}|TQEPOs9t20HmMgE3s3Lv$2w{syMdb6@s`wRj*whG-rKUIv zA%TMg`6lhMH24gs-q(Ad@4lzJRpbUzc%#FhqJNeiQJz)(RO5R3cBFIXZd@l7tv2FnR4v^lwR*io&+rBtBl$ic zqPAV|_At{Y764%lSPPzUk+8$hh<5WlGpOmlE-nq#c%>OdK16*-?q%M;P6-O<0?h!+ z8-Bj0Nz0|iRX#$Zts)>6wm=@USHlafu!mo#-*TUowh!(V~45W-Hu8juIwLEv*c1heS+&j zoO!0}e0KWmlP(bV{aiy2VC81#z~xF}{XICF&tOtrtyDDFn>vvP#=r;>%^lE)Kl#Bh zx<95yGmu5Xod`UY|ADWh9m925;7hpyFPjb&B-$$os2)T|g0n(>l#TEg*>oi~u?$m- z-#t>cn2eqLkf3FtKjyxA0}QhPUI{Wpz2&Ke`gvS3M%d8AFS0ia@nbKf${Nw&yw}{t zRyI<_Tk*g_=p>XFWZoc%>~-ETTN4eMBXw3w*d5OJ+EZv3S#^q{uj`ZkUPfWHna|DHjfi2qLv zl0NA4mIv$2g=a*KbK^p`v~IWhFobc!NRn}}jn_ovTwEU2kbyKXUEckyb2R=lURbn3 z?<*emjg#$})h(fcOVa^Qfn&8a8rn_VELi=7F!OH>L6D&PMKlAzxdg%s z6-1FEXAST|11m#EkpMIVG)sX=Vt`p?=phn-f`I0ShkH@rGA9Aq$xl8XE&-T*OoZ}xt*vvG#J9Yunfq6fv6S$0nfP;Una9V#P^Tz zU#~3zDik$8#V{oL%Y3R?35aGs%L0kl+ziGt8pG0q6c=ZxKrw=qR63gxInNN-utb z&~m70%pSN?|8DUaFMj;zLRg%Nrz~Em=a!TOSwinr>UeIO$x%jOJ6<3wri;is&^Yv1 z{=KO|v_1mByXel9PiI!m{cZ7ViBXl zdSiL6+v=yRA+(4Ava-lDO#t=$fQjOET1f_cEO`NY6Oa;ijBs9IWL|RqXEjLMOqjyb z_N8`i&b(SgFjxbxj&rb9y~x_c$_4O)8N{(epPq?*3is1JCgJ;q(u9#5AS8_ma0c-f zME|L$a=Jz%T6YWubc_Qyc-=wQi*cV-?aXL+_DvcPkbA1P_7U*L%hK(uk91u=d^#Jv zGPC<3>=-PhR<8ya55XXwlD8iNOoT)xJ6}ez87kx@x+e^Hj+fU~NQ`8F%w?9sH=EY) z+TdW$#7_xGVj79tQbY~;(ie>B{RU6&eUuKagD%El0jqal&C((Xyl@i$!6GeN{Kd=n zlRFhq7A76(OfOOgv;y>y(GPB->?Ps>vbbOXpQGC{TDc^RE)z9?p>nUmC@7&oaNs#V zF~*9rxmIYXsU3=+p58D^SsWgvv?I@^3Y1^UF&9BzjtMoewgLjF*g*Aj%}#BKM9plG zz9R75J|105s6Vcx;T>^8C~*}T5M?-+>y4=^Hr*h#dfw~$qkyJ}LT1po2DmiHp$ww7 zRFXJ&zkXxKr;7HD5J0ToS7|a`A`2#eqn9I@Zp;lJ7<7iui}{G7RmN=pihnc=?Q|wO zehCO}1Q3{cON79)X@3AUq`S}iP-`x^=7UVqn(Dh(8I@F-UAJiC0E_Zrqeh}mp=ov> zz%DgHV&U@uEqH+Yi}Z$()M3set(UY;_H4eMJ=H(S6{b5r^svR|y-)#^EXrF%;Eh3p z^ty%1ED8$a;Ror*dM(tmSYq?CCbko?nK2a%NoN-Kw$Kz20Zi1ZOOSrE1y(65{k z2+|$aH2~+fV)I4_3`jl(*PGK=4+_JIG|k!J$_is)S)RWwdQfS8f(dDGclN6At%f6y zpZ4-iJZaNwQF5<;FE5D&rvBQFQSZ9FSbl7;L2c71ibBVLn^y{(xn3sDiP zhj30|QFVO2?K5CMb$`E!-|bhs76NT2c~KT&IC5V;U)L)aXUBB5l+P+KeqK&&hBl`! z7OS)Toy5M1fEdu0vP*gzWEe5!7kD&n;kapi?)Sc9?R<)Gi`9XNluD71$oks3$5-1Yq+Hj+%|U~ zf0^#Gz^zq{zC#1Ynja81--FvVSW)%Ezn52l=z<~YMzE3LTJkoaxnO|$&Wf_|S+`lD zqXgvYnhFJ+!k;^<1-c~W4FL$JE5=*Aa-?Q*t=6Scsop}fMdL6S=k~x|x&<)g;4CZX z3p5-!n-0gL>%A<5JB+QXa{0$1g_bf5FtLhgpG7kg5hmR<&^Su0lo>E*>~_j#O5u3i9D2W;s)`-(@+W=x#c1Mh%kv1V^w;=WTq92egGk_QovS~ zN~GsN0~a8~m|iyIY#q#0hBN`4>gvb539_`;t@hcCDl2Tp`fESvNtHzaE`kq`H2t;T zfu5mOu(Me$;-HYB`z&SE;;J0w()fr-#I4(~VO|n@y<{!Wj1(!40<>km)XjU8d4tmp z{q^0q3N}bApAvs+kRl4qSj>CS(wX=SV1e>$lFThpZ6<{9dDph+-j$2&d~Y1LOg<^) zgFV*)$976dQ@_uX*1mBJ3AE4GI_CI2`*e%piz;bfq707fwX>(aX3TMo2W;^b5GJib zpp1OLg{p>0pnSd-Sf3U;d8wd$z$_I4^VUs_h_phJ)TghFwM!TQICdtc1e7C($U6%Z zK8Kh?Jq`wtW?9mW=++l8T-!A*Kwq_+T9DQwMT-H|bI_LMKbqU;c^I(t9BKm7U?IoW z7{(OBw2lg3`jmy$-Z`;YugrZf=qsRVGfpq*WL#{8bEw39zoUZ9igGTR>`l&MPjsf0 zA}EM+1bWllO?XES@L~n|=|U%ILL8kqK!Jdh-7X}|AI0GA8r$`RhA9D!ieZ{n^k#rm z3tO78Lis#dMZ6Pj1dlS*Lr!@p@iL5dn74fyz|MGfV{06L(@Y^4U=FV#AOqilmNR=} z$yW*@E^93NbhQMFDvP_x|C%_#1?ecHO3E;DG{_NgY&hhFk_09xw(`Ctux>a|eZE3< z+@&h*@{rDo^;ilU?4A+}jC8@J6(~k@9zksF$LzZFe0mC{FN1d#VEa7fAVccn1)#ZE zJCxnV1K#hQLY7p$MH1dnLa^;PdxkmfM?hl(+7}#2P9$NSVL3_+Ky@wtvz+Q++DT%V z4%@6BO38AdAhmoN-uyOQ-8BdKZ4dg*0IKdwFQ?d%IMz>wL94m|qP^gG$LukIS$M94 zU_W(nG{YZPuArc7W&R4xj79k^Sk@|<&N6d#4zjeS8nCw#7*}POP}_uxv?lU|r5Q^5 zq=Ql!(j^;BFpN$R*A6I8mugy>4A=@7AOT5tkE7CratY7Czx&AzAR}Ihgr_*>?-gJ8 zdB^392^@13g{rJ%y%6nt0a`2?dlhhnn~c(N(c0ZD)^=q&YQq4kz?6k=CIyY=?4rG9 zVBIE}x>o?l|HFEyPwEc8_@DBq{uHPHnzol)izuf!( zkg8+?6JfJB-X;YDNd>8P3`Tc zMe`5Xa`)OPggqJKbw@^{c_GYx8+{FNL!~@gL)I5|^)8H=f_#}w+w?{6Ga8RBV@Gm~ zLCVS!3D9RqKA1?Pa1JUr$~@}Kg(cc5+Ddt`sSXX6f2A$Ig_t8&O4_* z1nJjkodOSc10csD0T%pVX;@Z<6+j!N44yC{;LQ=E8F?R=v&|L)&l)gQ0z$luwub=6 zO;^c*!ch#=!9gx0>3|8wbaTc)(XY?}+%lf_|HK>nlwv6X+*7=bK9UMYA35Qj|DVqK_*0l|lvc5!&3 z)6HvNWVl$PX@miV-855r)g;Q1ucp2 zjtb(1w$#||mf%AI^$J4G?)wGa%PKBt>F z-|YLh?iMt-kt^X(SN0<}lG{l+0vNk|0t~ROHyoCwT�K$ao=~tlG@7o)DFD3A35kS< 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 diff --git a/SOS_OS/conf/madnick.cnf b/SOS_OS/conf/madnick.cnf deleted file mode 100644 index 13204c9..0000000 --- a/SOS_OS/conf/madnick.cnf +++ /dev/null @@ -1,27 +0,0 @@ -#********************************************************************** -#*** *** -#*** File: madnick.cnf *** -#*** *** -#*** Purpose: Hercules configuration file for Madnick Sample OS *** -#*** with 3215 console at 009 listening at port 3215 *** -#*** *** -#*** Updated: 2015/11/13 *** -#*** *** -#********************************************************************** -CPUSERIAL 004711 -CPUMODEL 3145 -MAINSIZE 16 -XPNDSIZE 0 -CNSLPORT 3215 -NUMCPU 1 -MAXCPU 1 -ARCHMODE S/370 -0009 3215 noprompt -0012 3505 * eof -000C 3505 rdr/sample_operating_system_version_2.00.ipldeck eof -0112 3505 * eof -010C 3505 * eof -0010 1403 prt/stream-1_output.txt -000E 1403 prt/stream-2_output.txt -0110 1403 prt/stream-3_output.txt -010E 1403 prt/stream-4_output.txt diff --git a/SOS_OS/rdr/demo_user_program.deck b/SOS_OS/rdr/demo_user_program.deck deleted file mode 100644 index 425813b13602a5cecf2229b66a8cf65ec1de1ae3..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1600 zcmbW%O-LI-6ae7aNmESFA|kf*Q11(1 z7H`=ea__Ad(YQsShq{uLKo7F92tAaYS!49pH`zDIDk|E6%}i$Ae)D#BX2v(Xm7H*M zb!U0isZX!ha$EKFS_7KiP9sPEq1O#9e*_nB>jvL&G-Br->Fv#6h;y+ z&V@iw5EV`vyA3AqW#q2(l0io2-_pLD5c}d!Mi+n6^^6|UqdnK|jO*cpF}T8);Yj%K zR}wvep0wItI3k|ANwFA?fc5mK;u8K|d~lQ85{sXim~dyr8!-X%zg`+fFGTO1@_1@Y z=T|a1c>?u-$@l=o-(MQ$J@9`B`iG&uZo&mw4|V55Zx6kS^6>d?r+v8h@u(h>M>?k` zrv+PPhoxgDLqJ5PGeC1Qf#NNcIs$3kyE@-$uLx0Sc@ z1;aM1GBb)$8MDkRvX5r5Y%Um6G2mDey%u`Uly@v_!<=DdJ8#*MTedADU&yi?`%*S6 zR}%S+Y$Coy1d6`n~cbggOOlpg-16(Zl_bxCep`m*%+;4M_VJegZDSz2<)F z;Ba}Ry6SvCEl2cPw7#j%(?Julh)0u$Lrmo@T`R(L10{4ZZkix6PZa XJ?>X|5VAl7oHs+>>W+3>=pFt8a2l)Q diff --git a/SOS_OS/rdr/sample_operating_system_version_2.00.ipldeck b/SOS_OS/rdr/sample_operating_system_version_2.00.ipldeck deleted file mode 100644 index 6049f60b6500c9b397b127eb64339e38831e8527..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6240 zcmd^DZ)_aJ6@T}~_GUTA-rjLp-&tq{E=|)YI)yY%5Q5#rjjbdlqr{{e$E~h3MQMnd z6|z(}rF1bD>QojwUwy$rZnX*#3IWO~N)V#0*h?Hk5RHz7i{mOtmJ>rtQG2C)$cKXa zo83EXhl&)@Pi3T;H}huZ&70qQGxK(dcv@rzku@R)>VUzf9v*u9*ZZ_{kMBG9@RR!s zztpCV9C~u!kjB&WzJrJMA1G)aY^YW-c3x_5bd`dslX{T|HPX}0uG}rfUW=TEbmrKM z6+4WyGh}E^PHBC4v12in@sSKPd_ZGiUDKG(n6NJGEZxqW;h~pVc!VgTtImB)bq4y# z>F*<=!EmvyebU)G^igs3&@YOs`lz_-N;QZco~(MsZ*Bk){3uzQ(A0PgJxl-+T3nQ zi}lIsMz?8_NOA9)6apjdRr$SPjE0vh;vR2aZuob(?zJ}Evi4}s)Q=9D1+s(fR&Ko~ zhwKpQw<>>M`x1q^{+gEx8|W5r)_77?U#gL$a39%ZIHbn^gkD9r2d}hObILq)YbQGU zze^qSMM?9U*{lLa|JBSd++M6^tl@Mvx2h&d1KpXWEUQa4vRNUUHGAvr`P9cG{5PLA ztN;xYH8?fu`n0JHhd)BpNHzL`&lmVTfbqgpweh=VXa@I>@V-wM^!l{PBAVgjUIRtH zDEfSHO|5^-?-w8Q+XDFBdKepQf$WXQHu8taNa0DhiPT9NUN|YhdsHK>Qe&E-ly7U- zq<9~N&+D2RHkcZg?}6_v(>0bh7)!TTr4~1&QP5T=FY+Gu6 z2DQdMk`{B#Klbj)hFxwb*ken13idKPXzG*pMmI!E+Q=mmEu>WcTC1AW`zf#nlyiMf zqs7~DKV&W`P&I|smgGTowYox_MtO%g&PVIGd$6Y)Qe;RPlm_Vi4fSkDYATaukMeJ$vk30U%dkn=qwm!ak#V(#s1m|(9=7}_x9sV+McZaxhD zX3kgE@g8NTZe_^GWVrS>aUHpBxqhA&19-gy+lwl#D@y&oRy94QF}|1k1Gm3Ecm1W? z_=;s|XTOsr%)~t zCor#(sQb*xsY~N<1)RkuXLeCyMLUjm1Z@Fr0qux~dY({RA$=?x-05^i%)S0=_Qoe!^F3d6dxh>QM_ev+o1Ctn>(Sgwo}Be!7vAV3Y;s2)x1PT?YPgZ?72Zv;MBMY=`O?^% z=f>-f1PWhjkaRVg0V-;=M?7sf93`};`!$kMNAu+D)iVwuViq`(Fl#M@{cG zxuTz-O`qm=vgl6696AtmU==4EE4ra{JT{C{i4Ef}84|}?hB^#0O(VDi+RbPuw@*4E zjt}ljD_HI9U;tE-s)LqChoMPu=wsBY(pfj)^u}HXC+X`JjaS04GJ_qWE4{w6ShXj1 z#BFkRJA$`QNOyLNQ<&ZA&vrLCEsXLSJo#=GK#gMniFG|N5;rBs8HvaDGgVG_WMpv` zlHge&;aT9OPb`qATVO8w@=f9d$Gj4fm%{><)PdScuXX?{slF|0NLw7~$O<3n$SM!% z3qbmjPjfq2B<&%+z(-oX9nubA-y}EI?OR8i+dxim8_0<{$P4uy4>ownk9o*j(mTLu zvAiDg-uG&FgPm6SR>*FdgK3M0salu8SNE{-aU)85tr}L+7{^LFTgM9RX=THHjbJ0L zzbZs!?xoR$=cO$iF(aeKbu+qb+joecvrhddq;4~#{7l^`?oqz!?=rE2?@oG;?@oGe z*26}KQC&A^-kOeM7iv^SUGdI_!f$bZZRrE79f+!)RbHxuqhIxEd-(~)N#U;^kGASQ zF=uc4!Bl-d_T9+GAO-O1kpQ2$0ven+T^a>t;}d5pQx{MD1NAI&|;(hH?=bXCo)slHNw)bxgX$TX~ zMMX{{YshrNVdPQdOYk#{U)YM=hP(qg%SZ74IXq!LX3yr@PmRy=K|Xzc3eInSxmwGpo=R`Kk2n-hx<7LSrwQ*dIax^Q^=@R$M?EK=(lw|5Tj^L!BiqVi zziMN#y_>99U+Un1ML{0ZNAU$>1@>DMVOHq~A6a-v;}OMBp*x2cLw*%mR`n7wLPerm@{hFPJi<0j-vBeW3jC$M>x+#OzsSEo?do_ zjpvAxPY;I5p>|W=Y`|ZVKV>Kf17#p2uhH@HVz=u+!^yW&$J}fbZqcyW!X&9csN&{P&wvizp2x#BV<9`6gy(mubSmYBM zU*}M16nxLdr82j1Y%{kvuNw^C`ZZf2hS!)-=q`<5x9^C55l5BIZRm&AYzHQNwjV1>YrObpef^xGjdSYc zilkfkDP{4v${`Q4VZ 4K support * 00103002 -* - minor changes in storage protection logic / * 00103602 -* - change number of parallel processing streams to 4 * 00104202 -* - change core size to 16M * 00104802 -* - replace table of valid $JOB card core requests with general * 00105402 -* logic rounding up any none full page request entered to next * 00106002 -* full page * 00106602 -* - add IPL card and two card loader for one stop creation of an * 00107202 -* IPLable card deck * 00107802 -* - ignore external interrupts during initialization to avoid * 00108402 -* IPLRTN getting interrupted by the interval timer * 00109002 -* * 00109103 -* Update 2015/11/05 Juergen Winkelmann, e-mail winkelmann@id.ethz.ch * 00109203 -* * 00109303 -* - allow reloading card readers without needing to re-IPL the * 00109403 -* system. This functionality relies on Hercules' card reader * 00109503 -* behavior with the EOF initialization in place. It will not * 00109603 -* work in INTR mode. * 00109703 -* * 00109744 -* Update 2015/11/13 Juergen Winkelmann, e-mail winkelmann@id.ethz.ch * 00109784 -* * 00109824 -* - add UCB to support a console at 009 using the EXCP device * 00109864 -* handler. * 00109904 -* * 00110000 -*********************************************************************** 00120000 - SPACE 3 00130000 - PRINT ON,NODATA,GEN 00140000 -PROGRAM CSECT , sample operating system starts at zero 00150002 -CARDLDR CSECT , two card loader follows at the end 00150102 -*** 00150202 -*** IPL card 00150302 -*** 00150402 -IPLCARD CSECT , IPLable deck must begin with this card 00150502 -PSWD DC F'0',X'00' initial program status word, disabled 00150602 - DC AL3(LOADER) start execution at load address 00150702 -CCW1 DC X'02',AL3(LOADER) read 1st card to load address 00150802 - DC XL4'40000050' chain, read length = 80 00150902 -CCW2 DC X'02',AL3(LOADER+80) read 2nd card to load addr + 80 00151002 - DC XL4'00000050' read length = 80 00151102 - DC C'Sample Operating System Version 2.00' eye catcher 00151202 - DC 16X'00' pad to card length 00151302 -*** 00151402 -*** loader 00151502 -*** 00151602 -* 00151702 -* Initialize 00151802 -* 00151902 -CARDLDR CSECT , two card loader must follow IPL card 00152002 - BALR R12,0 establish .. 00152102 - LA R2,2 .. base .. 00152202 - SR R12,R2 .. register 00152302 - USING CARDLDR,R12 tell assembler 00152402 - LA R11,0 addressability of .. 00152502 - USING PROGRAM,R11 .. sample operating system 00152602 - LA R2,0 I/O .. 00152702 - LA R3,IOINTRPT .. new PSWD 00152802 - STM R2,R3,IONEW store I/O new PSWD 00152902 - SSM ENBLECH0 enable interrupts from channel 0 00153002 - LA R5,CCWCHAIN address of card reader CCW chain 00153102 - ST R5,CAW store address in CAW 00153202 - L R3,NUMCARDS number of cards to read 00153302 - L R4,LOADADDR target address of loaded code 00153402 -* 00153502 -* create CCW chain 00153602 -* 00153702 -NEXTCARD LR R2,R4 load next card here 00153802 - ICM R2,B'1000',READ insert write command 00153902 - ST R2,0(,R5) store CCW 00154002 - LA R2,80 length of card 00154102 - ST R2,4(,R5) store length in CCW, zero all flags 00154202 - OI 4(R5),X'40' indicate command chaining 00154302 - LA R4,80(,R4) increment target address 00154402 - LA R5,8(,R5) point to next CCW 00154502 - BCT R3,NEXTCARD read next card 00154602 - S R5,EIGHT point to previous CCW 00154702 - NI 4(R5),X'BF' clear command chaining flag 00154802 -* 00154902 -* read cards and wait for completion 00155002 -* 00155102 - SIO 12(0) read cards 00155202 - LA R2,*+12 continue here after I/O completion 00155302 - ST R2,CONTINUE store continue address in PSWD skeleton 00155402 - LPSW WAITPSWD wait for I/O completion 00155502 -* 00155602 -* "IPL" the Sample Operating System 00155702 -* 00155802 - LPSW 0 transfer control 00155902 -* 00156002 -* I/O interrupt handler 00156102 -* 00156202 -IOINTRPT EQU * 00156302 - TM CSW+4,X'04' device end received? 00156402 - BNO IOINTRTN -> no, keep waiting 00156502 - NI IOOLD+1,X'FD' -> yes, terminate wait state and .. 00156602 - NI IOOLD,X'7F' .. and disable channel 0 interrupts 00156702 -IOINTRTN LPSW IOOLD return to mainline 00156802 - DROP R11,R12 no longer needed 00156902 -* 00157002 -* Data area 00157102 -* 00157202 -ENBLECH0 DC C'80' mask to enable channel 0 interrupts 00157302 -READ DC X'02' read a card 00157402 - DS 0D align 00157502 -WAITPSWD DC X'80020000' wait with channel 0 interrupts enabled 00157602 -CONTINUE DS F continue here after wait 00157702 -LOADADDR DC F'0' code is to be loaded here 00157802 -NUMCARDS DC F'75' number of cards to read 00157904 -EIGHT DC F'8' CCW length 00158002 -CCWCHAIN DS 0D start of card reader CCW chain 00158102 -*** 00158202 -*** Sample Operating System code begins here 00158302 -*** 00158402 -PROGRAM CSECT , sample OS must follow loader cards 00158502 - SPACE 1 00160000 -CORESIZE EQU 16777216 bytes of core in object machine 00170002 - SPACE 1 00180000 - USING *,0 COMMUNICATIONS AREA 00190000 - SPACE 1 00200000 -IPLPSW DC B'00000000',B'00000000',X'0000',X'00',AL3(IPLRTN) 00210000 -IPLCCW1 DS D . IPL CCW #1 00220000 -IPLCCW2 DS D . IPL CCW #2 00230000 -EXTOLD DS D . EXTERNAL OLD PSW 00240000 -SVCOLD DS D . SVC OLD PSW 00250000 -PGMOLD DS D . PROGRAM INTERRUPT OLD PSW 00260000 -MCHKOLD DS D . MACHINE CHECK OLD PSW 00270000 -IOOLD DS D . I/O INTERRUPT OLD PSW 00280000 -CSW DS D . CHANNEL STATUS WORD 00290000 -CAW DS F . CHANNEL ADDRESS WORD 00300000 -UNUSED0 DS F . 00310000 -TIMER DC F'-1' . TIMER 00320000 -UNUSED1 DC F'0' . 00330000 -EXTNEW DC B'00000000',B'00000000',X'0000',X'00',AL3(EXTHANDL) 00340000 -SVCNEW DC B'00000000',B'00000000',X'0000',X'00',AL3(SVCHANDL) 00350000 -PGMNEW DC B'00000000',B'00000000',X'0000',X'00',AL3(PGMHANDL) 00360000 -MCHKNEW DC B'00000000',B'00000010',X'0000',X'00',AL3(0) 00370000 -IONEW DC B'00000000',B'00000000',X'0000',X'00',AL3(IOINTRPT) <-+ 00380002 -*** | 00382002 -*** IOINTRPT will be replaced with IOHANDL after IPL by IPLRTN -----+ 00384002 -*** 00386002 - ORG *+X'100' SPACE OVER STAND ALONE DUMP AREA 00390000 -FSBPTR DC A(VERYEND) . FSB POINTER 00400000 -FSBSEM DC F'1,0' . FSB SEMAPHORE 00410000 -MEMORY DC F'0,0' . MEMORY SEMAPHORE 00420000 -CAWSEM DC F'1,0' . CAW SEMAPHORE 00430000 - SPACE 1 00440000 -TRAPSAVE DS 16F . STORAGE FOR EXTERNAL INTERRUPTS 00450000 -IOHSAVE DS 16F . STORAGE FOR I/O INTERRUPTS 00460000 - SPACE 1 00470000 -SYSSEMSA DS CL84 . SYSTEM SEMAPHORE SAVE AREA 00480000 - SPACE 1 00490000 -RUNNING DS A . RUNNING 00500000 -NEXTTRY DS A . NEXTTRY 00510000 -NEXTTRYM DS C,0H . NEXTTRY MODIFIED 00520000 - EJECT 00530000 -*********************************************************************** 00540000 -* * 00550000 -* EXTERNAL, PROGRAM, AND SVC INTERRUPT HANDLERS * 00560000 -* * 00570000 -*********************************************************************** 00580000 - SPACE 1 00590000 -EXTHANDL EQU * . EXTERNAL INTERRUPT HANDLER 00600000 - STM 0,15,TRAPSAVE . SAVE REGISTERS 00610000 - BALR 1,0 . ESTABLISH ADDRESSING 00620000 - USING *,1 00630000 - CLI EXTOLD+3,X'80' . SEE IF TIMER TRAP 00640000 - BNE EXTHRET . IF NOT, IGNORE 00650000 - L 15,RUNNING . SET UP REGISTERS FOR TRAFFIC 00660000 - USING PCB,15 . CONTROLLER (XPER) 00670000 - CLI PCBBLOKT,X'FF' . IF BLOCKED, NO PROCESS IS 00680000 - BE EXTHRET . RUNNABLE, SO RETURN 00690000 - LA 14,PCBISA . GET SAVE AREA 00700000 - USING SA,14 00710000 - MVC SAPSW,EXTOLD . AND STORE OLD STUFF INTO IT 00720000 - MVC SAREGS,TRAPSAVE 00730000 - B XPER . THEN GO TO TRAFFIC SCHEDULER 00740000 - DROP 14,15 00750000 -EXTHRET LM 0,15,TRAPSAVE . TO IGNORE AN INTERRUPT, RELOAD 00760000 - LPSW EXTOLD . AND TRANSFER BACK 00770000 - SPACE 1 00780000 -PGMHANDL EQU * . PROGRAM INTERRUPT HANDLER 00790000 - SVC C'?' . IN ANY CASE, AN ERROR 00800000 - EJECT 00810000 -*********************************************************************** 00820000 -* * 00830000 -* SVC INTERRUPT HANDLER * 00840000 -* * 00850000 -* FOR ALL ROUTINES ENTERED BY SVC INTERRUPT, THE * 00860000 -* FOLLOWING REGISTERS CONTAIN THIS INFORMATION: * 00870000 -* * 00880000 -* REGISTER 1 - BASE REGISTER FOR ROUTINE * 00890000 -* REGISTER 2 - POINTER TO ARGUMENT LIST (IF ANY) * 00900000 -* REGISTER 14 - POINTER TO SAVEAREA USED FOR THIS SVC * 00910000 -* REGISTER 15 - POINTER TO PCB PRESENTLY RUNNING * 00920000 -* * 00930000 -*********************************************************************** 00940000 - SPACE 1 00950000 -SVCHANDL EQU * . SVC HANDLER 00960000 - STM 0,15,TRAPSAVE . SAVE REGISTERS 00970000 - BALR 9,0 . ESTABLISH ADDRESSING 00980000 - USING *,9 00990000 - LM 10,14,SVCCONST . INITIALIZE REGISTERS 01000000 - IC 10,SVCOLD+3 . GET SVC CODE 01010000 - IC 10,SVCHTABL(10) . TRANSLATE INTO TABLE OFFSET 01020000 - LA 10,SVCRTN(10) . REG 10 -> THE CORRECT PSW 01030000 - CLI 2(10),X'00' . IS THIS CALL PROTECTED? 01040000 - BE SVCHPROT . THEN SEE IF WE CAN CALL IT 01050000 -SVCOK L 15,RUNNING . GET PCB POINTER 01060000 - USING PCB,15 01070000 - CLI 3(10),X'00' . IS IT A SYSTEM SAVEAREA? 01080000 - BE SYSSEM . DON'T USE REG 14 AS PCB POINTER 01090000 - LR 14,15 . ELSE, SET UP PCB POINTER 01100000 -SYSSEM IC 11,3(10) . GET POINTER TO SAVE AREA OFFSET 01110000 - A 14,SVCSAVE(11) . REG 14 -> SAVE AREA 01120000 - CLI SVCOLD+3,C'.' . ARE WE CALLING XPER? 01130000 - BE SVCXPER . IF SO, DON'T SAVE RETURN STATUS 01140000 - USING SA,14 01150000 - MVC SAPSW,SVCOLD . SAVE PSW 01160000 - MVC SAREGS,TRAPSAVE . SAVE REGISTERS 01170000 -SVCXPER L 1,4(10) . MAKE ADDRESSING EASY WITHIN 01180000 - LPSW 0(10) . ROUTINE, AND GO THERE 01190000 -SVCHPROT L 12,SVCOLD . GET PROTECTION KEY 01200000 - NR 12,13 . IS IT A USER? 01210000 - BZ SVCOK . IF NO, THAT'S FINE 01220000 - LA 10,SVCRTN+136 . ELSE SET UP CALL TO XQUE 01230000 - B SVCOK . 01240000 - DROP 9 01250000 -SVCCONST DC 3F'0',X'00F00000',F'0' 01260000 - SPACE 1 01270000 -SVCHTABL DC 256X'84' . TABLE OF PSW OFFSETS 01280000 - ORG SVCHTABL+C'P' 01290000 - DC AL1(0) 01300000 - ORG SVCHTABL+C'V' 01310000 - DC AL1(8) 01320000 - ORG SVCHTABL+C'!' 01330000 - DC AL1(16) 01340000 - ORG SVCHTABL+C',' 01350000 - DC AL1(24) 01360000 - ORG SVCHTABL+C'B' 01370000 - DC AL1(32) 01380000 - ORG SVCHTABL+C'A' 01390000 - DC AL1(40) 01400000 - ORG SVCHTABL+C'F' 01410000 - DC AL1(48) 01420000 - ORG SVCHTABL+C'I' 01430000 - DC AL1(56) 01440000 - ORG SVCHTABL+C'J' 01450000 - DC AL1(64) 01460000 - ORG SVCHTABL+C'.' 01470000 - DC AL1(72) 01480000 - ORG SVCHTABL+C'R' 01490000 - DC AL1(80) 01500000 - ORG SVCHTABL+C'S' 01510000 - DC AL1(88) 01520000 - ORG SVCHTABL+C'C' 01530000 - DC AL1(96) 01540000 - ORG SVCHTABL+C'N' 01550000 - DC AL1(104) 01560000 - ORG SVCHTABL+C'Y' 01570000 - DC AL1(112) 01580000 - ORG SVCHTABL+C'Z' 01590000 - DC AL1(120) 01600000 - ORG SVCHTABL+C'D' 01610000 - DC AL1(128) 01620000 - ORG SVCHTABL+C'?' 01630000 - DC AL1(136) 01640000 - ORG SVCHTABL+C'H' 01650000 - DC AL1(144) 01660000 - ORG SVCHTABL+C'E' 01670000 - DC AL1(152) 01680000 - ORG SVCHTABL+256 01690000 - SPACE 1 01700000 -SVCRTN DS 0D . THE PSWS 01710000 -* IN THE FOLLOWING PSWS, THE THIRD BYTE INDICATES * 01720000 -* WHETHER THE SVC IS RESTRICTED: * 01730000 -* X'00' -> OPERATING SYSTEM ONLY * 01740000 -* X'FF' -> AVAILABLE TO USER ALSO * 01750000 -* * 01760000 -* THE FOURTH BYTE INDICATES WHICH SAVE AREA TO USE; * 01770000 -* SVCSAVE BELOW SHOWS THE CODE VALUES. * 01780000 - DC B'00000000',B'00000000',X'0000',X'00',AL3(XP) 01790000 - DC B'00000000',B'00000000',X'0000',X'00',AL3(XV) 01800000 - DC B'00000000',B'00000000',X'0004',X'00',AL3(XEXC) 01810000 - DC B'00000000',B'00000000',X'0004',X'00',AL3(XCOM) 01820000 - DC B'00000000',B'00000000',X'0004',X'00',AL3(XB) 01830000 - DC B'11111111',B'00000000',X'000C',X'00',AL3(XA) 01840000 - DC B'11111111',B'00000000',X'000C',X'00',AL3(XF) 01850000 - DC B'00000000',B'00000000',X'0004',X'00',AL3(XI) 01860000 - DC B'00000000',B'00000000',X'0004',X'00',AL3(XJ) 01870000 - DC B'00000000',B'00000000',X'0004',X'00',AL3(XPER) 01880000 - DC B'11111111',B'00000000',X'FF08',X'00',AL3(XR) 01890000 - DC B'11111111',B'00000000',X'FF08',X'00',AL3(XS) 01900000 - DC B'11111111',B'00000000',X'FF08',X'00',AL3(XC) 01910000 - DC B'00000000',B'00000000',X'FF04',X'00',AL3(XN) 01920000 - DC B'00000000',B'00000000',X'FF08',X'00',AL3(XY) 01930000 - DC B'11111111',B'00000000',X'FF08',X'00',AL3(XZ) 01940000 - DC B'11111111',B'00000000',X'FF08',X'00',AL3(XD) 01950000 - DC B'00000000',B'00000000',X'FF04',X'00',AL3(XQUE) 01960000 - DC B'11111111',B'00000000',X'FF08',X'00',AL3(XH) 01970000 - DC B'11111111',B'00000000',X'000C',X'00',AL3(XAUTO) 01980000 - SPACE 1 01990000 -SVCSAVE DS 0F . THE SAVE AREA OFFSETS 02000000 - DC A(SYSSEMSA) . CODE 00 -> SYSSEMSA 02010000 - DC A(PCBISA-PCB) . CODE 04 -> INTERRUPT SAVE AREA 02020000 - DC A(PCBFSA-PCB) . CODE 08 -> FAULT SAVE AREA 02030000 - DC A(PCBMSA-PCB) . CODE 0C -> MEMORY SAVE AREA 02040000 - SPACE 3 02050000 -*********************************************************************** 02060000 -* * 02070000 -* RETURN SEQUENCE FOR REQUEST DRIVEN ROUTINES AND TRAFFIC CONTROLLER * 02080000 -* * 02090000 -*********************************************************************** 02100000 - SPACE 1 02110000 - DS 0D 02120000 -RETURN DC B'00000000',B'00000000',X'0000',X'00',AL3(RETURNR) 02130000 - SPACE 1 02140000 -RETURNR EQU * . RETURN ROUTINE FOR SVC'S AND XPER 02150000 - MVC SVCOLD,SAPSW . SAVE PSW IN A SAFE PLACE 02160000 - LM 0,15,SAREGS . RELOAD REGISTERS 02170000 - LPSW SVCOLD . AND RETURN 02180000 - EJECT 02190000 -*********************************************************************** 02200000 -* * 02210000 -* REQUEST DRIVEN ROUTINES * 02220000 -* * 02230000 -*********************************************************************** 02240000 - SPACE 3 02250000 -*********************************************************************** 02260000 -* * 02270000 -* XP ROUTINE * 02280000 -* * 02290000 -* FUNCTION: TO IMPLEMENT "P" PRIMITIVE FOR SEMAPHORES * 02300000 -* DATABASES: UPON ENTRY, REGISTER 2 CONTAINS ADDRESS SM * 02310000 -* SM DS 0D SEMAPHORE DEFINITION * 02320000 -* SMVAL DS F VALUE * 02330000 -* SMPTR DS A POINTER TO FIRST WAITER * 02340000 -* ROUTINES USED: XPER * 02350000 -* PROCEDURE: SUBTRACT ONE FROM SMVAL; IF NON-NEGATIVE, RETURN. * 02360000 -* IF NEGATIVE, PLACE RUNNING PROCESS AT END OF LIST * 02370000 -* OF PRECESSES WAITING ON SM. BLOCK CALLING PROCESS; * 02380000 -* ENTER TRAFFIC CONTROLLER. * 02390000 -* ERROR CHECKS: NONE * 02400000 -* INTERRUPTS: OFF * 02410000 -* USER ACCESS: NO * 02420000 -* * 02430000 -*********************************************************************** 02440000 - SPACE 1 02450000 -XP EQU * . THE XP ROUTINE 02460000 - USING *,1 02470000 - USING SM,2 . ARGUMENT IS A SEMAPHORE 02480000 - L 3,SMVAL . GET THE VALUE 02490000 - BCTR 3,0 . SUBTRACT ONE 02500000 - ST 3,SMVAL . AND STORE IT BACK 02510000 - LTR 3,3 . SET CONDITION CODE 02520000 - BM XPWAIT . IF IT'S NEGATIVE, MUST WAIT 02530000 - LPSW RETURN . ELSE RETURN NOW 02540000 -XPWAIT LA 4,SMPTR . START GOING DOWN 02550000 - L 5,SMPTR . CHAIN OF POINTERS 02560000 - DROP 15 02570000 - USING PCB,5 02580000 -XPLOOP LTR 5,5 . IF REACHED END 02590000 - BZ XPTHEN . ADD OUR PCB ON. ELSE, 02600000 - LA 4,PCBNSW . INCREMENT POINTERS 02610000 - L 5,PCBNSW 02620000 - B XPLOOP . AND TRY AGAIN 02630000 - DROP 5 02640000 - USING PCB,15 02650000 -XPTHEN MVC 0(4,4),RUNNING . WE'RE AT THE END 02660000 - ST 5,PCBNSW . STORE NULL POINTER 02670000 - MVI PCBBLOKT,X'FF' . AND WE'RE BLOCKED 02680000 - MVC PCBISA,SYSSEMSA . SWITCH SAVE AREAS 02690000 - B XPER . SO RUN SOMEONE ELSE 02700000 - DROP 2 02710000 - EJECT 02720000 -*********************************************************************** 02730000 -* * 02740000 -* XV ROUTINE * 02750000 -* * 02760000 -* FUNCTION: TO IMPLEMENT "V" PRIMITIVE FOR SEMAPHORES * 02770000 -* DATABASES: UPON ENTRY, REGISTER 2 CONTAINS ADDRESS SM * 02780000 -* SM DS 0D SEMAPHORE DEFINITION * 02790000 -* SMVAL DS F VALUE * 02800000 -* SMPTR DS A POINTER TO FIRST WAITER * 02810000 -* ROUTINES USED: NONE * 02820000 -* PROCEDURE: ADD ONE TO SMVAL; IF > ZERO, RETURN. IF ZERO OR * 02830000 -* LESS, REMOVE FIRST PROCESS FROM WAITER CHAIN; * 02840000 -* UNBLOCK IT; IF NEXTTRYM NOT SET, SET IT AND SET * 02850000 -* NEXTTRY TO THAT PROCESS; RETURN; IF NEXTTRYM SET, * 02860000 -* RETURN. * 02870000 -* ERROR CHECKS: NONE * 02880000 -* INTERRUPTS: OFF * 02890000 -* USER ACCESS: NO * 02900000 -* * 02910000 -*********************************************************************** 02920000 - SPACE 1 02930000 -XV EQU * . THE XV ROUTINE 02940000 - USING *,1 02950000 - USING SM,2 . ARGUMENT IS A SEMAPHORE 02960000 - L 3,SMVAL . GET THE VALUE 02970000 - A 3,=F'1' . ADD ONE 02980000 - ST 3,SMVAL . AND STORE IT BACK 02990000 - BNP XVWAKEUP . IF <=0, SOMEONE'S WAITING 03000000 - LPSW RETURN . ELSE RETURN 03010000 -XVWAKEUP L 4,SMPTR . GET THE FIRST OF THE GUYS 03020000 - DROP 15 03030000 - USING PCB,4 03040000 - MVC SMPTR,PCBNSW . REMEMBER THE REST 03050000 - MVI PCBBLOKT,X'00' . WE'RE NO LONGER BLOCKING HIM 03060000 - CLI NEXTTRYM,X'FF' . IS NEXT TRY MODIFIED? 03070000 - BE XVRET . IF SO, WELL OK 03080000 - ST 4,NEXTTRY ELSE MODIFY NEXTTRY 03090000 - MVI NEXTTRYM,X'FF' . AND SAY SO 03100000 -XVRET LPSW RETURN . GET BACK 03110000 - DROP 2,4 03120000 - EJECT 03130000 -*********************************************************************** 03140000 -* * 03150000 -* XPER ROUTINE (TRAFFIC CONTROLLER) * 03160000 -* * 03170000 -* FUNCTION: TO IMPLEMENT MULTIPROGRAMMING * 03180000 -* DATABASES: NONE * 03190000 -* ROUTINES USED: NONE * 03200000 -* PROCEDURE: STARTING WITH NEXTTRY, SEARCH FOR PROCESS ON ALL * 03210000 -* PCB CHAIN NOT BLOCKED OR STOPPED; IF FOUND, USE AS * 03220000 -* NEW RUNNING, FOR 50 MS OF TIME AND RETURN. ELSE, * 03230000 -* ENTER WAIT STATE WITH INTERRUPTS ON, AND TRY TO * 03240000 -* SCHEDULE AGAIN AFTER INTERRUPT; RETURN. * 03250000 -* ERROR CHECKS: NONE * 03260000 -* INTERRUPTS: OFF * 03270000 -* USER ACCESS: NO * 03280000 -* * 03290000 -*********************************************************************** 03300000 - SPACE 1 03310000 -XPER EQU * . ROUTINE XPER: TRAFFIC SCHEDULER 03320000 - SSM IONEW . MASK OFF INTERRUPTS 03330000 - BALR 1,0 03340000 - USING *,1 03350000 - L 10,NEXTTRY . START LOOKING AT NEXTTRY 03360000 - LR 11,10 . REMEMBER WHICH THAT WAS 03370000 - USING PCB,10 03380000 -GWLOOP CLI PCBBLOKT,X'FF' . IF IT'S BLOCKED 03390000 - BE GWINC . IGNORE 03400000 - CLI PCBSTOPT,X'FF' . ELSE, IF IT'S NOT STOPPED 03410000 - BNE GWRUN . WE CAN RUN IT 03420000 -GWINC L 10,PCBNPALL . ELSE, GO TO THE NEXT 03430000 - CR 10,11 . IF WE'VE SEEN ALL, QUIT 03440000 - BNE GWLOOP . ELSE TRY AGAIN 03450000 - LPSW IDLE . SIT AND WAIT 03460000 - DS 0D 03470000 -IDLE DC B'11111110',B'00000010',X'0000',X'00',AL3(XPER) 03480000 - SPACE 1 03490000 -GWRUN MVC NEXTTRY,PCBNPALL . GET A NEW NEXTTRY 03500000 - MVI NEXTTRYM,X'00' . NOT MODIFIED 03510000 - ST 10,RUNNING . GET A NEW RUNNING 03520000 - LA 14,PCBISA 03530000 - MVC TIMER,QUANTUM . INTERRUPT AFTER 50 MS 03540000 - LPSW RETURN . AND GO TO RETURNR 03550000 -QUANTUM DC X'00000F00' . QUANTUM OF TIME 03560000 - DROP 10 03570000 - USING PCB,15 03580000 - EJECT 03590000 -*********************************************************************** 03600000 -* * 03610000 -* XEXC ROUTINE * 03620000 -* * 03630000 -* FUNCTION: TO ENTER SMC SECTION * 03640000 -* DATABASES: NONE * 03650000 -* ROUTINES USED: NONE * 03660000 -* PROCEDURE: INCREMENT SMC BYTE IN PCB BY ONE; RETURN. * 03670000 -* ERROR CHECKS: NONE * 03680000 -* INTERRUPTS: OFF * 03690000 -* USER ACCESS: NO * 03700000 -* * 03710000 -*********************************************************************** 03720000 - SPACE 1 03730000 -XEXC EQU * . ROUTINE XEXC: ENTER SMC SECTION 03740000 - USING *,1 03750000 - SR 8,8 03760000 - IC 8,PCBINSMC 03770000 - LA 8,1(8) . ADD ONE TO SMC BYTE 03780000 - STC 8,PCBINSMC 03790000 - LPSW RETURN . AND LEAVE 03800000 - SPACE 1 03810000 -*********************************************************************** 03820000 -* * 03830000 -* XCOM ROUTINE * 03840000 -* * 03850000 -* FUNCTION: TO LEAVE SMC SECTION * 03860000 -* DATABASES: NONE * 03870000 -* ROUTINES USED: XP, XV * 03880000 -* PROCEDURE: DECREMENT SMC BYTE IN PCB BY ONE; IF NOT ZERO, * 03890000 -* RETURN. ELSE, CHECK FOR STOP WAITING; IF STOP * 03900000 -* WAITING, ALLOW STOP AND BLOCK SELF; RETURN. IF NO * 03910000 -* STOP WAITING, RETURN. * 03920000 -* ERROR CHECKS: NONE * 03930000 -* INTERRUPTS: OFF * 03940000 -* USER ACCESS: NO * 03950000 -* * 03960000 -*********************************************************************** 03970000 - SPACE 1 03980000 -XCOM EQU * . ROUTINE XCOM: LEAVE SMC 03990000 - USING *,1 04000000 - SR 8,8 04010000 - IC 8,PCBINSMC 04020000 - BCTR 8,0 . SUBTRACT ONE FROM IN SMC BYTE 04030000 - STC 8,PCBINSMC 04040000 - LTR 8,8 . IS IT ZERO? 04050000 - BNZ XCOMRET . NO, THEN GET BACK, OTHERWISE 04060000 - CLI PCBSW,X'00' . IS STOP WAITING? 04070000 - BE XCOMRET . IF NOT, RETURN 04080000 - MVI PCBSW,X'00' . STOPS NOT WAITING AFTER THIS 04090000 - LA 2,PCBSRS . WE'LL "V" THE STOPPER, 04100000 - SVC C'V' 04110000 - LA 2,PCBSES . AND "P" THE STOPPEE. 04120000 - SVC C'P' 04130000 -XCOMRET LPSW RETURN . AND HERE (IF EVER) WE RETURN 04140000 - EJECT 04150000 -*********************************************************************** 04160000 -* * 04170000 -* XA ROUTINE * 04180000 -* XAUTO ROUTINE * 04190000 -* * 04200000 -* FUNCTION: TO ALLOCATE MEMORY * 04210000 -* DATABASES: UPON ENTRY, REGISTER 2 CONTAINS ADDRESS XAX: * 04220000 -* XAX DS 0D * 04230000 -* XAXSIZE DS F SIZE OF BLOCK TO BE ALLOCATED * 04240000 -* XAXADDR DS A ADDRESS OF FIRST BYTE OF BLOCK* 04250000 -* XAXALGN DS F ALIGNMENT OF BLOCK * 04260000 -* ROUTINES USED: XEXC, XCOM, XP, XV, XB * 04270000 -* PROCEDURE: LOCK FSB SEMAPHORE; SEARCH FREE STORAGE FOR LARGE * 04280000 -* ENOUGH MEMORY BLOCK; ALIGN BOUNDARY; USE XB TO * 04290000 -* CHAIN ANY LEFTOVER BLOCKS TO FREE STORAGE LIST; * 04300000 -* PLACE ADDRESS OF ALLOCATED BLOCK IN XAXADDR; UNLOCK* 04310000 -* FSB SEMAPHORE; RETURN. IF CAN'T SATISFY REQUEST, * 04320000 -* UNLOCK FSB SEMAPHORE, APPLY XP ROUTINE TO MEMORY * 04330000 -* SEMAPHORE, BLOCKING PROCESS RUNNING UNTIL MEMORY * 04340000 -* FREED; THEN UNBLOCK; TRY TO SATISFY REQUEST AGAIN. * 04350000 -* ERROR CHECKS: NONE * 04360000 -* INTERRUPTS: ON * 04370000 -* USER ACCESS: NO * 04380000 -* * 04390000 -*********************************************************************** 04400000 - SPACE 1 04410000 -XA EQU * . THE XA ROUTINE, TO ALLOCATE 04420000 - USING *,1 04430000 - LA 0,1 . SET REGISTER ZERO TO ONE TO 04440000 - B XACOM . INDICATE C'A' CALL 04450000 -XAUTO EQU * . AUTO STORAGE ENTRY POINT 04460000 - USING *,1 04470000 - SR 0,0 . REG0=0 INDICATES C'E' CALL 04480000 - L 1,=A(XA) . RESET BASE REGISTER PROPERLY 04490000 - USING XA,1 04500000 -XACOM SVC C'!' . ENTER SMC 04510000 - LR 7,2 04520000 - USING XAX,7 . ARGUMENT LIST 04530000 - L 6,XAXSIZE . GET THE SIZE REQUESTED 04540000 -XATOP LA 2,FSBSEM . LOCK THE FSB SEMAPHORE 04550000 - SVC C'P' . 04560000 - LA 5,FSBPTR . START LOOKING DOWN 04570000 - L 4,FSBPTR . THE FREE STORAGE LIST 04580000 - L 8,XAXALGN . WE WOULD HAVE TO START AT WITH 04590000 - BCTR 8,0 . THIS CONSTANT TO FIND ALIGNMENT 04600000 - USING FSB,4 04610000 -XALOOP LTR 4,4 . IF AT THE END 04620000 - BZ XAWAIT . WAIT UNTIL A "FREE" OP 04630000 - LR 13,4 . FIND THE LOCATION 04640000 - BCTR 13,0 . IN THIS BLOCK WITH THIS 04650000 - OR 13,8 . ALIGNMENT 04660000 - LA 13,1(13) . THAT'S IT 04670000 - LR 9,13 . AND NOW GET IN REG 9 04680000 - SR 9,4 . WHAT IS WASTED AT THE FRONT 04690000 - L 3,FSBSIZE . GET SIZE MINUS WASTE AT 04700000 - SR 3,9 . FRONT, LEAVING EFFECTIVE SIZE 04710000 - CR 6,3 . IS IT ENOUGH? 04720000 - BNP XAFOUND . EUREKA! 04730000 - LA 5,FSBNEXT . OH WELL, GET THE NEXT FREE 04740000 - L 4,FSBNEXT . STORAGE BLOCK ON THE CHAIN 04750000 - B XALOOP . BETTER LUCK NEXT TIME 04760000 -XAWAIT SVC C'V' . NEED TO WAIT 04770000 - LA 2,MEMORY . SO WE LET OTHER PEOPLE GET IN 04780000 - SVC C'P' . SO THEY'LL WAKE US UP 04790000 - B XATOP . AND THEN WE'LL TRY AGAIN 04800000 -XAFOUND ST 13,XAXADDR . WE'VE NOW GOT THE ADDRESS 04810000 - MVC 0(4,5),FSBNEXT . UNLINK THE BLOCK OUT 04820000 - L 12,FSBSIZE . GET THE WHOLE BLOCK SIZE 04830000 - LA 2,SATEMP . START MAKING UP ARG LISTS 04840000 - USING XBX,2 . FOR THE XB ROUTINE 04850000 - LR 10,13 . THE STARTING LOCATION 04860000 - SR 10,4 . MINUS THE START OF THE BLOCK 04870000 - BZ XANF . IF NONE WASTED AT THE FRONT, SKIP 04880000 - ST 4,XBXADDR . ELSE FREE, STARTING THERE 04890000 - ST 10,XBXSIZE . UP TO THE BEGINNING OF THE 04900000 - SVC C'B' . ALLOCATION; INSERT IT IN THE CHAIN 04910000 -XANF LR 11,13 . THE STARTING ADDR PLUS THE SIZE 04920000 - AR 11,6 . GIVES THE FIRST UNUSED ADDR 04930000 - SR 12,10 . MINUS THE WASTE AT FRONT, 04940000 - SR 12,6 . MINUS THE PART ALLOCATED. IF 04950000 - BZ XARETURN . NONE LEFT OVER, GOOD 04960000 - ST 11,XBXADDR . ELSE STORE ADDRESS AND 04970000 - ST 12,XBXSIZE . SIZE, AND LINK ONTO 04980000 - SVC C'B' . FREE STORAGE LIST 04990000 - DROP 2 05000000 -XARETURN LA 2,FSBSEM . WE ARE DONE, SO NOW SOMEONE 05010000 - SVC C'V' . ELSE CAN COME IN 05020000 - LTR 0,0 . IS THIS FOR AUTOMATIC STORAGE? 05030000 - BNZ XABACK . IF NOT, RETURN NOW 05040000 - ST 6,PCBASIZE . OTHERWISE STORE SIZE AND 05050000 - ST 13,PCBAADDR . ADDRESS OF AUTOMATIC STORAGE 05060000 -XABACK SVC C',' . LEAVE SMC SECTION 05070000 - LPSW RETURN . GET BACK JOJO 05080000 - DROP 4,7 05090000 - EJECT 05100000 -*********************************************************************** 05110000 -* * 05120000 -* XF ROUTINE * 05130000 -* * 05140000 -* FUNCTION: TO FREE MEMORY * 05150000 -* DATABASES: UPON ENTRY, REGISTER 2 CONTAINS ADDRESS XFX: * 05160000 -* XFX DS 0D * 05170000 -* XFXSIZE DS F SIZE OF BLOCK TO BE FREED * 05180000 -* XFXADDR DS A ADDRESS OF FIRST BYTE OF BLOCK* 05190000 -* ROUTINES USED: XEXC, XP, XV, XB, XCOM * 05200000 -* PROCEDURE: LOCK FSB SEMAPHORE; SEARCH FREE STORAGE LIST TO * 05210000 -* FIND IF ANY FREE BLOCK CONTIGUOUSLY FOLLOWS OR * 05220000 -* PRECEDES BLOCK TO BE FREED; IF THERE IS ANY, * 05230000 -* COMPACT THEM INTO A SINGLE BLOCK OF COMBINED SIZE; * 05240000 -* USE XB TO CHAIN COMPACTED BLOCK ONTO FREE STORAGE * 05250000 -* LIST; WAKEUP ALL PROCESSES WAITING ON MEMORY * 05260000 -* SEMAPHORE; UNLOCK FSB SEMAPHORE; RETURN * 05270000 -* ERROR CHECKS: NONE * 05280000 -* INTERRUPTS: ON * 05290000 -* USER ACCESS: NO * 05300000 -* * 05310000 -*********************************************************************** 05320000 - SPACE 1 05330000 -XF EQU * . THE XF ROUTINE, TO FREE STORAGE 05340000 - USING *,1 05350000 - SVC C'!' . ENTER SMC SECTION 05360000 - LR 7,2 05370000 - USING XFX,7 . THE ARGUMENT LIST 05380000 - L 3,XFXSIZE . GET THE SIZE 05390000 - L 4,XFXADDR . AND THE ADDRESS 05400000 - LR 5,3 . GET THE ADDRESS OF THE END OF THE 05410000 - AR 5,4 . BLOCK TO BE FREED 05420000 - LA 2,FSBSEM . LOCK FSBSEM 05430000 - SVC C'P' 05440000 - LA 8,FSBPTR . START LOOKING DOWN THE FREE 05450000 - L 6,FSBPTR . STORAGE LIST, FOR COMPACTION 05460000 - USING FSB,6 05470000 -XFLOOP LTR 6,6 . ARE WE THROUGH? 05480000 - BZ XFLINK . IF SO, JUST ADD IT ON 05490000 - L 9,FSBNEXT . IF NOT. GET THE NEXT PTR 05500000 - CR 6,5 . IS THIS BLOCK RIGHT AFTER OURS? 05510000 - BNE XFTHEN . IF NOT, OK. BUT IF IT IS, 05520000 - ST 9,0(8) . WE CAN COMPACT, SO UNCHAIN IT 05530000 - A 3,FSBSIZE . AND REMEMBER THE NEW SIZE 05540000 - B XFBACKUP . AND ON TO THE NEXT 05550000 -XFTHEN LR 10,6 . MAYBE IT'S RIGHT BEFORE OURS 05560000 - A 10,FSBSIZE . GET ENDING ADDRESS OF FREE BLOCK 05570000 - CR 10,4 . IS IT RIGHT BEFORE OURS? 05580000 - BNE XFINC . OH FUDGE! NO! 05590000 - ST 9,0(8) . IF SO, UNLINK IT 05600000 - LR 4,6 . GET THE NEW BEGINNING LOCATION 05610000 - A 3,FSBSIZE . AND NEW SIZE OF FREE BLOCK 05620000 -XFBACKUP LR 6,8 . BACK UP ONE FSB 05630000 -XFINC LA 8,FSBNEXT . ON TO THE NEXT FSB 05640000 - L 6,FSBNEXT 05650000 - B XFLOOP . TRY, TRY AGAIN 05660000 -XFLINK LA 2,SATEMP . START TO CALL XB 05670000 - USING XBX,2 05680000 - ST 3,XBXSIZE . STORE SIZE 05690000 - ST 4,XBXADDR . AND ADDRESS 05700000 - SVC C'B' . LINK IT ONTO THE FSB CHAIN 05710000 - USING SM,2 05720000 - LA 2,MEMORY . GET VALUE OF MEMORY SEMAPHORE 05730000 - LA 11,1(0,0) . SUBTRACT FROM ONE, IT'S A HANDLE 05740000 - S 11,SMVAL . ON THE # OF PEOPLE WAITING 05750000 - DROP 2 05760000 -XFVLOOP BCT 11,XFVDO . LOOP IF ANYONE ELSE IS WAITING 05770000 - LA 2,FSBSEM . WE'RE THROUGH, SO 05780000 - SVC C'V' . UNBLOCK FSBSEM 05790000 - SVC C',' . LEAVE SMC 05800000 - LPSW RETURN . RETURN 05810000 -XFVDO SVC C'V' . WAKE SOMEONE UP 05820000 - B XFVLOOP . TRY AGAIN FOR ANOTHER 05830000 - DROP 6,7 05840000 - EJECT 05850000 -*********************************************************************** 05860000 -* * 05870000 -* XB ROUTINE * 05880000 -* * 05890000 -* FUNCTION: TO CHAIN A STORAGE BLOCK ONTO FREE STORAGE LIST * 05900000 -* DATABASES: UPON ENTRY, REGISTER 2 CONTAINS ADDRESS XBX: * 05910000 -* XBX DS 0D * 05920000 -* XBXSIZE DS F SIZE OF BLOCK * 05930000 -* XBXADDR DS A ADDRESS OF FIRST BYTE OF BLOCK* 05940000 -* ROUTINES USED: NONE * 05950000 -* PROCEDURE: SEARCH FREE STORAGE LIST TO FIND WHERE TO INSERT * 05960000 -* FREE BLOCK IN ORDER OF INCREASING SIZE; FORMAT * 05970000 -* BLOCK LIKE AN FSB; INSERT; RETURN. * 05980000 -* ERROR CHECKS: NONE * 05990000 -* INTERRUPTS: OFF * 06000000 -* USER ACCESS: NO * 06010000 -* COMMENTS: SINCE XB ROUTINE ONLY CALLED BY XA AND XF, FSB * 06020000 -* SEMAPHORE IS ALREADY LOCKED. * 06030000 -* * 06040000 -*********************************************************************** 06050000 - SPACE 1 06060000 -XB EQU * 06070000 - USING *,1 06080000 - USING XBX,2 . ARGUMENT LIST 06090000 - L 3,XBXSIZE . GET THE SIZE 06100000 - L 4,XBXADDR . AND THE ADDRESS 06110000 - LA 8,FSBPTR . START LOOKING DOWN THE CHAIN 06120000 - L 6,FSBPTR 06130000 - LTR 6,6 . IF ZERO POINTER, WE ARE AT 06140000 - BZ XBINSERT . END OF CHAIN ALREADY 06150000 - USING FSB,6 06160000 -XBLOOP C 3,FSBSIZE . IF THE SIZE OF OURS IS LESS, 06170000 - BNP XBINSERT . TIME TO INSERT 06180000 - LA 8,FSBNEXT . ELSE GO ON TO THE NEXT 06190000 - L 6,FSBNEXT 06200000 - LTR 6,6 . IF NOT ALREADY THROUGH 06210000 - BNZ XBLOOP . BRANCH BACK 06220000 -XBINSERT ST 4,0(8) . NOW, LINK OURS ON 06230000 - DROP 6 06240000 - USING FSB,4 06250000 - ST 6,FSBNEXT . MAKE OURS POINT TO THE NEXT 06260000 - ST 3,FSBSIZE . WITH THE RIGHT SIZE 06270000 - LPSW RETURN . AND RETURN 06280000 - DROP 2,4 06290000 - EJECT 06300000 -*********************************************************************** 06310000 -* * 06320000 -* XC ROUTINE * 06330000 -* * 06340000 -* FUNCTION: TO CREATE A PROCESS * 06350000 -* DATABASES: UPON ENTRY, REGISTER 2 CONTAINS ADDRESS XCX: * 06360000 -* XCX DS 0D * 06370000 -* XCXNAME DS CL8 NAME OF PROCESS TO BE CREATED * 06380000 -* ROUTINES USED: XEXC, XCOM, XN, XA, XI, XQUE * 06390000 -* PROCEDURE: USE XA TO ALLOCATE NEW PCB; PLACE XCXNAME IN PCB; * 06400000 -* INITIALIZE SEMAPHORES; STOP; BLOCK; OUT OF SMC; * 06410000 -* CALL XI TO LINK PCB ONTO PCB CHAINS; RETURN. * 06420000 -* ERROR CHECKS: IF NAME ALREADY USED IN THIS GROUP, XQUE ENTERED. * 06430000 -* INTERRUPTS: ON * 06440000 -* USER ACCESS: YES * 06450000 -* * 06460000 -*********************************************************************** 06470000 - SPACE 1 06480000 -XC EQU * . THE XC ROUTINE: CREATE A PROCESS 06490000 - USING *,1 06500000 - LR 7,2 06510000 - USING XCX,7 . ARGUMENT LIST 06520000 - LA 2,SATEMP . READY TO MAKE CALLS OUT 06530000 - USING XNX,2 . A XN-LIKE ARGUMENT LIST 06540000 - MVC XNXNAME,XCXNAME . GET THE NAME 06550000 - SVC C'N' . AND CALL TO FIND THE PCB 06560000 - CLC XNXADDR,=A(0) . SEE IF THERE 06570000 - BNE XCERR . IF ALREADY EXISTS, BAD 06580000 - SVC C'!' . ENTER SMC SECTION 06590000 - DROP 2 06600000 - USING XAX,2 . READY TO CALL XA 06610000 - MVC XAXSIZE,=A(LENPCB) . WE KNOW THE SIZE 06620000 - MVC XAXALGN,=F'8' . AND THE ALIGNMENT 06630000 - SVC C'A' . SO CALL 06640000 - L 2,XAXADDR . FIND THE ADDRESS 06650000 - DROP 2,15 06660000 - USING PCB,2 . FILL IN THE PCB 06670000 - MVC PCBNAME,XCXNAME . GIVE IT A NAME 06680000 - MVI PCBSTOPT,X'FF' . IT'S STOPPED 06690000 - MVC PCBBLOKT(PCBISA-PCBBLOKT),TEMPLATE+1 INITIALIZE PCB 06700000 - SVC C'I' . THREAD IT ON 06710000 - SVC C',' . LEAVE SMC SECTION 06720000 - LPSW RETURN . AND RETURN 06730000 -XCERR SVC C'?' . IF ALREADY EXISTS,KERROR 06740000 - DROP 2,7 06750000 - EJECT 06760000 -*********************************************************************** 06770000 -* * 06780000 -* XD ROUTINE * 06790000 -* * 06800000 -* FUNCTION: TO DESTROY A PROCESS * 06810000 -* DATABASES: UPON ENTRY, REGISTER 2 CONTAINS ADDRESS XDX: * 06820000 -* XDX DS 0D * 06830000 -* XDXNAME DS CL8 NAME OF PROCESS TO BE DESTROYED* 06840000 -* ROUTINES USED: XEXC, XJ, XS, XN, XF, XCOM, XQUE * 06850000 -* PROCEDURE: USE XN TO FIND PCB FOR PROCESS TO BE DESTROYED; * 06860000 -* USE XJ TO UNLOCK PCB FROM PROCESS CHAINS; IF ANY * 06870000 -* MESSAGES FOR THIS PROCESS, FREE STORAGE FOR THEM; * 06880000 -* IF THERE IS ANY AUTOMATIC STORAGE, FREE IT; * 06890000 -* FREE STORAGE FOR PCB; RETURN. * 06900000 -* ERROR CHECKS: IF NAME DOESN'T EXIST OR PROCESS NOT STOPPED, * 06910000 -* XQUE ENTERED. * 06920000 -* INTERRUPTS: ON * 06930000 -* USER ACCESS: YES * 06940000 -* * 06950000 -*********************************************************************** 06960000 - SPACE 1 06970000 -XD EQU * . XD ROUTINE: DESTROY A PROCESS 06980000 - USING *,1 06990000 - LR 7,2 07000000 - USING XDX,7 . ARG LIST 07010000 - LA 2,SATEMP . READY TO CALL OUT 07020000 - USING XNX,2 . WILL CALL XN 07030000 - MVC XNXNAME,XDXNAME . GET NAME 07040000 - SVC C'N' . AND CALL 07050000 - L 2,XNXADDR . GET ADDRESS 07060000 - DROP 2 07070000 - LTR 2,2 . IF ADDRESS IS NULL, 07080000 - BZ XDERR . IT'S AN ERROR 07090000 - USING PCB,2 07100000 - CLI PCBSTOPT,X'FF' . IF NOT STOPPED 07110000 - BNE XDERR . IT'S AN ERROR 07120000 - SVC C'!' . ENTER SMC SECTION 07130000 - DROP 2 07140000 - USING PCB,15 07150000 - SVC C'J' . ELSE UNTHREAD THE ENTRY 07160000 - LR 8,2 . REMEMBER THE PCB POINTER 07170000 - LA 2,SATEMP . READY TO CALL OUT AGAIN 07180000 - USING PCB,8 07190000 - DROP 15 07200000 - L 9,PCBFM . GET FIRST MESSAGE 07210000 -XDLOOP LTR 9,9 . ANY MORE MESSAGES? 07220000 - BZ XDCHECK . IF NOT, FINISH UP 07230000 - USING MSG,9 07240000 - L 10,MSGNEXT . ELSE REMEMBER NEXT 07250000 - L 11,MSGSIZE . GET THE SIZE 07260000 - LA 11,15(11) . AND MAKE IT SOME NUMBER 07270000 - N 11,=F'-8' . OF DOUBLEWORDS 07280000 - USING XFX,2 07290000 - ST 9,XFXADDR . FREE THE LOCATION 07300000 - ST 11,XFXSIZE . THE NUMBER OF WORDS 07310000 - SVC C'F' . DO IT 07320000 - LR 9,10 . ON TO THE NEXT 07330000 - B XDLOOP . GET THE NEXT MESSAGE 07340000 -XDCHECK CLC PCBAADDR(4),=A(0) . HAS AUTOMATIC STORAGE BEEN 07350000 - BE XDTHEN . ALLOCATED? IF NOT, GO FINISH UP 07360000 - LA 2,PCBASIZE . SET UP THE ARGUMENT LIST 07370000 - SVC C'F' . FREE IT 07380000 - LA 2,SATEMP . RESET REGISTER 2 07390000 -XDTHEN ST 8,XFXADDR . READY TO FREE THE PCB 07400000 - MVC XFXSIZE,=A(LENPCB) . THE SIZE 07410000 - SVC C'F' . FREE IT 07420000 - SVC C',' . LEAVE SMC 07430000 - LPSW RETURN . AND RETURN 07440000 -XDERR SVC C'?' . IF PROCESS DOES NOT EXIST 07450000 - DROP 2,7,8,9 07460000 - USING PCB,15 07470000 - SPACE 3 07480000 -*********************************************************************** 07490000 -* * 07500000 -* XH ROUTINE * 07510000 -* * 07520000 -* FUNCTION: TO HALT A JOB * 07530000 -* DATABASES: NONE * 07540000 -* ROUTINES USED: XS, XR * 07550000 -* PROCEDURE: SEND MESSAGE TO SUPERVISOR PROCESS FOR THIS JOB * 07560000 -* INDICATING NORMAL TERMINATION; TRIES TO READ * 07570000 -* MESSAGES FOREVER LOOPING; BLOCKS ITSELF, THEREBY * 07580000 -* NEVER RETURNING. * 07590000 -* ERROR CHECKS: NONE * 07600000 -* INTERRUPTS: ON * 07610000 -* USER ACCESS: YES * 07620000 -* COMMENTS: USER NORMALLY USES THIS ROUTINE TO END A JOB. * 07630000 -* * 07640000 -*********************************************************************** 07650000 - SPACE 1 07660000 -XH EQU * . THE XH ROUTINE: HALT A JOB 07670000 - USING *,1 07680000 - LA 2,XHMSG1 . SEND A MESSAGE TO *IBSUP 07690000 - SVC C'S' . SEND IT 07700000 -XHLOOP LA 2,XHMSG2 . READY TO READ A REPLY 07710000 - SVC C'R' . WHICH NEVER COMES 07720000 - B XHLOOP . BUT IF IT DOES WERE READY 07730000 - DS 0F 07740000 -XHMSG1 DC CL8'*IBSUP' . SAY TO *IBSUP 07750000 - DC F'12' . TWELVE CHARACTERS 07760000 - DC C'PROGRAM HALT' . SAYING WERE OK 07770000 -XHMSG2 DS CL8 . WHO SENDS US A MESSAGE 07780000 - DC F'1' . ONE CHARACTER 07790000 - DS CL1,0H . WHICH GOES HERE 07800000 - EJECT 07810000 -*********************************************************************** 07820000 -* * 07830000 -* XI ROUTINE * 07840000 -* * 07850000 -* FUNCTION: TO CHAIN A PCB ONTO PROCESS CHAINS * 07860000 -* DATABASES: UPON ENTRY, REGISTER 2 CONTAINS ADDRESS OF A PCB * 07870000 -* ROUTINES USED: NONE * 07880000 -* PROCEDURE: POINTER USED TO CHAIN PCB INTO ALL PCB CHAIN AND * 07890000 -* THIS GROUP CHAIN RIGHT AFTER RUNNING PCB; RETURN. * 07900000 -* ERROR CHECKS: NONE * 07910000 -* INTERRUPTS: OFF * 07920000 -* USER ACCESS: NO * 07930000 -* * 07940000 -*********************************************************************** 07950000 - SPACE 1 07960000 -XI EQU * . THE XI ROUTINE: THREAD IN A PCB 07970000 - USING *,1 07980000 - L 10,PCBNPALL . GET THE NEXT 'ALL' PCB 07990000 - ST 2,PCBNPALL . STORE THIS PCB RIGNT AFTER MINE 08000000 - DROP 15 08010000 - USING PCB,10 08020000 - ST 2,PCBLPALL . THE NEXT ONE DOWN POINTS BACK 08030000 - DROP 10 08040000 - USING PCB,2 08050000 - ST 15,PCBLPALL . THIS PCB POINTS BACK 08060000 - ST 10,PCBNPALL . AND FORWARD 08070000 - DROP 2 08080000 - USING PCB,15 08090000 - L 10,PCBNPTG . GET NEXT "THIS GROUP" PCB 08100000 - ST 2,PCBNPTG . RUNNING PCB POINTS TO NEW MEMBER 08110000 - DROP 15 . OF PROCESS GROUP 08120000 - USING PCB,10 08130000 - ST 2,PCBLPTG . NEXT PCB DOWN POINTS BACK 08140000 - DROP 10 08150000 - USING PCB,2 08160000 - ST 15,PCBLPTG . AND WE POINT BACKWARD 08170000 - ST 10,PCBNPTG . AND FORWARD 08180000 - DROP 2 08190000 - LPSW RETURN . RETURN 08200000 - USING PCB,15 08210000 - EJECT 08220000 -*********************************************************************** 08230000 -* * 08240000 -* XJ ROUTINE * 08250000 -* * 08260000 -* FUNCTION: TO UNCHAIN A PCB FROM PROCESS CHAINS * 08270000 -* DATABASES: UPON ENTRY, REGISTER 2 CONTAINS ADDRESS OF A PCB * 08280000 -* ROUTINES USED: NONE * 08290000 -* PROCEDURE: POINTERS TO PCB IN ALL PCB CHAIN AND THIS GROUP * 08300000 -* CHAIN MODIFIED WITHOUT FREEING STORAGE; RETURN. * 08310000 -* ERROR CHECKS: NONE * 08320000 -* INTERRUPTS: OFF * 08330000 -* USER ACCESS: NO * 08340000 -* * 08350000 -*********************************************************************** 08360000 - SPACE 1 08370000 -XJ EQU * . THE XJ ROUTINE: UNTHREAD A PCB 08380000 - USING *,1 08390000 - DROP 15 08400000 - USING PCB,2 08410000 - L 11,PCBLPALL . GET PRECEDING PCB 08420000 - L 10,PCBNPALL . AND FOLLOWING ONE IN "ALL" 08430000 - DROP 2 . CHAIN 08440000 - USING PCB,11 08450000 - ST 10,PCBNPALL . LAST POINTS TO NEXT 08460000 - DROP 11 08470000 - USING PCB,10 08480000 - ST 11,PCBLPALL . NEXT POINTS TO LAST 08490000 - DROP 10 08500000 - USING PCB,2 08510000 - L 11,PCBLPTG . REDO FOR THIS GROUP PCB CHAIN 08520000 - L 10,PCBNPTG 08530000 - DROP 2 08540000 - USING PCB,11 08550000 - ST 10,PCBNPTG . LAST POINTS TO NEXT 08560000 - DROP 11 08570000 - USING PCB,10 08580000 - ST 11,PCBLPTG . NEXT POINTS TO LAST 08590000 - DROP 10 08600000 - LPSW RETURN . AND RETURN 08610000 - USING PCB,15 08620000 - EJECT 08630000 -*********************************************************************** 08640000 -* * 08650000 -* XN ROUTINE * 08660000 -* * 08670000 -* FUNCTION: TO FIND THE PCB FOR A PROCESS GIVEN ITS NAME ONLY * 08680000 -* DATABASES: UPON ENTRY, REGISTER 2 CONTAINS ADDRESS XNX * 08690000 -* XNX DS 0D * 08700000 -* XNXNAME DS CL8 NAME OF PROCESS * 08710000 -* XNXADDR DS A ADDRESS OF PCB * 08720000 -* ROUTINES USED: NONE * 08730000 -* PROCEDURE: SEARCH THIS GROUP PCB CHAIN FOR NAME; IF FOUND, * 08740000 -* STORE POINTER IN XNXADDR. IF NOT FOUND, STORE * 08750000 -* ZERO IN XNXADDR; RETURN. * 08760000 -* ERROR CHECKS: NONE * 08770000 -* INTERRUPTS: OFF * 08780000 -* USER ACCESS: YES * 08790000 -* * 08800000 -*********************************************************************** 08810000 - SPACE 1 08820000 -XN EQU * . THE XN ROUTINE: FIND A NAMED PCB 08830000 - USING *,1 08840000 - USING XNX,2 . THE ARG LIST 08850000 - LR 10,15 . FIRST PCB TO LOOK AT IS OURS 08860000 - DROP 15 08870000 - USING PCB,10 08880000 -XNXLOOP L 10,PCBNPTG . LOOK AT NEXT PCB 08890000 - CLC PCBNAME,XNXNAME . HAS IT THE RIGHT NAME? 08900000 - BE XNXFOUND . IF YES, OH JOY. 08910000 - CR 10,15 . IF NOT, ARE WE THROUGH? 08920000 - BNE XNXLOOP . IF NOT, TRY THE NEXT PCB 08930000 - LA 10,0 . ELSE, IT'S NOT HERE 08940000 -XNXFOUND ST 10,XNXADDR . FOUND IT. SAY WHERE. 08950000 - LPSW RETURN . AND RETURN 08960000 - DROP 2,10 08970000 - USING PCB,15 08980000 - EJECT 08990000 -*********************************************************************** 09000000 -* * 09010000 -* XR ROUTINE * 09020000 -* * 09030000 -* FUNCTION: TO READ A MESSAGE * 09040000 -* DATABASES: UPON ENTRY, REGISTER 2 CONTAINS ADDRESS XRX * 09050000 -* XRX DS 0D * 09060000 -* XRXNAME DS CL8 NAME OF SENDER PROCESS * 09070000 -* XRXSIZE DS F SIZE OF MESSAGE TEXT * 09080000 -* XRXTEXT DS C TEXT OF MESSAGE * 09090000 -* ROUTINES USED: XP, XEXC, XN, XCOM, XF * 09100000 -* PROCEDURE: USE XP ON MESSAGE SEMAPHORE RECEIVER TO SEE IF ANY * 09110000 -* MESSAGES WAITING; IF NONE, PROCESS BLOCKED UNTIL * 09120000 -* THERE IS ONE; LOCK MESSAGE CHAIN; REMOVE A MESSAGE * 09130000 -* FROM CHAIN AND UNLOCK IT; MOVE TEXT OF MESSAGE, * 09140000 -* PADDING WITH BLANKS OR TRUNCATING AS NECESSARY; * 09150000 -* INDICATE CORRECT MESSAGE LENGTH AND NAME OF * 09160000 -* MESSAGE SENDER; FREE STORAGE USED TO HOLD MESSAGE, * 09170000 -* AND RETURN. * 09180000 -* ERROR CHECKS: NONE * 09190000 -* INTERRUPTS: ON * 09200000 -* USER ACCESS: YES * 09210000 -* * 09220000 -*********************************************************************** 09230000 - SPACE 1 09240000 -XR EQU * . THE XR ROUTINE: READ A MESSAGE 09250000 - USING *,1 09260000 - LR 7,2 09270000 - USING XRX,7 . ARG LIST 09280000 - LA 2,PCBMSR . SEE IF MESSAGES WAITING 09290000 - SVC C'P' 09300000 - SVC C'!' . ENTER SMC SECTION 09310000 - LA 2,PCBMSC . THEN LOCK THE MESSAGE CHAIN 09320000 - SVC C'P' 09330000 - L 5,PCBFM . GET THE FIRST MESSAGE 09340000 - USING MSG,5 09350000 - MVC PCBFM,MSGNEXT . REMEMBER THE NEXT 09360000 - SVC C'V' . UNLOCK THE MESSAGE CHAIN 09370000 - L 6,XRXSIZE . GET THE BUFFER CAPACITY 09380000 - S 6,=F'2' . MINUS 1, MINUS 1 09390000 - MVI XRXTEXT,C' ' . MOVE IN A BLANK 09400000 - BM XRNOB 09410000 - EX 6,XRFILL . THEN FILL THE REST WITH BLANKS 09420000 -XRNOB LA 6,1(6) . THEN GET PROPER BUFFER COUNT 09430000 - C 6,MSGSIZE . COMPARE WITH MESSAGE LENGTH 09440000 - BL XRTHEN . IF LESS, HANDLE ACCORDINGLY 09450000 - L 6,MSGSIZE . ELSE COUNT FOR MVC IS MESSAGE 09460000 - BCTR 6,0 . SIZE MINUS ONE 09470000 -XRTHEN LTR 6,6 . ANY CHARACTERS TO MOVE? 09480000 - BM XRAFT . IF NOT, DON'T 09490000 - EX 6,XRMOVE . ELSE MOVE THEM 09500000 -XRAFT LA 6,1(6) . THEN GET LENGTH 09510000 - ST 6,XRXSIZE . STORE IT 09520000 - L 10,MSGSENDR . GET SENDER'S PCB 09530000 - DROP 15 09540000 - USING PCB,10 09550000 - MVC XRXNAME,PCBNAME . AND STORE SENDER'S NAME 09560000 - L 6,MSGSIZE . GET SIZE OF MESSAGE TEXT 09570000 - LA 6,LENMSG(6) . ADD SIZE OF MESSAGE BLOCK 09580000 - LA 6,7(6) . AND TRUNCATE 09590000 - N 6,=F'-8' . UP 09600000 - LR 2,5 . SET UP POINTER TO XFX 09610000 - USING XFX,2 09620000 - ST 5,XFXADDR . STORE ADDRESS 09630000 - ST 6,XFXSIZE . STORE SIZE 09640000 - SVC C'F' . AND FREE THE MESSAGE BLOCK 09650000 - SVC C',' . LEAVE SMC 09660000 - LPSW RETURN . AND RETURN 09670000 -XRFILL MVC XRXTEXT+1,XRXTEXT . FILL WITH BLANKS 09680000 -XRMOVE MVC XRXTEXT,MSGTEXT . MOVE TEXT 09690000 - DROP 2,5,7,10 09700000 - USING PCB,15 09710000 - SPACE 3 09720000 -*********************************************************************** 09730000 -* * 09740000 -* XS ROUTINE * 09750000 -* * 09760000 -* FUNCTION: TO SEND A MESSAGE * 09770000 -* DATABASES: UPON ENTRY, REGISTER 2 CONTAINS ADDRESS XSX * 09780000 -* XSX DS 0D * 09790000 -* XSXNAME DS CL8 NAME OF TARGET PROCESS * 09800000 -* XSXSIZE DS F SIZE OF TEXT * 09810000 -* XSXTEXT DS C TEXT OF MESSAGE * 09820000 -* ROUTINES USED: XP, XV, XEXC, XCOM, XA, XQUE * 09830000 -* PROCEDURE: USE XN TO GET POINTER TO PCB OF TARGET PROCESS; * 09840000 -* USE LENGTH OF MESSAGE AND XA TO ALLOCATE BLOCK FOR * 09850000 -* MESSAGE; LOCK MESSAGE CHAIN OF TARGET PROCESS; * 09860000 -* PUT MESSAGE BLOCK AT END OF CHAIN; STORE SENDER * 09870000 -* NAME, SIZE, AND TEXT OF MESSAGE; UNLOCK CHAIN; * 09880000 -* INDICATE MESSAGE CHAIN IS ONE LONGER; RETURN. * 09890000 -* ERROR CHECKS: IF NO PROCESS BY GIVEN NAME, ENTER XQUE. * 09900000 -* INTERRUPTS: ON * 09910000 -* USER ACCESS: YES * 09920000 -* * 09930000 -*********************************************************************** 09940000 - SPACE 1 09950000 -XS EQU * . THE XS ROUTINE: SEND MESSAGES 09960000 - USING *,1 09970000 - LR 7,2 09980000 - USING XSX,7 . ARG LIST 09990000 - LA 2,SATEMP . READY TO CALL OUT 10000000 - USING XNX,2 . ABOUT TO CALL XN 10010000 - MVC XNXNAME,XSXNAME . GIVE NAME OF TARGET PROCESS 10020000 - SVC C'N' . SEE WHERE IT IS 10030000 - L 4,XNXADDR . GET THE POINTER 10040000 - LTR 4,4 . IS THERE INDEED ONE? 10050000 - BZ XSERR . IF NOT, ERROR 10060000 - USING PCB,4 10070000 - DROP 2,15 10080000 - USING XAX,2 . READY TO CALL XA 10090000 - SVC C'!' . ENTERING SMC SECTION 10100000 - L 3,XSXSIZE . GET THE STATED SIZE 10110000 - LA 3,LENMSG(3) . PLUS THE AMOUNT OF OVERHEAD 10120000 - LA 3,7(3) . AND TRUNCATE 10130000 - N 3,=F'-8' . UP 10140000 - ST 3,XAXSIZE . THAT'S THE SIZE OF THE REGION TO 10150000 - MVC XAXALGN,=F'8' . ALLOCATE, ON A DOUBLEWORD BOUND 10160000 - SVC C'A' . SO ALLOCATE ALREADY 10170000 - L 5,XAXADDR . GET THE ADDRESS 10180000 - DROP 2 10190000 - LA 2,PCBMSC . GET THE MESSAGE CHAIN SEMAPHORE 10200000 - SVC C'P' . AND LOCK IT 10210000 - LA 8,PCBFM . THEN START DOWN THE MESSAGE 10220000 - L 9,PCBFM . CHAIN 10230000 - USING MSG,9 10240000 -XSLOOP LTR 9,9 . ARE WE THROUGH? 10250000 - BZ XSADD . IF SO ADD IT ON 10260000 - LA 8,MSGNEXT . IF NOT, ON TO THE NEXT 10270000 - L 9,MSGNEXT 10280000 - B XSLOOP . AND TRY AGAIN 10290000 -XSADD ST 5,0(8) . CHAIN OURS ON THE END 10300000 - DROP 9 10310000 - USING MSG,5 10320000 - MVC MSGNEXT,=A(0) . SET NEXT POINTER NULL 10330000 - ST 15,MSGSENDR . STORE THE SENDER 10340000 - L 6,XSXSIZE . GET THE TEXT LENGTH 10350000 - ST 6,MSGSIZE . AND STORE IT 10360000 - BCTR 6,0 . ONE LESS 10370000 - LTR 6,6 . TEST LENGTH 10380000 - BM XSAFT . IF ZERO, NOTHING TO MOVE 10390000 - EX 6,XSMOVE . ELSE, MOVE IT 10400000 -XSAFT SVC C'V' . UNLOCK THE MESSAGE CHAIN 10410000 - LA 2,PCBMSR . THEN SAY THERE'S 10420000 - SVC C'V' . ONE MORE MESSAGE 10430000 - SVC C',' . LEAVE SMC SECTION 10440000 - LPSW RETURN . AND RETURN 10450000 -XSERR SVC C'?' 10460000 -XSMOVE MVC MSGTEXT,XSXTEXT . THE MOVE FOR THE TEXT 10470000 - DROP 4,5,7 10480000 - USING PCB,15 10490000 - EJECT 10500000 -*********************************************************************** 10510000 -* * 10520000 -* XY ROUTINE * 10530000 -* * 10540000 -* FUNCTION: TO START A PROCESS * 10550000 -* DATABASES: UPON ENTRY, REGISTER 2 CONTAINS ADDRESS XYX * 10560000 -* XYX DS 0D * 10570000 -* XYXNAME DS CL8 NAME OF PROCESS TO BE STARTED * 10580000 -* XYXADDR DS A STARTING ADDRESS OF PROCESS * 10590000 -* ROUTINES USED: XN, XEXC, XCOM, XQUE * 10600000 -* PROCEDURE: USE XN TO GET POINTER TO THE PCB OF PROCESS TO BE * 10610000 -* STARTED; STORE IN PCB INTERRUPT SAVE AREA REGISTERS* 10620000 -* AND PSW WITH STARTING ADDRESS AS SENT FROM STARTING* 10630000 -* PROCESS; STOPPED BIT TURNED OFF; RETURN. * 10640000 -* ERROR CHECKS: IF NO PROCESS BY GIVEN NAME, XQUE ENTERED. * 10650000 -* INTERRUPTS: OFF * 10660000 -* USER ACCESS: YES * 10670000 -* * 10680000 -*********************************************************************** 10690000 - SPACE 1 10700000 -XY EQU * . THE XY ROUTINE: START A PROCESS 10710000 - USING *,1 10720000 - LR 7,2 10730000 - USING XYX,7 . THE ARG LIST 10740000 - LA 2,SATEMP . READY TO CALL OUT 10750000 - USING XNX,2 10760000 - MVC XNXNAME,XYXNAME . GIVE XN A NAME 10770000 - SVC C'N' . CALL XN 10780000 - L 10,XNXADDR . WHERE IS THE PCB? 10790000 - LTR 10,10 . OR IS THERE ONE? 10800000 - BZ XYERR . IF NOT, OH HISS BOO 10810000 - DROP 2,14,15 10820000 - USING PCB,10 10830000 - LA 13,PCBISA . GET INTO THAT PCB'S ISA 10840000 - USING SA,13 10850000 - MVC SAPSW,(SAPSW-SA)(14) . GIVE IT THE CALLER'S PSW 10860000 - MVC SAPSW+5(3),XYXADDR+1 . BUT AT THE REQUESTED ADDRESS 10870000 - MVC SAREGS,(SAREGS-SA)(14) .GIVE IT HIS REGISTERS 10880000 - MVI PCBSTOPT,X'00' . IT'S NO LONGER STOPPED 10890000 - LPSW RETURN . AND RETURN 10900000 -XYERR SVC C'?' . WE DONE BAD 10910000 - DROP 7,10,13 10920000 - USING SA,14 10930000 - USING PCB,15 10940000 - EJECT 10950000 -*********************************************************************** 10960000 -* * 10970000 -* XZ ROUTINE * 10980000 -* * 10990000 -* FUNCTION: TO STOP A PROCESS * 11000000 -* DATABASES: UPON ENTRY, REGISTER 2 CONTAINS ADDRESS XZX * 11010000 -* XZX DS 0D * 11020000 -* XZXNAME DS CL8 NAME OF PROCESS TO BE STOPPED * 11030000 -* ROUTINES USED: XN, XEXC, XCOM, XQUE, XP * 11040000 -* PROCEDURE: CHECK THAT USER PROCESS CAN'T STOP SYSTEM * 11050000 -* PROCESS; USE XN TO GET PCB POINTER; IF IN SMC, SET * 11060000 -* STOP WAITING BIT AND BLOCK SELF UNTIL STOP * 11070000 -* PERFORMED; ELSE SET STOPPED BIT, AND RETURN. * 11080000 -* ERROR CHECKS: IF NO PROCESS BY GIVEN NAME OR USER TRIES TO * 11090000 -* STOP A SYSTEM PROCESS, XQUE ENTERED. * 11100000 -* INTERRUPTS: ON * 11110000 -* USER ACCESS: YES * 11120000 -* * 11130000 -*********************************************************************** 11140000 - SPACE 1 11150000 -XZ EQU * . THE XZ ROUTINE: STOP A PROCESS 11160000 - USING *,1 11170000 - LR 7,2 11180000 - USING XZX,7 . ARG LIST 11190000 - CLI PCBNAME,C'*' . IS STOPPER A * PROCESS 11200000 - BE XZFINE . THAT'S OK 11210000 - CLI XZXNAME,C'*' . IF NOT, IS STOPPEE A * ? 11220000 - BE XZERR . CAN'T DO THAT 11230000 -XZFINE LA 2,SATEMP . READY TO CALL OUT 11240000 - USING XNX,2 . WILL CALL XN 11250000 - MVC XNXNAME,XZXNAME . GIVE IT THE NAME 11260000 - SVC C'N' . AND DO THE CALL 11270000 - L 10,XNXADDR . GET THE PCB'S ADDRESS 11280000 - LTR 10,10 . SEE IF NULL 11290000 - BZ XZERR . IF SO, ERROR 11300000 - SVC C'!' . ENTER SMC 11310000 - DROP 2,15 11320000 - USING PCB,10 11330000 -XZSTOP CLI PCBINSMC,X'00' . SEE IF IN SMC 11340000 - BNE XZINSMC . IF SO, BAD 11350000 - MVI PCBSTOPT,X'FF' . ELSE JUST STOP IT 11360000 - SVC C',' . LEAVE SMC 11370000 - LPSW RETURN . AND RETURN 11380000 -XZINSMC MVI PCBSW,X'FF' . IF IN SMC, SAY STOP WAITING 11390000 - LA 2,PCBSRS . AND STOP OURSELVES AGAINST 11400000 - SVC C'P' . A SEMAPHORE 11410000 - B XZSTOP . THEN WE CAN REALLY STOP IT 11420000 -XZERR SVC C'?' . AN ERROR 11430000 - DROP 10,7 11440000 - USING PCB,15 11450000 - EJECT 11460000 -*********************************************************************** 11470000 -* * 11480000 -* XQUE ROUTINE * 11490000 -* * 11500000 -* FUNCTION: TO SIGNAL ERROR CONDITION * 11510000 -* DATABASES: NONE * 11520000 -* ROUTINES USED: XR, XS * 11530000 -* PROCEDURE: SEND MESSAGE TO SUPERVISOR PROCESS FOR THIS JOB * 11540000 -* INDICATING ABNORMAL TERMINATION; TRY TO READ * 11550000 -* MESSAGES, FOREVER LOOPING; BLOCK ITSELF, THEREBY * 11560000 -* NEVER RETURNING. * 11570000 -* ERROR CHECKS: NONE * 11580000 -* INTERRUPTS: OFF * 11590000 -* USER ACCESS: YES * 11600000 -* * 11610000 -*********************************************************************** 11620000 - SPACE 1 11630000 -XQUE EQU * . THE XQUE ROUTINE: ERROR! 11640000 - USING *,1 11650000 - LA 2,XQUEM1 . SEND AN ERROR MESSAGE TO *IBSUP 11660000 - SVC C'S' 11670000 -XQUELOOP LA 2,XQUEM2 . WAIT FOR REPLY 11680000 - SVC C'R' 11690000 - B XQUELOOP . BUT IGNORE IT 11700000 - DS 0F 11710000 -XQUEM1 DC CL8'*IBSUP' 11720000 - DC F'12' 11730000 - DC CL12'PROGRAM FLOP' 11740000 -XQUEM2 DS CL8 11750000 - DC F'1' 11760000 - DS CL1,0H 11770000 - DROP 14,15 11780000 - EJECT 11790000 -*********************************************************************** 11800000 -* * 11810000 -* INPUT/OUTPUT ROUTINES * 11820000 -* * 11830000 -*********************************************************************** 11840000 - SPACE 1 11850000 -*********************************************************************** 11860000 -* * 11870000 -* SYSTEM SUPPLIED DEVICE HANDLER FOR READERS * 11880000 -* * 11890000 -*********************************************************************** 11900000 - SPACE 1 11910000 -RDRHANDL EQU * . THE READER HANDLER 11920000 - USING UCB,3 . STARTED WITH REG3 -> UCB 11930000 - BALR 1,0 11940000 - USING *,1 . ESTABLISH ADDRESSING 11950000 - LA 2,RDRHSEM . LOCK OURSELVES UNTIL WE SET UP 11960000 - SVC C'P' . AN AUTOMATIC STORAGE AREA 11970000 - LA 2,RDRHAAS . READY TO ALLOCATE 11980000 - USING XAX,2 11990000 - SVC C'E' . ALLOCATE 12000000 - L 12,XAXADDR . GET A PTR 12010000 - DROP 2 12020000 - LA 2,RDRHSEM . AND UNBLOCK OURSELVES 12030000 - SVC C'V' 12040000 - SRL 4,16 . SHIFT KEY 12050000 - SR 10,10 . CLEAR REG 10 12060000 - USING RDRHAS,12 . AUTOMATIC AREA 12070000 - MVI JOBBIT,X'00' . INITIALIZE 12080000 - LA 6,RDRHCCB . GET PTR TO CCB 12090000 -RDRHLOOP LA 2,RDRHMSG . TRY TO READ A MESSAGE 12100000 - USING XRX,2 12110000 - MVC XRXSIZE,=F'8' . WE CAN TAKE 8 CHARS 12120000 - SVC C'R' . READ IT 12130000 - CLC =C'READ',XRXTEXT . IF FIRST WORD IS READ, OK 12140000 - BNE RDRHLOOP . ELSE IGNORE 12150000 - L 5,XRXTEXT+4 . GET 2ND WORD OF TEXT 12160000 - DROP 2 12170000 - LA 2,UCBUS . LOCK THE UCB AND IT'S UNIT 12180000 - SVC C'P' 12190000 - LA 2,RDRHMSG . RESET ADDRESSING POINTER 12200000 - USING XRX,2 12210000 - CLI JOBBIT,X'FF' . HAVE WE JUST READ $JOB CARD? 12220000 - BNE RDRHMORE . IF NO, GO CHECK PROTECTION, ELSE 12230000 - CLI XRXNAME,C'*' . IS JSP CALLING US? 12240000 - BNE RDRHNO . IF NOT, TELL HIM NO. 12250000 - MVC 0(80,5),RDRHTEMP . IF IT IS, GIVE JSP THE $JOB CARD 12260000 - MVI JOBBIT,X'00' . SAY WE DON'T HAVE $JOB WAITING 12270000 - B RDRHSOK . AND SEND MESSAGE BACK 12280000 - DROP 2 12290000 -RDRHMORE CLI RDRHMSG,C'*' . IS SYSTEM CALLING? 12300000 - BE RDRHPOK . THEN PROTECTION OK, ELSE 12310000 - LR 11,5 . GET ADDRESS THAT'S TO HOLD CARD, 12320000 - N 11,PROTCON1 . get the page boundary 12330002 -* ISKE 10,11 . find storage key 12334002 - DC X'B22900AB' Assembler (XF) doesn't support ISKE 12338002 - N 10,PROTCON2 . ignore low order bits 12342002 - CR 10,4 . DOES IT MATCH OURS? 12350000 - BNE RDRHNO . IF NOT, TELL HIM NO 12360000 - LA 11,79(5) . CHECK LAST BYTE ADDR OF CARD 12370000 - N 11,PROTCON1 . get the page boundary 12380002 -* ISKE 10,11 . find storage key 12384002 - DC X'B22900AB' Assembler (XF) doesn't support ISKE 12388002 - N 10,PROTCON2 . ignore low order bits 12392002 - CR 10,4 . DOES IT MATCH OURS? 12400000 - BNE RDRHNO . IF NOT, TELL HIM NO 12410000 -RDRHPOK N 5,CCBCON1 . MAKE ADDRESS INTO 12420000 - ST 5,RDRHCCB . A CCW (OR CCB) 12430000 - OI RDRHCCB,X'02' 12440000 - MVC RDRHCCB+4,=F'80' . WE'LL READ EIGHTY CHARACTERS 12450000 - MVC UCBCSW(4),=A(0) . CLEAR THE LAST CSW THERE 12460000 - MVC UCBCSW+4(4),=A(0) 12470000 - LA 2,CAWSEM . LOCK THE CAW 12480000 - SVC C'P' 12490000 - ST 6,CAW . THAT'S THE CAW 12500000 - L 7,UCBADDR . GET THE UNIT ADDRESS 12510000 - SIO 0(7) . START THE I/O 12520000 - BNZ RDSTATUS . BRANCH IF SIO UNSUCCESSFUL 12530000 - SVC C'V' . THEN UNLOCK THE CAW 12540000 -RDRHWAIT LA 2,UCBWS . NOW WAIT FOR AN INTERRUPT 12550000 - SVC C'P' 12560000 - TM UCBCSW+4,X'85' . CHECK THE STATUS 12570003 - BZ RDRHWAIT . IF NOT FINISHED, WAIT 12580000 - TM UCBCSW+4,X'01' . CHECK FOR EXCEPTION 12590000 - BO RDRHEXC . if yes, ignore this interrupt 12600003 - TM UCBCSW+4,X'80' . if no, check for attention 12602003 - BO RDRHPOK . if yes, try to restart the I/O 12604003 - B RDRHOK . else, all is groovy 12606003 -RDRHEXC NI UCBCSW+4,X'FE' . clear exception .. 12608003 - B RDRHWAIT . .. and continue waiting 12610003 -RDRHNO MVC RDRHM+12(2),=C'NO' . message back is no 12612003 - B RDRHSEND . GET READY TO SEND 12620000 -RDRHOK CLI RDRHMSG,C'*' . IS THE SYSTEM CALLING? 12630000 - BE RDRHSOK . THAT'S FINE. OTHERWISE, 12640000 - CLC =C'$JOB,',0(5) . WAS IT A $JOB CARD? 12650000 - BE ENDADATA . OOPS! WE HIT END OF DATA STREAM 12660000 -RDRHSOK MVC RDRHM+12(2),=C'OK' .GROOVINESS MESSAGE 12670000 -RDRHSEND MVC RDRHM+8(4),=F'2' . SAY THERE ARE 2 CHARACTERS 12680000 - MVC RDRHM+0(8),RDRHMSG+0 . SEND BACK TO SAME GUY 12690000 - LA 2,UCBUS . NOW UNLOCK UCB AND UNIT 12700000 - SVC C'V' 12710000 - LA 2,RDRHM . SET UP MESSAGE 12720000 - SVC C'S' . AND SEND IT 12730000 - B RDRHLOOP 12740000 -ENDADATA MVC RDRHM+12(2),=C'NO' . TELL USER NO MORE CARDS 12750000 - MVC RDRHTEMP(80),0(5) . SAVE THE $JOB CARD 12760000 - MVI 0(5),C' ' . BLANK OUT THE USER'S COPY 12770000 - MVC 1(79,5),0(5) 12780000 - MVI JOBBIT,X'FF' . INDICATE WE HAVE A NEW $JOB CARD 12790000 - B RDRHSEND . AND SEND THE MESSAGE BACK 12800000 -RDSTATUS SVC C'V' . UNLOCK THE CAW 12810000 - LA 2,UCBWS . AND WAIT FOR AN INTERRUPT 12820000 - SVC C'P' 12830000 - B RDRHPOK . AND TRY TO RESTART THE I/O 12840000 - DROP 3,12 12850000 - SPACE 1 12860000 -RDRHSEM DC F'1,0' 12870000 -CCBCON1 DC X'00FFFFFF' MASK 12880000 -PROTCON1 DC X'00FFF000' page alignment 12890002 -PROTCON2 DC X'FFFFFFF0' ignore low order bits 12893002 -RDRHAAS DC A(LENRDRHA) ALLOCATE ARGLIST FOR STORAGE 12900000 - DC F'0' 12910000 - DC F'8' 12920000 - SPACE 3 12930000 -*********************************************************************** 12940000 -* * 12950000 -* SYSTEM SUPPLIED DEVICE HANDLER FOR PRINTERS * 12960000 -* * 12970000 -*********************************************************************** 12980000 - SPACE 1 12990000 -PRTHANDL EQU * . THE PRINTER HANDLER 13000000 - USING UCB,3 . ENTERED WITH REG3 -> THE UCB 13010000 - BALR 1,0 13020000 - USING *,1 . ESTABLISH ADDRESSING 13030000 - LA 2,PRTHSEM . LOCK UNTIL ALLOCATE STORAGE 13040000 - SVC C'P' . 13050000 - LA 2,PRTHAAS . READY TO ALLOCATE 13060000 - USING XAX,2 13070000 - SVC C'E' . ALLOCATE 13080000 - L 12,XAXADDR . GET THE ADDRESS 13090000 - DROP 2 13100000 - LA 2,PRTHSEM . 13110000 - SVC C'V' UNLOCK TO ROUTINE 13120000 - SRL 4,16 . SHIFT KEY 13130000 - SR 10,10 . CLEAR REG 10 13140000 - USING PRTHAS,12 . ADDRESSING IN THE AUTO AREA 13150000 - LA 6,PRTHCCB . MAKE A CAW 13160000 -PRTHLOOP LA 2,PRTHMSG . READY TO READ A MESSAGE 13170000 - USING XRX,2 13180000 - MVC XRXSIZE,=F'8' . WE CAN TAKE 8 CHARACTERS 13190000 - SVC C'R' . READ IT 13200000 - L 5,XRXTEXT+4 . LOAD THE ADDRESS 13210000 - CLC =C'PRIN',XRXTEXT . IS IT A PRIN REQUEST? 13220000 - BE PRTHPRIN 13230000 - CLC =C'STC1',XRXTEXT . OR A SKIP REQUEST? 13240000 - BE PRTHSTC1 13250000 - B PRTHLOOP . IF NEITHER, IGNORE 13260000 - DROP 2 13270000 -PRTHPRIN LA 2,UCBUS 13280000 - SVC C'P' . LOCK THE UCB AND UNIT 13290000 - CLI PRTHMSG,C'*' . IS SYSTEM CALLING? 13300000 - BE PRTHPOK . THEN PROTECTION OK. ELSE 13310000 - LR 11,5 . GET ADDRESS THAT'S TO HOLD MSG, 13320000 - N 11,PROTCON1 . get the page boundary 13330002 -* ISKE 10,11 . find storage key 13334002 - DC X'B22900AB' Assembler (XF) doesn't support ISKE 13338002 - N 10,PROTCON2 . ignore low order bits 13342002 - CR 10,4 . DOES IT MATCH OURS? 13350000 - BNE PRTHNO . IF NOT, TELL HIM NO 13360000 - LA 11,131(5) . CHECK LAST BYTE ADDRESS OF LINE 13370000 - N 11,PROTCON1 . get the page boundary 13380002 -* ISKE 10,11 . find storage key 13384002 - DC X'B22900AB' Assembler (XF) doesn't support ISKE 13388002 - N 10,PROTCON2 . ignore low order bits 13392002 - CR 10,4 . DOES IT MATCH OURS? 13400000 - BNE PRTHNO . IF NOT, TELL HIM NO 13410000 -PRTHPOK N 5,CCBCON1 . MAKE A WRITE REQUEST 13420000 - ST 5,PRTHCCB . FOR THE CCB 13430000 - OI PRTHCCB,X'09' . PRINT COMMAND CODE 13440000 - MVC PRTHCCB+4,=F'132' . WE'LL PRINT 132 CHARACTERS 13450000 - B PRTHCOMM . BRANCH TO COMMON SECTION 13460000 -PRTHSTC1 MVC PRTHCCB(8),=X'8900000020000001' SKIP TO TOP OF PAGE 13470000 - LA 2,UCBUS 13480000 - SVC C'P' . LOCK THE UCB AND UNIT 13490000 -PRTHCOMM LA 2,CAWSEM . LOCK THE CAW 13500000 - SVC C'P' 13510000 - ST 6,CAW . STORE OUR CAW 13520000 - MVC UCBCSW(4),=A(0) . CLEAR THE LAST CSW THERE 13530000 - MVC UCBCSW+4(4),=A(0) 13540000 - L 7,UCBADDR . GET THE ADDRESS 13550000 - SIO 0(7) . START THE I/O 13560000 - BNZ PTSTATUS . BRANCH IF SIO UNSUCCESSFUL 13570000 - SVC C'V' . AND UNLOCK THE CAW 13580000 -PRTHWAIT LA 2,UCBWS . START TO WAIT 13590000 - SVC C'P' 13600000 - TM UCBCSW+4,X'05' . IS THE UNIT READY? 13610000 - BZ PRTHWAIT . IF NOT, ITS STILL ON. WAIT 13620000 - TM UCBCSW+4,X'01' . WAS THERE AN EXCEPTION? 13630000 - BZ PRTHOK . IF NOT, GOOD 13640000 -PRTHNO MVC PRTHM+12(2),=C'NO' .THERE WAS, SO SAY SO 13650000 - B PRTHSEND 13660000 -PRTHOK MVC PRTHM+12(2),=C'OK' .NO ERRORS 13670000 -PRTHSEND MVC PRTHM+8(4),=F'2' . SENDING 2 CHARACTERS 13680000 - MVC PRTHM+0(8),PRTHMSG+0 . SEND TO OUR SENDER 13690000 - LA 2,UCBUS 13700000 - SVC C'V' . UNLOCK THE UCB 13710000 - LA 2,PRTHM 13720000 - SVC C'S' . SEND IT 13730000 - B PRTHLOOP . AND READ ANOTHER MESSAGE 13740000 -PTSTATUS SVC C'V' . UNLOCK THE CAW 13750000 - LA 2,UCBWS . AND WAIT FOR THE INTERRUPT 13760000 - SVC C'P' 13770000 - B PRTHCOMM . AND TRY TO RESTART THE I/O 13780000 - DROP 3,12 13790000 - SPACE 2 13800000 -PRTHSEM DC F'1,0' LOCK 13810000 -PRTHAAS DC A(LENPRTHA) XA ARG LIST FOR AUTO STORAGE 13820000 - DC F'0' 13830000 - DC F'8' 13840000 - EJECT 13850000 -*********************************************************************** 13860000 -* * 13870000 -* SYSTEM ROUTINE FOR USER SUPPLIED DEVICE HANDLER * 13880000 -* * 13890000 -*********************************************************************** 13900000 - SPACE 1 13910000 -EXCPHNDL EQU * . EXCP DEVICE HANDLER 13920000 - USING UCB,3 . WILL HAVE REG3 -> UCB 13930000 - BALR 1,0 13940000 - USING *,1 . ESTABLISH ADDRESSING 13950000 - LA 2,EXCPHSEM . LOCK OURSELVES UNTIL WE HAVE 13960000 - SVC C'P' . SET UP AUTOMATIC STORAGE 13970000 - LA 2,EXCPHAAS . READY TO ALLOCATE 13980000 - USING XAX,2 13990000 - SVC C'E' . ALLOCATE 14000000 - L 12,XAXADDR . GET POINTER TO AUTO STORAGE 14010000 - DROP 2 14020000 - LA 2,EXCPHSEM . AND UNLOCK OURSELVES 14030000 - SVC C'V' UNLOCK TO ROUTINE 14040000 - LR 4,11 14050000 - SLL 4,8 . SHIFT KEY FOR CAW 14060000 - USING EXCPHAS,12 . FOR ADDRESSING AUTO AREA 14070000 -EXCPLOOP LA 2,EXCPHMSG . TRY TO READ A MESSAGE 14080000 - USING XRX,2 14090000 - MVC XRXSIZE,=F'12' . WE'LL TAKE 12 CHARACTERS 14100000 - SVC C'R' 14110000 - CLC =C'EXCP',XRXTEXT . IS IT AN EXCP MESSAGE? 14120000 - BNE EXCPLOOP . IF NOT, IGNORE IT 14130000 - L 5,XRXTEXT+4 . REG 5 CONTAINS CHAN AND DEV 14140000 - L 6,XRXTEXT+8 . REG 6 CONTAINS ADDR OF CCWS 14150000 - DROP 2 14160000 - LA 7,UCBTABLE . GET PTR TO UCB TABLE 14170000 -EXCPCOMP C 5,0(7) . COMPARE UNIT ADDRESS 14180000 - BE EXCPFIND . THAT'S THE UCB WE WANT 14190000 - LA 7,UCBLENG(7) . GET PTR TO NEXT UCB 14200000 - C 7,=A(UCBTBEND) . ARE WE THROUGH WITH TABLE? 14210000 - BNE EXCPCOMP . IF NOT, LOOK SOME MORE 14220000 - SVC C'?' . ELSE ERROR 14230000 -EXCPFIND LR 3,7 . SET REG 3 TO UCB PTR 14240000 - LA 2,UCBUS 14250000 - SVC C'P' . LOCK THE UCB 14260000 - OR 6,4 . OR IN THE USER'S KEY 14270000 - MVC UCBCSW(4),=A(0) . CLEAR THE LAST CSW THERE 14280000 - MVC UCBCSW+4(4),=A(0) 14290000 - LA 2,CAWSEM 14300000 - SVC C'P' . LOCK CAW 14310000 - ST 6,CAW . STORE OUR CAW 14320000 - SIO 0(5) . START THE I/O 14330000 - SVC C'V' . UNLOCK THE CAW 14340000 -EXCPWAIT LA 2,UCBWS . NOW WAIT FOR AN INTERRUPT 14350000 - SVC C'P' 14360000 - MVC EXCPHM+12(8),UCBCSW . GIVE USER HIS CSW 14370000 - MVC EXCPHM+8(4),=F'12' 14380000 - MVC EXCPHM(8),EXCPHMSG 14390000 - LA 2,EXCPHM 14400000 - SVC C'S' . AND SENT THE MESSAGE 14410000 - LA 2,EXCPHMSG . AND WAIT FOR A REPLY 14420000 - USING XRX,2 14430000 - MVC XRXSIZE(4),=F'8' . FROM THE USER 14440000 - SVC C'R' 14450000 - CLC =C'OK',XRXTEXT . AM I DONE? 14460000 - BE EXCPDONE 14470000 - CLC =C'AGAIN',XRXTEXT . DOES HE WANT ANOTHER CSW? 14480000 - BE EXCPWAIT 14490000 - SVC C'?' . WRONG MESSAGE 14500000 - DROP 2 14510000 -EXCPDONE LA 2,UCBUS . UNLOCK UNIT 14520000 - SVC C'V' 14530000 - B EXCPLOOP . AND GET ANOTHER MESSAGE 14540000 - DROP 3,12 14550000 -EXCPHSEM DC F'1,0' 14560000 -EXCPHAAS DC A(LENEXCPA) . ALLOCATION OF AUTO STORAGE 14570000 - DC F'0' 14580000 - DC F'8' 14590000 - SPACE 3 14600000 - LTORG 14610000 - EJECT 14620000 -*********************************************************************** 14630000 -* * 14640000 -* UNIT CONTROL BLOCKS * 14650000 -* * 14660000 -*********************************************************************** 14670000 - SPACE 1 14680000 -UCBTABLE DS 0F . TABLE OF UNIT CONTROL BLOCKS 14690000 -* UCB FOR READER 1 14700000 -UCBRDR1 DC X'00000012' . DEVICE ADDRESS, 14710000 - DC F'1,0' . USER SEMAPHORE, 14720000 - DC F'0,0' . WAIT SEMAPHORE, 14730000 - DC F'0,0' . CHANNEL STATUS WORD 14740000 - DC X'00' 14750000 - DS 0F 14760000 -* UCB FOR PRINTER 1 14770000 -UCBPRT1 DC X'00000010' . DEVICE ADDRESS, 14780000 - DC F'1,0' . USER SEMAPHORE, 14790000 - DC F'0,0' . WAIT SEMAPHORE, 14800000 - DC F'0,0' . CHANNEL STATUS WORD 14810000 - DC X'00' 14820000 - DS 0F 14830000 -* UCB FOR READER 2 14840000 -UCBRDR2 DC X'0000000C' . DEVICE ADDRESS, 14850000 - DC F'1,0' . USER SEMAPHORE, 14860000 - DC F'0,0' . WAIT SEMAPHORE, 14870000 - DC F'0,0' . CHANNEL STATUS WORD 14880000 - DC X'00' 14890000 - DS 0F 14900000 -* UCB FOR PRINTER 2 14910000 -UCBPRT2 DC X'0000000E' . DEVICE ADDRESS, 14920000 - DC F'1,0' . USER SEMAPHORE, 14930000 - DC F'0,0' . WAIT SEMAPHORE, 14940000 - DC F'0,0' . CHANNEL STATUS WORD 14950000 - DC X'00' 14960000 - DS 0F 14970000 -* UCB for READER 3 14970302 -UCBRDR3 DC X'00000112' . device address, 14970602 - DC F'1,0' . user semaphore, 14970902 - DC F'0,0' . wait semaphore, 14971202 - DC F'0,0' . channel status word 14971502 - DC X'00' 14971802 - DS 0F 14972102 -* UCB for PRINTER 3 14972402 -UCBPRT3 DC X'00000110' . device address, 14972702 - DC F'1,0' . user semaphore, 14973002 - DC F'0,0' . wait semaphore, 14973302 - DC F'0,0' . channel status word 14973602 - DC X'00' 14973902 - DS 0F 14974202 -* UCB for READER 4 14974502 -UCBRDR4 DC X'0000010C' . device address, 14974802 - DC F'1,0' . user semaphore, 14975102 - DC F'0,0' . wait semaphore, 14975402 - DC F'0,0' . channel status word 14975702 - DC X'00' 14976002 - DS 0F 14976302 -* UCB for PRINTER 4 14976602 -UCBPRT4 DC X'0000010E' . device address, 14976902 - DC F'1,0' . user semaphore, 14977202 - DC F'0,0' . wait semaphore, 14977502 - DC F'0,0' . channel status word 14977802 - DC X'00' 14978102 - DS 0F 14978402 -* UCB for CONSOLE 1 14978504 -UCBCONS1 DC X'00000009' . device address, 14978604 - DC F'1,0' . user semaphore, 14978704 - DC F'0,0' . wait semaphore, 14978804 - DC F'0,0' . channel status word 14978904 - DC X'00' 14979004 - DS 0F 14979104 -UCBTBEND EQU * 14980000 - EJECT 14990000 -*********************************************************************** 15000000 -* * 15010000 -* I/O INTERRUPT HANDLER * 15020000 -* * 15030000 -*********************************************************************** 15040000 - SPACE 1 15050000 -IOHANDL EQU * . THE I/O INTERRUPT HANDLER 15060000 - STM 0,15,IOHSAVE . SAVE REGISTERS 15070000 - BALR 1,0 15080000 - USING *,1 . ESTABLISH ADRESSING 15090000 - NI IOOLD+1,X'FD' . TURN OFF WAIT BIT 15100000 - L 6,=A(UCBTABLE) . GET POINTER TO UCB TABLE 15110000 -IOCOMP CLC 2(2,6),IOOLD+2 . COMPARE DEVICE AND CHANNEL 15120000 - BE IODEVFND . IF EQUAL, REG 6 INDICATES PTR 15130000 - LA 6,UCBLENG(6) . INCREMENT TO NEXT ENTRY 15140000 - C 6,=A(UCBTBEND) . ARE WE AT END OF TABLE? 15150000 - BNE IOCOMP . IF NOT DONE, TRY NEXT UCB 15160000 - B IOBACK . ELSE, IGNORE IT 15170000 - USING UCB,6 . IT'S A UCB PTR 15180000 -IODEVFND MVC UCBCSW(4),CSW . MOVE IN THE NEW CSW 15190000 - L 7,CSW+4 . GET STATUS BYTE 15200000 - O 7,UCBCSW+4 . OR IN NEW STATUS INFORMATION 15210000 - ST 7,UCBCSW+4 . AND STORE IT BACK 15220000 - MVC UCBCSW+6(2),CSW+6 . MOVE IN BYTE COUNT 15230000 - LA 2,UCBWS 15240000 - CLI UCBFPR,X'00' . IS FAST PROCESSING 15250000 - BE IONOFPR . REQUIRED? IF NOT, RETURN 15260000 - L 15,RUNNING . IF SO, STOP GUY NOW RUNNING 15270000 - USING PCB,15 15280000 - CLI PCBBLOKT,X'FF' . IS ANYONE REALLY RUNNING? 15290000 - BE IOWAIT . IF NOT, START UP SLEEPER 15300000 - LA 13,PCBISA . IF SO, STOP RUNNING PROCESS 15310000 - USING SA,13 15320000 - MVC SAPSW,IOOLD . SAVE PROCESS WHICH WAS 15330000 - MVC SAREGS,IOHSAVE . INTERRUPTED 15340000 - DROP 13,15 15350000 -IOWAIT MVI NEXTTRYM,X'00' . MAKE NEXTTRY NOT MODIFIED 15360000 - SVC C'V' . SO CAN FAST PROCESS SLEEPER 15370000 - SVC C'.' . GO PROCESS IT RIGHT AWAY 15380000 -IONOFPR SVC C'V' . AND WAKE UP THE SLEEPER 15390000 -IOBACK LM 0,15,IOHSAVE . RELOAD OUR REGISTERS 15400000 - LPSW IOOLD . AND STEALTHILY RETURN 15410000 - DROP 1,6 15420000 - EJECT 15430000 -*********************************************************************** 15440000 -* * 15450000 -* IPL ENTERED ROUTINE * 15460000 -* * 15470000 -* FUNCTION: TO INITIALIZE SYSTEM PARAMETERS, SET STORAGE KEYS, * 15480000 -* AND CREATE MULTIPLE JOB STREAMS. * 15490000 -* * 15500000 -*********************************************************************** 15510000 - SPACE 1 15520000 -IPLRTN EQU * . THE IPL-ENTERED ROUTINE 15530000 - BALR 1,0 15540000 - USING *,1 . ESTABLISH ADDRESSING 15550000 - MVC IONEW+5(3),SOSIONEW activate IO handler 15553002 - MVC EXTNEW+5(3),IPLEXNEW ignore external interrupts for now 15556002 - LA 15,IPLPCB . I'M RUNNING 15560000 - ST 15,RUNNING . INITIALIZE 'RUNNING' 15570000 - ST 15,NEXTTRY . INITIALIZE 'NEXTTRY' 15580000 - MVC VERYEND,=A(0,CORESIZE-(VERYEND-PROGRAM)) FREE CORE 15590000 - LA 3,8 . SET ZERO KEY AND FETCH PROTECT 15600000 - L 2,CORESIZ . START PAST THE LAST BLOCK 15610000 -IPLCL S 2,PAGESIZE . get the previous block, page aligned 15620002 - BM IPLTH . IF NEGATIVE, WE'RE THROUGH HERE 15630000 -* SSKE 3,2 . else set the storage key to 15640002 - DC X'B22B0032' Assembler (XF) doesn't support SSKE 15643002 - B IPLCL . ZERO, AND WORK BACKWARDS 15650000 -IPLTH SR 4,4 . INDEX IN TABLES FOR INPUT STREAM 15660000 - L 5,STREAMS . HOW MANY STREAMS? 15670000 -IPLLOOP LA 2,IPLAPCBS . READY TO ALLOCATE A PCB 15680000 - USING XAX,2 15690000 - SVC C'A' . ALLOCATE 15700000 - L 2,XAXADDR . GET THE ADDRESS 15710000 - MVC 0(TYPLEN,2),TYPPCB .MAKE IT LOOK LIKE A PCB 15720000 - SVC C'I' . CHAIN IT ON 15730000 - USING PCB,2 15740000 - ST 2,PCBNPTG . BUT PUT IT IN A GROUP BY ITSELF 15750000 - ST 2,PCBLPTG 15760000 - DROP 2 15770000 - USING PCB,15 15780000 - ST 15,PCBLPTG . LIKEWISE FOR THE IPL PCB 15790000 - ST 15,PCBNPTG 15800000 - DROP 15 15810000 - USING PCB,2 15820000 - LA 8,PCBISA . GET THE NEW PCB'S ISA 15830000 - USING SA,8 15840000 - LA 9,SAREGS . ABOUT TO FIX INIT REGS 15850000 - USING REGS,9 15860000 - LA 10,UCBTAB 15870000 - AR 10,4 15880000 - MVC REG3,0(10) . REG3 -> (RDRUCB,PRTUCB) 15890000 - MVC REG4,KEYTAB-UCBTAB(10) . REG4 = KEY 15900000 - DROP 9 15910000 - LA 4,4(4) . GO TO NEXT JOB STREAM 15920000 - BCT 5,IPLLOOP . DO FOR EACH STREAM 15930000 - MVC EXTNEW+5(3),SOSEXNEW reactivate ext interrupt handler 15935002 - SVC C'.' . THEN ENTER TRAFFIC CONTROLLER 15940000 - SPACE 1 15950000 -STREAMS DC F'4' . NUMBER OF STREAMS 15960002 - SPACE 1 15970000 -UCBTAB EQU * . TABLE OF PTRS TO UCB BLOCKS 15980000 - DC A(UCBLP1) 15990000 - DC A(UCBLP2) 16000000 - DC A(UCBLP3) 16003002 - DC A(UCBLP4) 16006002 - SPACE 1 16010000 -KEYTAB EQU * . TABLE OF PROTECTION KEYS 16020000 - DC X'00100000' storage key for stream 1 region 16030002 - DC X'00200000' storage key for stream 2 region 16034002 - DC X'00300000' storage key for stream 3 region 16038002 - DC X'00400000' storage key for stream 4 region 16042002 - SPACE 1 16050000 -UCBLP1 DC A(UCBRDR1,UCBPRT1) 16060000 -UCBLP2 DC A(UCBRDR2,UCBPRT2) 16070000 -UCBLP3 DC A(UCBRDR3,UCBPRT3) 16073002 -UCBLP4 DC A(UCBRDR4,UCBPRT4) 16076002 - SPACE 1 16080000 - DS 0D 16090000 -IPLPCB DC CL8' ' . IPL ROUTINE PCB 16100000 - DC 4A(IPLPCB) 16110000 - DC X'FF000000' . INITIALIZED FLAGS 16120000 - DC F'1,0' 16130000 - DC 5F'0,0' 16140000 - DC X'0002000000000000' 16150000 - DS CL76 16160000 - DS CL84 16170000 - DS CL84 16180000 - SPACE 1 16190000 -IPLAPCBS DC A(LENPCB) . ALLOC LIST FOR PCB'S 16200000 - DC A(0) 16210000 - DC F'8' 16220000 -CORESIZ DC A(CORESIZE) . BYTES OF CORE IN OBJECT MACHINE 16230000 - SPACE 1 16240000 - DS 0D 16250000 -TYPPCB DC CL8'*IBSUP' . A TEMPLATE *IBSUP PCB 16260000 - DC 4A(0) 16270000 -TEMPLATE DC X'00000000' . INITIALIZED FLAGS 16280000 - DC F'1,0' 16290000 - DC 5F'0,0' 16300000 - DC X'FF00000000',AL3(JSP) 16310000 -TYPLEN EQU *-TYPPCB 16320000 -EXINTRPT LPSW EXTOLD ignore external interrupts 16321002 - DS 0F align 16322002 - DC X'00' filler 16323002 -SOSIONEW DC AL3(IOHANDL) sample OS IO new PSW instruction addr 16324002 - DC X'00' filler 16325002 -SOSEXNEW DC AL3(EXTHANDL) sample OS ext new PSW instruction addr 16326002 - DC X'00' filler 16327002 -IPLEXNEW DC AL3(EXINTRPT) IPLRTN ext new PSW instruction addr 16328002 - EJECT 16330000 -*********************************************************************** 16340000 -* * 16350000 -* JOB STREAM PROCESSOR * 16360000 -* * 16370000 -*********************************************************************** 16380000 - SPACE 1 16390000 -JSP EQU * . THE JOB STREAM PROCESSOR 16400000 - BALR 1,0 . (PROCESS *IBSUP) 16410000 - USING *,1 . ESTABLISH ADDRESSING 16420000 - LA 2,JSPSUSEM . LOCK OURSELVES UNTIL 16430000 - SVC C'P' . WE CAN ALLOCATE STORAGE 16440000 - LA 2,JSPAAS . READY TO ALLOCATE 16450000 - USING XAX,2 16460000 - SVC C'E' . ALLOCATE 16470000 - L 12,XAXADDR . PTR TO AUTO AREA 16480000 - DROP 2 16490000 - USING JSPAS,12 . USE FOR ADDRESSING 16500000 - LA 2,JSPSUSEM . UNLOCK OURSELVES 16510000 - SVC C'V' 16520000 - MVC TREAD+0(8),=CL8'*IN' . INITIALIZE VALUES IN AUTOMATIC 16530000 - MVC TREAD+8(4),=F'8' . STORAGE 16540000 - MVC TREAD+12(4),=C'READ' 16550000 - LA 2,CARD 16560000 - ST 2,ACARD 16570000 - MVC USERL+0(8),=CL8'USERPROG' 16580000 - MVC WRITE(12),SKIP 16590000 - MVC WRITE+12(4),=C'PRIN' 16600000 - LA 5,LINE 16610000 - ST 5,WRITE+16 16620000 - MVC CORE+8(4),PAGESIZE align to page boundary 16630002 - MVC TALK+0(8),=CL8'USERPROG' 16640000 - MVC TALK+8(4),=F'12' 16650000 - MVC ANYBACK+8(4),=F'1' 16660000 - MVC RLDTEMP,=A(0) 16670000 - ST 4,KEY . STORE KEY 16680000 - LR 5,3 . GET PTR TO UCB PTR BLOCK 16690000 - L 3,0(5) . GET READER POINTER 16700000 - LA 2,INSEQ . READY TO CREATE & START *IN 16710000 - SVC C'C' . CREATE 16720000 - SVC C'Y' . START 16730000 - L 3,4(5) . GET PTR TO PRINTER UCB 16740000 - LA 2,OUTSEQ . READY TO CREATE & START *OUT 16750000 - SVC C'C' . CREATE 16760000 - SVC C'Y' . START 16770000 - SPACE 1 16780000 -LOOP LA 2,TREAD . READT TO READ A CARD 16790000 - SVC C'S' . START TO READ 16800000 - MVC RREPLY1,=F'132' . 132 CHARS FOR REPLY 16810000 - LA 2,RREPLY 16820000 - SVC C'R' . LISTEN FOR REPLY 16830000 - CLC REPLY(2),=C'OK' . IS REPLY 'OK'? 16840000 - BNE STOP . IF NOT, STOP 16850000 - CLC =C'$JOB,',CARD . HAVE WE A JOB CARD? 16860000 - BE JOB . GOOD! 16870000 - B LOOP . ELSE LOOP 16880000 -STOP LA 2,JSPNEVER . WAIT FOR A "V" OPERATION 16890000 - SVC C'P' . THAT NEVER COMES 16900000 - SPACE 1 16910000 -JOB MVI LOADED,X'00' . REMEMBER NOT LOADED 16920000 - MVC LINE,=CL8' ' . CLEAR A LINE, PUT IN 16930000 - MVC LINE+8(124),LINE+7 .ALL BLANKS 16940000 - MVC LINE(80),CARD . GET READY TO SEND $JOB CARD 16950000 - LA 2,WRITE . TO PRINTER 16960000 - SVC C'S' . SEND IT 16970000 - LA 2,RREPLY 16980000 - SVC C'R' . AND WAIT FOR REPLY 16990000 - LA 2,USERL . CREATE USERPROG 17000000 - SVC C'C' 17010000 - LA 4,CARD+4 . START TO SCAN CARD 17020000 - BAL 3,SCAN . GET NEXT TOKEN 17030000 - BCTR 5,0 . less one to remove K 17040002 - O 5,COREPKLN . length of packed size for execute 17049002 - EX 5,COREPACK . pack core digits 17058002 - CVB 8,COREPCKD . convert core requested to binary 17067002 - SR 9,9 . is core .. 17076002 - SRDL 8,2 . .. modulo four .. 17085002 - LTR 9,9 . .. equal zero? 17094002 - BZ COREOK . -> yes, use it 17103002 - LA 8,1(,8) . -> no, up one page 17112002 -COREOK SLL 8,12 . core bytes, rounded up to full pages 17121002 - ST 8,CORE . remember core requirement 17130002 -ASGNUNIT BAL 3,SCAN . GET NEXT TOKEN 17150000 - CLI 0(4),C'=' . IS IT AN '='? 17160000 - BNE LOAD . IF NOT, LOAD IN THE OBJECT DECK 17170000 - CLI 0(9),C'*' . HAS USER NAMED IT STARTING 17180000 - BE EXPUNGE . WITH '*'? IF SO, THROW HIM OUT 17190000 - LA 2,SEQ . ELSE CREATE A PROCESS 17200000 - MVC SEQ,=CL8' ' . BLANK OUT THE NAME 17210000 - EX 5,UNAMMOV . THEN MOVE THE RELEVANT 17220000 - SVC C'C' . CHARACTERS AND CREATE 17230000 - LA 2,SEQ . WE'LL START IT IN A MOMENT 17240000 - BAL 3,SCAN . SCAN AGAIN 17250000 - EX 5,CMPIN . IS IT 'IN'? 17260000 - BE ASIN . IF SO, ASSIGN IT AS IN 17270000 - EX 5,CMPOUT . IF IT'S 'OUT' 17280000 - BE ASOUT . ASSIGN IT AS OUT 17290000 - EX 5,CMPEXCP . IS IT 'EXCP'? 17300000 - BE ASEXCP . IF SO, ASSIGN IT AS EXCP 17310000 - B EXPUNGE . ERROR: GO ON TO NEXT JOB 17320000 -UNAMMOV MVC SEQ(0),0(9) . MOVE THE UNIT'S PROCESS NAME 17330000 -CMPIN CLC 0(0,9),=C'IN ' . DOES IT SAY 'IN'? 17340000 -CMPOUT CLC 0(0,9),=C'OUT ' . DOES IT SAY 'OUT'? 17350000 -CMPEXCP CLC 0(0,9),=C'EXCP ' . DOES IT SAY 'EXCP'? 17360000 - SPACE 1 17370000 -ASIN LA 11,=CL8'*IN' . POINT TO NAME OF READER HANDLER 17380000 -SETDIM MVC UNITRTN,=A(DIM) . USE DIM AS THE INTERFACE 17390000 - SVC C'Y' 17400000 - B ASGNUNIT 17410000 -ASOUT LA 11,=CL8'*OUT' . POINT TO NAME OF PRINTER HANDLER 17420000 - B SETDIM 17430000 -ASEXCP MVC UNITRTN,=A(EXCPHNDL) . USE FOR USER SUPPLIED 17440000 - L 11,KEY 17450000 - SVC C'Y' . I/O ROUTINE 17460000 - B ASGNUNIT 17470000 - SPACE 1 17480000 -LOAD LA 2,CORE . READY TO ALLOCATE THE REGION 17490000 - SVC C'A' . AND ALLOCATE IT 17500000 - MVI LOADED,X'FF' . REMEMBER THAT WE'RE LOADED 17510000 - L 9,CORE+4 . GET THE FIRST ADDRESS 17520000 - L 4,KEY . GET THE KEY 17530000 - SRL 4,16 17540000 - O 4,FETCHPRT fetch protected 17545002 - LR 3,9 . GET THE BLOCK FOLLOWING OURS 17550000 - AR 3,8 17560000 -LOADSK S 3,PAGESIZE . get the previous block, page aligned 17570002 - CR 3,9 . HAVE WE PASSED THE START? 17580000 - BL LOADLOOP . IF SO, START LOADING 17590000 -* SSKE 4,3 . else set this block to the key 17600002 - DC X'B22B0043' Assembler (XF) doesn't support SSKE 17603002 - B LOADSK . AND BRANCH BACK 17610000 -LOADLOOP LA 2,TREAD . READ IN OBJECT DECK 17620000 - SVC C'S' . GET A CARD A'READING 17630000 - MVC RREPLY1,=F'132' 17640000 - LA 2,RREPLY 17650000 - SVC C'R' . WAIT FOR ANSWER 17660000 - CLC CARD+1(3),=C'TXT' . IS IT A TXT CARD? 17670000 - BE TXTCARD 17680000 - CLC CARD+1(3),=C'RLD' . IS IT A RLD CARD? 17690000 - BE RLDCARD 17700000 - CLC CARD+1(3),=C'END' . IS IT AN END CARD? 17710000 - BE ENDCARD 17720000 - B LOADLOOP . IF NONE, IGNORE. 17730000 - SPACE 1 17740000 -TXTCARD L 10,CARD+4 . GET THE RELATIVE ADDRESS 17750000 - AR 10,9 . PLUS THE ABSOLUTE ADDRESS 17760000 - LH 11,CARD+10 . GET THE COUNT, 17770000 - BCTR 11,0 . DECREMENTED 17780000 - EX 11,TXTMOV . AND MOVE THE TEXT 17790000 - B LOADLOOP . AND READ ANOTHER CARD! OH WOW! 17800000 -TXTMOV MVC 0(0,10),CARD+16 17810000 - SPACE 1 17820000 -RLDCARD LH 11,CARD+10 . GET THE BYTE COUNT 17830000 - LA 13,CARD+20 . AND AN INDEX INTO THE CARD 17840000 -RLDLOOP L 10,0(13) . GET THE LOCATION TO BE RLD'D 17850000 - AR 10,9 . GET THE ABSOLUTE ADDRESS 17860000 - TM 3(13),X'03' . IS IT A FULLWORD? 17870000 - BNZ NOTALGND . IF NO, HANDLE AS THREE BYTES 17880000 - L 7,0(10) . GET THAT WORD (HAD BETTER BE 17890000 - AR 7,9 . ONE); ADD THE RELOCATION 17900000 - ST 7,0(10) . ADDRESS, AND STORE IT BACK 17910000 -RLDCONT TM 0(13),X'01' . CHECK IF LONG OR SHORT FIELD 17920000 - BNZ SHORT . AND BRANCH ACCORDINGLY 17930000 - LA 4,8 . SKIP EIGHT BYTES 17940000 - B RLDFINI 17950000 -SHORT LA 4,4 . SKIP FOUR BYTES 17960000 -RLDFINI AR 13,4 . INCREMENT THE CARD INDEX 17970000 - SR 11,4 . DECREMENT THE BYTE COUNT 17980000 - BP RLDLOOP . AND TRY AGAIN 17990000 - B LOADLOOP . OR READ ANOTHER CARD 18000000 -NOTALGND MVC RLDTEMP+1(3),0(10) . PUT ADDRESS HERE 18010000 - L 7,RLDTEMP . RELOCATE IT 18020000 - AR 7,9 18030000 - ST 7,RLDTEMP . AND PUT IT BACK TO 18040000 - MVC 0(3,10),RLDTEMP+1 . WHERE IT BELONGS 18050000 - NI RLDTEMP,X'00' . CLEAR OUT TEMPORARY 18060000 - B RLDCONT . AND LOOP BACK 18070000 - SPACE 1 18080000 -ENDCARD LA 2,USERL . FIND THE PCB FOR USERPROG 18090000 - SVC C'N' 18100000 - L 4,USERL+8 . GET THE ADDRESS 18110000 - USING PCB,4 18120000 - MVI PCBBLOKT,X'FF' . TEMPORARILY BLOCK IT 18130000 - ST 9,USERL+8 . STORE THE BEGINNING ADDRESS 18140000 - SVC C'Y' . THEN START IT 18150000 - L 5,KEY . GET THE KEY 18160000 - O 5,PCBISA+0 . THEN OR THIS INTO THE 18170000 - ST 5,PCBISA+0 . FIRST WORD OF THE PCB 18180000 - OI PCBISA+1,X'01' . OR IN A 'PROGRAM STATE' BIT 18190000 - MVI PCBBLOKT,X'00' . AND THEN UNBLOCK IT 18200000 - DROP 4 18210000 - LA 2,TALK . LISTEN TO WHAT IT SAYS 18220000 - SVC C'R' 18230000 - SPACE 1 18240000 - MVC LINE(8),=CL8' ' . IF JOB FINISHED, CLEAR A LINE 18250000 - MVC LINE+8(124),LINE+7 18260000 - MVC LINE(12),TALK+12 . MOVE THE MESSAGE ONTO THE LINE 18270000 - LA 2,WRITE . AND SAY TO WRITE IT 18280000 - SVC C'S' 18290000 - LA 2,ANYBACK 18300000 - SVC C'R' 18310000 - LA 2,SKIP . SKIP TO THE TOP OF THE NEXT PAGE 18320000 - SVC C'S' 18330000 - LA 2,ANYBACK 18340000 - SVC C'R' 18350000 - SPACE 1 18360000 -EXPUNGE L 5,RUNNING . EXPUNGE A JOB: LOOK AT ALL PCBS 18370000 - LA 2,SEQ 18380000 - USING PCB,5 18390000 -EXPLOOP MVC SEQ(8),PCBNAME . GET THE PROCESS NAME 18400000 - L 4,PCBNPTG . GET THE NEXT PTR 18410000 - CLI SEQ+0,C'*' . IS IT A '*' PROCESS? 18420000 - BE EXPNXT . IF SO, SKIP OVER 18430000 - SVC C'Z' . ELSE STOP IT 18440000 - SVC C'D' . AND DESTROY IT 18450000 -EXPNXT LR 5,4 . GO TO THE NEXT PCB 18460000 - C 5,RUNNING . ARE WE THROUGH? 18470000 - BNE EXPLOOP . IF NOT, LOOP AGAIN 18480000 - CLI LOADED,X'00' . WAS CORE ALLOCATED? 18490000 - BE LOOP . IF NOT, GO READ THE NEXT $JOB CARD 18500000 - LA 4,8 . set zero key and fetch protect 18510002 - LR 3,9 . AND A POINTER TO THE NEXT 18520000 - AR 3,8 . BLOCK AFTER OURS 18530000 -LOADCL S 3,PAGESIZE . get the previous block, page aligned 18540002 - CR 3,9 . ARE WE THROUGH? 18550000 - BL LOADD . IF SO, GO FREE CORE 18560000 -* SSKE 4,3 . else clear storage key 18570002 - DC X'B22B0043' Assembler (XF) doesn't support SSKE 18573002 - B LOADCL . AND LOOP BACK 18580000 -LOADD LA 2,CORE 18590000 - SVC C'F' . FREE THE STORAGE 18600000 - B LOOP . READ ANOTHER $JOB CARD 18610000 - SPACE 1 18620000 -SCAN SR 5,5 . START THE TOKEN COUNT AT ZERO 18630000 -SCANLOOP LA 4,1(4) . GO TO NEXT CHARACTER 18640000 - CLI 0(4),C',' . DO WE HAVE A DELIMITER? IF SO, 18650000 - BE TOKSTART 18660000 - CLI 0(4),C'=' . DITTO 18670000 - BE TOKSTART 18680000 - CLI 0(4),C' ' . DITTO 18690000 - BE TOKSTART 18700000 - LA 5,1(5) . AND UP COUNT 18710000 - B SCANLOOP . AND LOOP 18720000 -TOKSTART LR 9,4 . SET REG9 TO START 18730000 - SR 9,5 . OF THIS TOKEN 18740000 - BCTR 5,0 . LESS ONE FOR EXECUTE INSTRUCTION 18750000 - BR 3 18760000 - SPACE 2 18770000 -JSPNEVER DC F'0,0' . A GOOD WAY TO DIE: P(JSPNEVER) 18780000 -SKIP DC CL8'*OUT' . MESSAGE BLOCK FOR A NEW PAGE 18790000 - DC F'8' 18800000 - DC CL4'STC1' 18810000 -INSEQ DC CL8'*IN' . SEQ TO CREATE & START *IN 18820000 - DC A(RDRHANDL) 18830000 -OUTSEQ DC CL8'*OUT' . SEQ TO CREATE & START *OUT 18840000 - DC A(PRTHANDL) 18850000 -COREPACK PACK COREPCKD(1),0(1,9) . executed to pack core size req'd 18860002 -COREPCKD DS D . packed core requirement goes here 18880002 -COREPKLN DC X'00000070' . length of packed size for execute 18900002 -PAGESIZE DC F'4096' . page size for core computation 18920002 -JSPSUSEM DC F'1,0' . SEMAPHORE TO LOCK ROUTINE 18990000 -JSPAAS DC A(LENJSPAS) . ALLOCATE LIST FOR AUTO STORAGE 19000000 - DS A 19010000 -FETCHPRT DC F'8' reused to or in fetch protection 19020002 - EJECT 19030000 -*********************************************************************** 19040000 -* * 19050000 -* DEVICE INTERFACE MODULE * 19060000 -* * 19070000 -* FUNCTION: TO INTERFACE BETWEEN USERPROG AND DEVICE HANDLER * 19080000 -* DATABASES: NONE * 19090000 -* ROUTINES USED: XA, XP, XV, XR, XS * 19100000 -* PROCEDURE: ALLOCATE AUTOMATIC STORAGE; START TO READ MESSAGE * 19110000 -* FROM USER; SEND MESSAGE TO DEVICE HANDLER; * 19120000 -* CONTINUE LOOPING, SENDING MESSAGES FROM USER TO * 19130000 -* DEVICE HANDLER AND BACK. * 19140000 -* ERROR CHECKS: NONE * 19150000 -* INTERRUPTS: ON * 19160000 -* USER ACCESS: YES * 19170000 -* * 19180000 -*********************************************************************** 19190000 - SPACE 1 19200000 -DIM EQU * . THE DEVICE INTERFACE MODULE 19210000 - BALR 1,0 19220000 - USING *,1 . ESTABLISH ADDRESSING 19230000 - LA 2,DIMSEM . LOCK UNTIL GET STORAGE 19240000 - SVC C'P' 19250000 - LA 2,DIMAAS . READY TO ALLOCATE STORAGE 19260000 - USING XAX,2 19270000 - SVC C'E' . DO IT 19280000 - L 12,XAXADDR . GET THE ADDRESS 19290000 - DROP 2 19300000 - LA 2,DIMSEM . UNLOCK OURSELVES 19310000 - SVC C'V' 19320000 - USING DIMAS,12 . USE 12 FOR AUTO STORAGE 19330000 - MVC DIMLMS,0(11) . MOVE NAME OF RECIEVER 19340000 - LA 8,132 . REG 8 = SIZE OF MESSAGE 19350000 -DIMLOOP ST 8,DIMMSG+8 . GET READY TO READ A MESSAGE 19360000 - LA 2,DIMMSG 19370000 - SVC C'R' . READ 19380000 - MVC DIMTEMP,DIMMSG . SAVE SENDER NAME 19390000 - MVC DIMMSG,DIMLMS . SEND IT BACK TO THE LAST GUY 19400000 - SVC C'S' . SEND IT 19410000 - MVC DIMLMS,DIMTEMP . AND REMEMBER WHO TO SEND TO NEXT 19420000 - B DIMLOOP . RELOOP 19430000 -DIMSEM DC F'1,0' . SEMAPHORE FOR ENTRY 19440000 -DIMAAS DC A(DIMLEN) . ALLOCATE SEQ FOR AUTO STORAGE 19450000 - DC A(0) 19460000 - DC F'8' 19470000 - DROP 12 19480000 - EJECT 19490000 - LTORG 19500000 -VERYEND DS 6D . beginning of free storage 19510004 -LOADER DS 0D IPL loader goes here 19521002 - EJECT 19521203 -R0 EQU 0 19521502 -R1 EQU 1 19522002 -R2 EQU 2 19522502 -R3 EQU 3 19523002 -R4 EQU 4 19523502 -R5 EQU 5 19524002 -R6 EQU 6 19524502 -R7 EQU 7 19525002 -R8 EQU 8 19525502 -R9 EQU 9 19526002 -R10 EQU 10 19526502 -R11 EQU 11 19527002 -R12 EQU 12 19527502 -R13 EQU 13 19528002 -R14 EQU 14 19528502 -R15 EQU 15 19529002 -*********************************************************************** 19530000 -* * 19540000 -* DATABASE DEFINITIONS * 19550000 -* * 19560000 -*********************************************************************** 19570000 - SPACE 1 19580000 -PCB DSECT . PROCESS CONTROL BLOCK DEFINITION 19590000 -PCBNAME DS CL8 . NAME 19600000 -PCBNPTG DS F . NEXT POINTER THIS GROUP 19610000 -PCBLPTG DS F . LAST POINTER THIS GROUP 19620000 -PCBNPALL DS F . NEXT POINTER ALL 19630000 -PCBLPALL DS F . LAST POINTER ALL 19640000 -PCBSTOPT DS C . STOPPED 19650000 -PCBBLOKT DS C . BLOCKED 19660000 -PCBINSMC DS C . IN SMC 19670000 -PCBSW DS C . STOP WAITING 19680000 -PCBMSC DS CL8 . MESSAGE SEMAPHORE COMMON 19690000 -PCBMSR DS CL8 . MESSAGE SEMAPHORE RECEIVER 19700000 -PCBFM DS F . FIRST MESSAGE 19710000 -PCBNSW DS F . NEXT SEMAPHORE WAITER 19720000 -PCBSRS DS CL8 . STOPPER SEMAPHORE 19730000 -PCBSES DS CL8 . STOPPEE SEMAPHORE 19740000 -PCBASIZE DS F . AUTOMATIC STORAGE SIZE 19750000 -PCBAADDR DS A . AUTOMATIC STORAGE ADDRESS 19760000 -PCBISA DS CL84 . INTERRUPT SAVE AREA 19770000 -PCBFSA DS CL84 . FAULT SAVE AREA 19780000 -PCBMSA DS CL84 . MEMORY SAVE AREA 19790000 - DS 0D . (ALIGN) 19800000 -LENPCB EQU *-PCB . (LENGTH) 19810000 - SPACE 1 19820000 -SA DSECT . SAVE AREA DEFINITION 19830000 -SAPSW DS D . PROGRAM STATUS WORD 19840000 -SAREGS DS CL64 . REGISTERS 19850000 -SATEMP DS CL12 . TEMPORARIES 19860000 - SPACE 1 19870000 -REGS DSECT . REGISTER DEFINITION 19880000 -REG0 DS F . REGISTER 0 19890000 -REG1 DS F . REGISTER 1 19900000 -REG2 DS F . REGISTER 2 19910000 -REG3 DS F . REGISTER 3 19920000 -REG4 DS F . REGISTER 4 19930000 -REG5 DS F . REGISTER 5 19940000 -REG6 DS F . REGISTER 6 19950000 -REG7 DS F . REGISTER 7 19960000 -REG8 DS F . REGISTER 8 19970000 -REG9 DS F . REGISTER 9 19980000 -REG10 DS F . REGISTER 10 19990000 -REG11 DS F . REGISTER 11 20000000 -REG12 DS F . REGISTER 12 20010000 -REG13 DS F . REGISTER 13 20020000 -REG14 DS F . REGISTER 14 20030000 -REG15 DS F . REGISTER 15 20040000 - SPACE 1 20050000 -FSB DSECT . FREE STORAGE BLOCK DEFINITIONS 20060000 -FSBNEXT DS A . NEXT 20070000 -FSBSIZE DS F . SIZE 20080000 - SPACE 1 20090000 -SM DSECT . SEMAPHORE DEFINITION 20100000 -SMVAL DS F . VALUE 20110000 -SMPTR DS F . PTR 20120000 - SPACE 1 20130000 -MSG DSECT . MESSAGE DEFINITION 20140000 -MSGSENDR DS A . POINTER TO SENDER'S PCB 20150000 -MSGNEXT DS A . NEXT 20160000 -MSGSIZE DS F . SIZE 20170000 -MSGTEXT DS 0C . TEXT 20180000 -LENMSG EQU *-MSG . (LENGTH) 20190000 - SPACE 1 20200000 -XAX DSECT . XA ARGUMENT LIST 20210000 -XAXSIZE DS F . SIZE 20220000 -XAXADDR DS F . ADDRESS 20230000 -XAXALGN DS F . ALIGNMENT 20240000 - SPACE 1 20250000 -XFX DSECT . XF ARGUMENT LIST 20260000 -XFXSIZE DS F . SIZE 20270000 -XFXADDR DS F . ADDRESS 20280000 - SPACE 1 20290000 -XBX DSECT . XB ARGUMENT LIST 20300000 -XBXSIZE DS F . SIZE 20310000 -XBXADDR DS F . ADDRESS 20320000 - SPACE 1 20330000 -XCX DSECT . XC ARGUMENT LIST 20340000 -XCXNAME DS CL8 . NAME 20350000 - SPACE 1 20360000 -XDX DSECT . AD ARGUMENT LIST 20370000 -XDXNAME DS CL8 . NAME 20380000 - SPACE 1 20390000 -XNX DSECT . XN ARGUMENT LIST 20400000 -XNXNAME DS CL8 . NAME 20410000 -XNXADDR DS A . ADDRESS 20420000 - SPACE 1 20430000 -XRX DSECT . XR ARGUMENT LIST 20440000 -XRXNAME DS CL8 . NAME 20450000 -XRXSIZE DS F . SIZE 20460000 -XRXTEXT DS 0C . TEXT 20470000 - SPACE 1 20480000 -XSX DSECT . XS ARGUMENT LIST 20490000 -XSXNAME DS CL8 . NAME 20500000 -XSXSIZE DS F . SIZE 20510000 -XSXTEXT DS 0C . TEXT 20520000 - SPACE 1 20530000 -XYX DSECT . XY ARGUMENT LIST 20540000 -XYXNAME DS CL8 . NAME 20550000 -XYXADDR DS A . ADDR 20560000 - SPACE 1 20570000 -XZX DSECT . XZ ARGUMENT LIST 20580000 -XZXNAME DS CL8 . NAME 20590000 - SPACE 1 20600000 -RDRHAS DSECT . READER HANDLER AUTOMATIC STORAGE 20610000 -RDRHCCB DS 2F . CCB 20620000 -RDRHMSG DS CL8 . MESSAGE BLOCK FOR REQUESTS 20630000 - DS F'8' 20640000 - DS CL8 20650000 -RDRHTEMP DS CL80 . AREA FOR $JOB IN DATA STREAM 20660000 -RDRHM DS CL8 . MESSAGE BLOCK FOR REPLY 20670000 - DS F'2' 20680000 - DS CL2 20690000 -JOBBIT DS 1C 20700000 - DS 0D 20710000 -LENRDRHA EQU *-RDRHAS . (LENGTH) 20720000 - SPACE 1 20730000 -PRTHAS DSECT . PRINTER HANDLER AUTOMATIC STORAGE 20740000 -PRTHCCB DS 2F . CCB 20750000 -PRTHMSG DS CL8 . MESSAGE BLOCK FOR REQUESTS 20760000 - DS F'2' 20770000 - DS CL8 20780000 -PRTHM DS CL8 . MESSAGE BLOCK FOR REPLY 20790000 - DS F'2' 20800000 - DS CL2 20810000 - DS 0D 20820000 -LENPRTHA EQU *-PRTHAS . (LENGTH) 20830000 - SPACE 1 20840000 -EXCPHAS DSECT . EXCP HANDLER AUTOMATIC STORAGE 20850000 -EXCPHMSG DS CL8 . MESSAGE BLOCK FOR REQUESTS 20860000 - DS F'12' 20870000 - DS CL12 20880000 -EXCPHM DS CL8 . MESSAGE BLOCK FOR REPLY 20890000 - DS F'12' 20900000 - DS CL12 20910000 - DS 0D 20920000 -LENEXCPA EQU *-EXCPHAS . (LENGTH) 20930000 - SPACE 1 20940000 -UCB DSECT . UNIT CONTROL BLOCK DEFINITION 20950000 -UCBADDR DS F . ADDRESS 20960000 -UCBUS DS FL8 . USER SEMAPHORE 20970000 -UCBWS DS FL8 . WAITER SEMAPHORE 20980000 -UCBCSW DS FL8 . CHANNEL STATUS WORD 20990000 -UCBFPR DS CL1 . FAST PROCESSING REQUIRED 21000000 - DS 0F 21010000 -UCBLENG EQU *-UCB 21020000 - SPACE 1 21030000 -JSPAS DSECT . JSP AUTOMATIC STORAGE 21040000 -LINE DS CL132 . PRINTED LINE 21050000 - DS 0F 21060000 -CARD DS CL80 . CARD READ 21070000 - DS 0F 21080000 -RREPLY DS CL8 . MESSAGE BLOCK FOR REPLIES 21090000 -RREPLY1 DS F 21100000 -REPLY DS CL132 21110000 -TREAD DS 0F . MESSAGE BLOCK FOR READING 21120000 - DS CL8'*IN' 21130000 - DS F'8' 21140000 - DS CL4'READ' 21150000 -ACARD DS A(0) 21160000 -WRITE DS CL8'*OUT' . MESSAGE BLOCK TO PRINT A LINE 21170000 - DS F'8' 21180000 - DS CL4'PRIN' 21190000 - DS A(LINE) 21200000 -KEY DS F 21210000 -USERL DS CL8'USERPROG' . LIST FOR MANIPULATING USERPROG 21220000 - DS F 21230000 -SEQ DS CL8' ' . COMMON ARG LIST FOR I/O PROCESS 21240000 -UNITRTN DS A 21250000 -CORE DS F . MEMORY ALLOCATED AND FREE 21260000 - DS F . SEQUENCE 21270000 - DS F'4096' align to page boundary 21280002 -RLDTEMP DS F 21290000 -TALK DS CL8'USERPROG' . MESSAGE BLOCK FOR MESSAGE FROM 21300000 - DS F'12' . USERPROG 21310000 - DS CL12 21320000 -ANYBACK DS CL8 . MESSAGE BLOCK FOR IGNORING MESS 21330000 - DS F'1' 21340000 - DS CL1 21350000 -LOADED DS C . IS CORE ALLOCATED 21360000 - DS 0D 21370000 -LENJSPAS EQU *-JSPAS . (LENGTH) 21380000 - SPACE 1 21390000 -DIMAS DSECT . DEVICE INTERFACE MODULE STORAGE 21400000 -DIMMSG DS CL8 . MESSAGE BLOCK 21410000 - DS F'132' 21420000 - DS CL132 21430000 -DIMLMS DS CL8 . LAST MESSAGE SENDER 21440000 -DIMTEMP DS CL8 . TEMPORARY 21450000 - DS 0D 21460000 -DIMLEN EQU *-DIMAS . (LENGTH) 21470000 - END 21480000 diff --git a/SOS_OS/source/sos_asma.txt b/SOS_OS/source/sos_asma.txt deleted file mode 100644 index ada89c3..0000000 --- a/SOS_OS/source/sos_asma.txt +++ /dev/null @@ -1,3473 +0,0 @@ -1 High Level Assembler Option Summary (PTF UK37157) Page 1 -- HLASM R6.0 2016/08/29 08.42 -0 No Overriding ASMAOPT Parameters - Overriding Parameters- OBJECT,ESD,RXREF,RLD,XREF(SHORT,UNREFS),DXREF,LIST,TERM,ASA - No Process Statements - - - Options for this Assembly -0 NOADATA - ALIGN - 3 ASA - BATCH - CODEPAGE(047C) - NOCOMPAT - NODBCS - NODECK - 3 DXREF - 3 ESD - NOEXIT - FLAG(0,ALIGN,CONT,EXLITW,NOIMPLEN,NOPAGE0,PUSH,RECORD,NOSUBSTR,USING0) - NOFOLD - NOGOFF - NOINFO - LANGUAGE(EN) - NOLIBMAC - LINECOUNT(60) - 3 LIST(121) - MACHINE(,NOLIST) - MXREF(SOURCE) - 3 OBJECT - OPTABLE(UNI,NOLIST) - NOPCONTROL - NOPESTOP - NOPROFILE - NORA2 - NORENT - 3 RLD - 3 RXREF - SECTALGN(8) - SIZE(MAX) - NOSUPRWARN - SYSPARM() - 3 TERM(WIDE) - NOTEST - THREAD - NOTRANSLATE - TYPECHECK(MAGNITUDE,REGISTER) - USING(NOLIMIT,MAP,WARN(15)) - NOWORKFILE - 3 XREF(SHORT,UNREFS) - - Standard DD Names- SYSLIN SYSLIB SYSIN SYSPRINT SYSPUNCH SYSUT1 SYSTERM SYSADATA ASMAOPT - Overriding DD Names- SYS00013 SYS00005 SYS00011 SYS00012 SYS00010 -1 External Symbol Dictionary Page 2 --Symbol Type Id Address Length Owner Id Flags Alias-of HLASM R6.0 2016/08/29 08.42 -0PROGRAM SD 00000001 00000000 00001770 00 - CARDLDR SD 00000002 00001770 000000A0 00 - IPLCARD SD 00000003 00001810 00000050 00 -1 Sample Operating System Version 2.00 Page 3 - Active Usings: None -0 Loc Object Code Addr1 Addr2 Stmt Source Statement HLASM R6.0 2016/08/29 08.42 -0 2 *********************************************************************** 00020000 - 3 * * 00030000 - 4 * ***************************************************************** * 00040000 - 5 * * * * 00050000 - 6 * * Sample Operating System * * 00060002 - 7 * * Version 2.00 * * 00067002 - 8 * * Developed at MIT 1973 * * 00074002 - 9 * * * * 00090000 - 10 * ***************************************************************** * 00100000 - 11 * * 00100602 - 12 * Update 2015/10/31 Juergen Winkelmann, e-mail winkelmann@id.ethz.ch * 00101202 - 13 * * 00101802 - 14 * - change storage protection alignments to 4K \ * 00102402 - 15 * - replace SSK/ISK instructions with SSKE/ISKE > 4K support * 00103002 - 16 * - minor changes in storage protection logic / * 00103602 - 17 * - change number of parallel processing streams to 4 * 00104202 - 18 * - change core size to 16M * 00104802 - 19 * - replace table of valid $JOB card core requests with general * 00105402 - 20 * logic rounding up any none full page request entered to next * 00106002 - 21 * full page * 00106602 - 22 * - add IPL card and two card loader for one stop creation of an * 00107202 - 23 * IPLable card deck * 00107802 - 24 * - ignore external interrupts during initialization to avoid * 00108402 - 25 * IPLRTN getting interrupted by the interval timer * 00109002 - 26 * * 00109103 - 27 * Update 2015/11/05 Juergen Winkelmann, e-mail winkelmann@id.ethz.ch * 00109203 - 28 * * 00109303 - 29 * - allow reloading card readers without needing to re-IPL the * 00109403 - 30 * system. This functionality relies on Hercules' card reader * 00109503 - 31 * behavior with the EOF initialization in place. It will not * 00109603 - 32 * work in INTR mode. * 00109703 - 33 * * 00109744 - 34 * Update 2015/11/13 Juergen Winkelmann, e-mail winkelmann@id.ethz.ch * 00109784 - 35 * * 00109824 - 36 * - add UCB to support a console at 009 using the EXCP device * 00109864 - 37 * handler. * 00109904 - 38 * * 00110000 - 39 *********************************************************************** 00120000 -- - 41 PRINT ON,NODATA,GEN 00140000 - 000000 00000 01770 42 PROGRAM CSECT , sample operating system starts at zero 00150002 - 001770 01770 000A0 43 CARDLDR CSECT , two card loader follows at the end 00150102 - 44 *** 00150202 - 45 *** IPL card 00150302 - 46 *** 00150402 - 001810 01810 00050 47 IPLCARD CSECT , IPLable deck must begin with this card 00150502 - 001810 0000000000 48 PSWD DC F'0',X'00' initial program status word, disabled 00150602 - 001815 001770 49 DC AL3(LOADER) start execution at load address 00150702 - 001818 02001770 50 CCW1 DC X'02',AL3(LOADER) read 1st card to load address 00150802 - 00181C 40000050 51 DC XL4'40000050' chain, read length = 80 00150902 - 001820 020017C0 52 CCW2 DC X'02',AL3(LOADER+80) read 2nd card to load addr + 80 00151002 - 001824 00000050 53 DC XL4'00000050' read length = 80 00151102 - 001828 E2819497938540D6 54 DC C'Sample Operating System Version 2.00' eye catcher 00151202 -1 Sample Operating System Version 2.00 Page 4 - Active Usings: None -0 Loc Object Code Addr1 Addr2 Stmt Source Statement HLASM R6.0 2016/08/29 08.42 -0001850 0000000000000000 55 DC 16X'00' pad to card length 00151302 - 56 *** 00151402 - 57 *** loader 00151502 - 58 *** 00151602 - 59 * 00151702 - 60 * Initialize 00151802 - 61 * 00151902 - 001770 01770 000A0 62 CARDLDR CSECT , two card loader must follow IPL card 00152002 - 001770 05C0 63 BALR R12,0 establish .. 00152102 - 001772 4120 0002 00002 64 LA R2,2 .. base .. 00152202 - 001776 1BC2 65 SR R12,R2 .. register 00152302 - R:C 01770 66 USING CARDLDR,R12 tell assembler 00152402 - 001778 41B0 0000 00000 67 LA R11,0 addressability of .. 00152502 - R:B 00000 68 USING PROGRAM,R11 .. sample operating system 00152602 - 00177C 4120 0000 00000 69 LA R2,0 I/O .. 00152702 - 001780 4130 C06A 017DA 70 LA R3,IOINTRPT .. new PSWD 00152802 - 001784 9023 B078 00078 71 STM R2,R3,IONEW store I/O new PSWD 00152902 - 001788 8000 C07E 017EE 72 SSM ENBLECH0 enable interrupts from channel 0 00153002 - 00178C 4150 C0A0 01810 73 LA R5,CCWCHAIN address of card reader CCW chain 00153102 - 001790 5050 B048 00048 74 ST R5,CAW store address in CAW 00153202 - 001794 5830 C094 01804 75 L R3,NUMCARDS number of cards to read 00153302 - 001798 5840 C090 01800 76 L R4,LOADADDR target address of loaded code 00153402 - 77 * 00153502 - 78 * create CCW chain 00153602 - 79 * 00153702 - 00179C 1824 80 NEXTCARD LR R2,R4 load next card here 00153802 - 00179E BF28 C080 017F0 81 ICM R2,B'1000',READ insert write command 00153902 - 0017A2 5020 5000 00000 82 ST R2,0(,R5) store CCW 00154002 - 0017A6 4120 0050 00050 83 LA R2,80 length of card 00154102 - 0017AA 5020 5004 00004 84 ST R2,4(,R5) store length in CCW, zero all flags 00154202 - 0017AE 9640 5004 00004 85 OI 4(R5),X'40' indicate command chaining 00154302 - 0017B2 4140 4050 00050 86 LA R4,80(,R4) increment target address 00154402 - 0017B6 4150 5008 00008 87 LA R5,8(,R5) point to next CCW 00154502 - 0017BA 4630 C02C 0179C 88 BCT R3,NEXTCARD read next card 00154602 - 0017BE 5B50 C098 01808 89 S R5,EIGHT point to previous CCW 00154702 - 0017C2 94BF 5004 00004 90 NI 4(R5),X'BF' clear command chaining flag 00154802 - 91 * 00154902 - 92 * read cards and wait for completion 00155002 - 93 * 00155102 - 0017C6 9C00 000C 0000C 94 SIO 12(0) read cards 00155202 - 0017CA 4120 C066 017D6 95 LA R2,*+12 continue here after I/O completion 00155302 - 0017CE 5020 C08C 017FC 96 ST R2,CONTINUE store continue address in PSWD skeleton 00155402 - 0017D2 8200 C088 017F8 97 LPSW WAITPSWD wait for I/O completion 00155502 - 98 * 00155602 - 99 * "IPL" the Sample Operating System 00155702 - 100 * 00155802 - 0017D6 8200 0000 00000 101 LPSW 0 transfer control 00155902 - 102 * 00156002 - 103 * I/O interrupt handler 00156102 - 104 * 00156202 - 017DA 105 IOINTRPT EQU * 00156302 - 0017DA 9104 B044 00044 106 TM CSW+4,X'04' device end received? 00156402 - 0017DE 47E0 C07A 017EA 107 BNO IOINTRTN -> no, keep waiting 00156502 - 0017E2 94FD B039 00039 108 NI IOOLD+1,X'FD' -> yes, terminate wait state and .. 00156602 - 0017E6 947F B038 00038 109 NI IOOLD,X'7F' .. and disable channel 0 interrupts 00156702 -1 Sample Operating System Version 2.00 Page 5 - Active Usings: PROGRAM,R11 CARDLDR,R12 -0 Loc Object Code Addr1 Addr2 Stmt Source Statement HLASM R6.0 2016/08/29 08.42 -00017EA 8200 B038 00038 110 IOINTRTN LPSW IOOLD return to mainline 00156802 - 111 DROP R11,R12 no longer needed 00156902 - 112 * 00157002 - 113 * Data area 00157102 - 114 * 00157202 - 0017EE F8F0 115 ENBLECH0 DC C'80' mask to enable channel 0 interrupts 00157302 - 0017F0 02 116 READ DC X'02' read a card 00157402 - 0017F8 117 DS 0D align 00157502 - 0017F8 80020000 118 WAITPSWD DC X'80020000' wait with channel 0 interrupts enabled 00157602 - 0017FC 119 CONTINUE DS F continue here after wait 00157702 - 001800 00000000 120 LOADADDR DC F'0' code is to be loaded here 00157802 - 001804 0000004B 121 NUMCARDS DC F'75' number of cards to read 00157904 - 001808 00000008 122 EIGHT DC F'8' CCW length 00158002 - 001810 123 CCWCHAIN DS 0D start of card reader CCW chain 00158102 - 124 *** 00158202 - 125 *** Sample Operating System code begins here 00158302 - 126 *** 00158402 - 000000 00000 01770 127 PROGRAM CSECT , sample OS must follow loader cards 00158502 -0 000000 129 CORESIZE EQU 16777216 bytes of core in object machine 00170002 -0 R:0 00000 131 USING *,0 COMMUNICATIONS AREA 00190000 -0000000 000000000000103E 133 IPLPSW DC B'00000000',B'00000000',X'0000',X'00',AL3(IPLRTN) 00210000 - 000008 134 IPLCCW1 DS D . IPL CCW #1 00220000 - 000010 135 IPLCCW2 DS D . IPL CCW #2 00230000 - 000018 136 EXTOLD DS D . EXTERNAL OLD PSW 00240000 - 000020 137 SVCOLD DS D . SVC OLD PSW 00250000 - 000028 138 PGMOLD DS D . PROGRAM INTERRUPT OLD PSW 00260000 - 000030 139 MCHKOLD DS D . MACHINE CHECK OLD PSW 00270000 - 000038 140 IOOLD DS D . I/O INTERRUPT OLD PSW 00280000 - 000040 141 CSW DS D . CHANNEL STATUS WORD 00290000 - 000048 142 CAW DS F . CHANNEL ADDRESS WORD 00300000 - 00004C 143 UNUSED0 DS F . 00310000 - 000050 FFFFFFFF 144 TIMER DC F'-1' . TIMER 00320000 - 000054 00000000 145 UNUSED1 DC F'0' . 00330000 - 000058 000000000000027A 146 EXTNEW DC B'00000000',B'00000000',X'0000',X'00',AL3(EXTHANDL) 00340000 - 000060 00000000000002B2 147 SVCNEW DC B'00000000',B'00000000',X'0000',X'00',AL3(SVCHANDL) 00350000 - 000068 00000000000002B0 148 PGMNEW DC B'00000000',B'00000000',X'0000',X'00',AL3(PGMHANDL) 00360000 - 000070 0002000000000000 149 MCHKNEW DC B'00000000',B'00000010',X'0000',X'00',AL3(0) 00370000 - 000078 00000000000017DA 150 IONEW DC B'00000000',B'00000000',X'0000',X'00',AL3(IOINTRPT) <-+ 00380002 - 151 *** | 00382002 - 152 *** IOINTRPT will be replaced with IOHANDL after IPL by IPLRTN -----+ 00384002 - 153 *** 00386002 - 000080 00080 00180 154 ORG *+X'100' SPACE OVER STAND ALONE DUMP AREA 00390000 - 000180 00001740 155 FSBPTR DC A(VERYEND) . FSB POINTER 00400000 - 000184 0000000100000000 156 FSBSEM DC F'1,0' . FSB SEMAPHORE 00410000 - 00018C 0000000000000000 157 MEMORY DC F'0,0' . MEMORY SEMAPHORE 00420000 - 000194 0000000100000000 158 CAWSEM DC F'1,0' . CAW SEMAPHORE 00430000 -000019C 160 TRAPSAVE DS 16F . STORAGE FOR EXTERNAL INTERRUPTS 00450000 - 0001DC 161 IOHSAVE DS 16F . STORAGE FOR I/O INTERRUPTS 00460000 -000021C 163 SYSSEMSA DS CL84 . SYSTEM SEMAPHORE SAVE AREA 00480000 -1 Sample Operating System Version 2.00 Page 6 - Active Usings: PROGRAM,R0 -0 Loc Object Code Addr1 Addr2 Stmt Source Statement HLASM R6.0 2016/08/29 08.42 -0000270 165 RUNNING DS A . RUNNING 00500000 - 000274 166 NEXTTRY DS A . NEXTTRY 00510000 - 000278 167 NEXTTRYM DS C,0H . NEXTTRY MODIFIED 00520000 -1 Sample Operating System Version 2.00 Page 7 - Active Usings: PROGRAM,R0 -0 Loc Object Code Addr1 Addr2 Stmt Source Statement HLASM R6.0 2016/08/29 08.42 -0 169 *********************************************************************** 00540000 - 170 * * 00550000 - 171 * EXTERNAL, PROGRAM, AND SVC INTERRUPT HANDLERS * 00560000 - 172 * * 00570000 - 173 *********************************************************************** 00580000 -0 0027A 175 EXTHANDL EQU * . EXTERNAL INTERRUPT HANDLER 00600000 - 00027A 900F 019C 0019C 176 STM 0,15,TRAPSAVE . SAVE REGISTERS 00610000 - 00027E 0510 177 BALR 1,0 . ESTABLISH ADDRESSING 00620000 - R:1 00280 178 USING *,1 00630000 - ** ASMA303W Multiple address resolutions may result from this USING and the USING on statement number 131 - ** ASMA435I Record 178 in /mbhfs/sos4k.asm on volume: - 000280 9580 001B 0001B 179 CLI EXTOLD+3,X'80' . SEE IF TIMER TRAP 00640000 - 000284 4770 1028 002A8 180 BNE EXTHRET . IF NOT, IGNORE 00650000 - 000288 58F0 0270 00270 181 L 15,RUNNING . SET UP REGISTERS FOR TRAFFIC 00660000 - R:F 00000 182 USING PCB,15 . CONTROLLER (XPER) 00670000 - 00028C 95FF F019 00019 183 CLI PCBBLOKT,X'FF' . IF BLOCKED, NO PROCESS IS 00680000 - 000290 4780 1028 002A8 184 BE EXTHRET . RUNNABLE, SO RETURN 00690000 - 000294 41E0 F04C 0004C 185 LA 14,PCBISA . GET SAVE AREA 00700000 - R:E 00000 186 USING SA,14 00710000 - 000298 D207 E000 0018 00000 00018 187 MVC SAPSW,EXTOLD . AND STORE OLD STUFF INTO IT 00720000 - 00029E D23F E008 019C 00008 0019C 188 MVC SAREGS,TRAPSAVE 00730000 - 0002A4 47F0 12EA 0056A 189 B XPER . THEN GO TO TRAFFIC SCHEDULER 00740000 - 190 DROP 14,15 00750000 - 0002A8 980F 019C 0019C 191 EXTHRET LM 0,15,TRAPSAVE . TO IGNORE AN INTERRUPT, RELOAD 00760000 - 0002AC 8200 0018 00018 192 LPSW EXTOLD . AND TRANSFER BACK 00770000 -0 002B0 194 PGMHANDL EQU * . PROGRAM INTERRUPT HANDLER 00790000 - 0002B0 0A6F 195 SVC C'?' . IN ANY CASE, AN ERROR 00800000 -1 Sample Operating System Version 2.00 Page 8 - Active Usings: PROGRAM,R0 PROGRAM+X'280',R1 -0 Loc Object Code Addr1 Addr2 Stmt Source Statement HLASM R6.0 2016/08/29 08.42 -0 197 *********************************************************************** 00820000 - 198 * * 00830000 - 199 * SVC INTERRUPT HANDLER * 00840000 - 200 * * 00850000 - 201 * FOR ALL ROUTINES ENTERED BY SVC INTERRUPT, THE * 00860000 - 202 * FOLLOWING REGISTERS CONTAIN THIS INFORMATION: * 00870000 - 203 * * 00880000 - 204 * REGISTER 1 - BASE REGISTER FOR ROUTINE * 00890000 - 205 * REGISTER 2 - POINTER TO ARGUMENT LIST (IF ANY) * 00900000 - 206 * REGISTER 14 - POINTER TO SAVEAREA USED FOR THIS SVC * 00910000 - 207 * REGISTER 15 - POINTER TO PCB PRESENTLY RUNNING * 00920000 - 208 * * 00930000 - 209 *********************************************************************** 00940000 -0 002B2 211 SVCHANDL EQU * . SVC HANDLER 00960000 - 0002B2 900F 019C 0019C 212 STM 0,15,TRAPSAVE . SAVE REGISTERS 00970000 - 0002B6 0590 213 BALR 9,0 . ESTABLISH ADDRESSING 00980000 - R:9 002B8 214 USING *,9 00990000 - ** ASMA303W Multiple address resolutions may result from this USING and the USING on statement number 131 - ** ASMA303W Multiple address resolutions may result from this USING and the USING on statement number 178 - ** ASMA435I Record 214 in /mbhfs/sos4k.asm on volume: - 0002B8 98AE 905C 00314 215 LM 10,14,SVCCONST . INITIALIZE REGISTERS 01000000 - 0002BC 43A0 0023 00023 216 IC 10,SVCOLD+3 . GET SVC CODE 01010000 - 0002C0 43AA 9070 00328 217 IC 10,SVCHTABL(10) . TRANSLATE INTO TABLE OFFSET 01020000 - 0002C4 41AA 9170 00428 218 LA 10,SVCRTN(10) . REG 10 -> THE CORRECT PSW 01030000 - 0002C8 9500 A002 00002 219 CLI 2(10),X'00' . IS THIS CALL PROTECTED? 01040000 - 0002CC 4780 904A 00302 220 BE SVCHPROT . THEN SEE IF WE CAN CALL IT 01050000 - 0002D0 58F0 0270 00270 221 SVCOK L 15,RUNNING . GET PCB POINTER 01060000 - R:F 00000 222 USING PCB,15 01070000 - 0002D4 9500 A003 00003 223 CLI 3(10),X'00' . IS IT A SYSTEM SAVEAREA? 01080000 - 0002D8 4780 9026 002DE 224 BE SYSSEM . DON'T USE REG 14 AS PCB POINTER 01090000 - 0002DC 18EF 225 LR 14,15 . ELSE, SET UP PCB POINTER 01100000 - 0002DE 43BA 0003 00003 226 SYSSEM IC 11,3(10) . GET POINTER TO SAVE AREA OFFSET 01110000 - 0002E2 5AEB 9210 004C8 227 A 14,SVCSAVE(11) . REG 14 -> SAVE AREA 01120000 - 0002E6 954B 0023 00023 228 CLI SVCOLD+3,C'.' . ARE WE CALLING XPER? 01130000 - 0002EA 4780 9042 002FA 229 BE SVCXPER . IF SO, DON'T SAVE RETURN STATUS 01140000 - R:E 00000 230 USING SA,14 01150000 - 0002EE D207 E000 0020 00000 00020 231 MVC SAPSW,SVCOLD . SAVE PSW 01160000 - 0002F4 D23F E008 019C 00008 0019C 232 MVC SAREGS,TRAPSAVE . SAVE REGISTERS 01170000 - 0002FA 581A 0004 00004 233 SVCXPER L 1,4(10) . MAKE ADDRESSING EASY WITHIN 01180000 - 0002FE 8200 A000 00000 234 LPSW 0(10) . ROUTINE, AND GO THERE 01190000 - 000302 58C0 0020 00020 235 SVCHPROT L 12,SVCOLD . GET PROTECTION KEY 01200000 - 000306 14CD 236 NR 12,13 . IS IT A USER? 01210000 - 000308 4780 9018 002D0 237 BZ SVCOK . IF NO, THAT'S FINE 01220000 - 00030C 41A0 91F8 004B0 238 LA 10,SVCRTN+136 . ELSE SET UP CALL TO XQUE 01230000 - 000310 47F0 9018 002D0 239 B SVCOK . 01240000 - 240 DROP 9 01250000 - 000314 0000000000000000 241 SVCCONST DC 3F'0',X'00F00000',F'0' 01260000 -0000328 8484848484848484 243 SVCHTABL DC 256X'84' . TABLE OF PSW OFFSETS 01280000 - 000428 00428 003FF 244 ORG SVCHTABL+C'P' 01290000 - 0003FF 00 245 DC AL1(0) 01300000 - 000400 00400 0040D 246 ORG SVCHTABL+C'V' 01310000 - 00040D 08 247 DC AL1(8) 01320000 - 00040E 0040E 00382 248 ORG SVCHTABL+C'!' 01330000 -1 Sample Operating System Version 2.00 Page 9 - Active Usings: PROGRAM,R0 PROGRAM+X'280',R1 SA,R14 PCB,R15 -0 Loc Object Code Addr1 Addr2 Stmt Source Statement HLASM R6.0 2016/08/29 08.42 -0000382 10 249 DC AL1(16) 01340000 - 000383 00383 00393 250 ORG SVCHTABL+C',' 01350000 - 000393 18 251 DC AL1(24) 01360000 - 000394 00394 003EA 252 ORG SVCHTABL+C'B' 01370000 - 0003EA 20 253 DC AL1(32) 01380000 - 0003EB 003EB 003E9 254 ORG SVCHTABL+C'A' 01390000 - 0003E9 28 255 DC AL1(40) 01400000 - 0003EA 003EA 003EE 256 ORG SVCHTABL+C'F' 01410000 - 0003EE 30 257 DC AL1(48) 01420000 - 0003EF 003EF 003F1 258 ORG SVCHTABL+C'I' 01430000 - 0003F1 38 259 DC AL1(56) 01440000 - 0003F2 003F2 003F9 260 ORG SVCHTABL+C'J' 01450000 - 0003F9 40 261 DC AL1(64) 01460000 - 0003FA 003FA 00373 262 ORG SVCHTABL+C'.' 01470000 - 000373 48 263 DC AL1(72) 01480000 - 000374 00374 00401 264 ORG SVCHTABL+C'R' 01490000 - 000401 50 265 DC AL1(80) 01500000 - 000402 00402 0040A 266 ORG SVCHTABL+C'S' 01510000 - 00040A 58 267 DC AL1(88) 01520000 - 00040B 0040B 003EB 268 ORG SVCHTABL+C'C' 01530000 - 0003EB 60 269 DC AL1(96) 01540000 - 0003EC 003EC 003FD 270 ORG SVCHTABL+C'N' 01550000 - 0003FD 68 271 DC AL1(104) 01560000 - 0003FE 003FE 00410 272 ORG SVCHTABL+C'Y' 01570000 - 000410 70 273 DC AL1(112) 01580000 - 000411 00411 00411 274 ORG SVCHTABL+C'Z' 01590000 - 000411 78 275 DC AL1(120) 01600000 - 000412 00412 003EC 276 ORG SVCHTABL+C'D' 01610000 - 0003EC 80 277 DC AL1(128) 01620000 - 0003ED 003ED 00397 278 ORG SVCHTABL+C'?' 01630000 - 000397 88 279 DC AL1(136) 01640000 - 000398 00398 003F0 280 ORG SVCHTABL+C'H' 01650000 - 0003F0 90 281 DC AL1(144) 01660000 - 0003F1 003F1 003ED 282 ORG SVCHTABL+C'E' 01670000 - 0003ED 98 283 DC AL1(152) 01680000 - 0003EE 003EE 00428 284 ORG SVCHTABL+256 01690000 -0000428 286 SVCRTN DS 0D . THE PSWS 01710000 - 287 * IN THE FOLLOWING PSWS, THE THIRD BYTE INDICATES * 01720000 - 288 * WHETHER THE SVC IS RESTRICTED: * 01730000 - 289 * X'00' -> OPERATING SYSTEM ONLY * 01740000 - 290 * X'FF' -> AVAILABLE TO USER ALSO * 01750000 - 291 * * 01760000 - 292 * THE FOURTH BYTE INDICATES WHICH SAVE AREA TO USE; * 01770000 - 293 * SVCSAVE BELOW SHOWS THE CODE VALUES. * 01780000 - 000428 00000000000004EE 294 DC B'00000000',B'00000000',X'0000',X'00',AL3(XP) 01790000 - 000430 0000000000000534 295 DC B'00000000',B'00000000',X'0000',X'00',AL3(XV) 01800000 - 000438 00000004000005C0 296 DC B'00000000',B'00000000',X'0004',X'00',AL3(XEXC) 01810000 - 000440 00000004000005D2 297 DC B'00000000',B'00000000',X'0004',X'00',AL3(XCOM) 01820000 - 000448 0000000400000744 298 DC B'00000000',B'00000000',X'0004',X'00',AL3(XB) 01830000 - 000450 FF00000C00000600 299 DC B'11111111',B'00000000',X'000C',X'00',AL3(XA) 01840000 - 000458 FF00000C000006B6 300 DC B'11111111',B'00000000',X'000C',X'00',AL3(XF) 01850000 - 000460 000000040000087A 301 DC B'00000000',B'00000000',X'0004',X'00',AL3(XI) 01860000 - 000468 00000004000008A6 302 DC B'00000000',B'00000000',X'0004',X'00',AL3(XJ) 01870000 - 000470 000000040000056A 303 DC B'00000000',B'00000000',X'0004',X'00',AL3(XPER) 01880000 -1 Sample Operating System Version 2.00 Page 10 - Active Usings: PROGRAM,R0 PROGRAM+X'280',R1 SA,R14 PCB,R15 -0 Loc Object Code Addr1 Addr2 Stmt Source Statement HLASM R6.0 2016/08/29 08.42 -0000478 FF00FF08000008EC 304 DC B'11111111',B'00000000',X'FF08',X'00',AL3(XR) 01890000 - 000480 FF00FF0800000978 305 DC B'11111111',B'00000000',X'FF08',X'00',AL3(XS) 01900000 - 000488 FF00FF0800000780 306 DC B'11111111',B'00000000',X'FF08',X'00',AL3(XC) 01910000 - 000490 0000FF04000008CA 307 DC B'00000000',B'00000000',X'FF04',X'00',AL3(XN) 01920000 - 000498 0000FF0800000A0A 308 DC B'00000000',B'00000000',X'FF08',X'00',AL3(XY) 01930000 - 0004A0 FF00FF0800000A42 309 DC B'11111111',B'00000000',X'FF08',X'00',AL3(XZ) 01940000 - 0004A8 FF00FF08000007C6 310 DC B'11111111',B'00000000',X'FF08',X'00',AL3(XD) 01950000 - 0004B0 0000FF0400000A8E 311 DC B'00000000',B'00000000',X'FF04',X'00',AL3(XQUE) 01960000 - 0004B8 FF00FF0800000842 312 DC B'11111111',B'00000000',X'FF08',X'00',AL3(XH) 01970000 - 0004C0 FF00000C00000608 313 DC B'11111111',B'00000000',X'000C',X'00',AL3(XAUTO) 01980000 -00004C8 315 SVCSAVE DS 0F . THE SAVE AREA OFFSETS 02000000 - 0004C8 0000021C 316 DC A(SYSSEMSA) . CODE 00 -> SYSSEMSA 02010000 - 0004CC 0000004C 317 DC A(PCBISA-PCB) . CODE 04 -> INTERRUPT SAVE AREA 02020000 - 0004D0 000000A0 318 DC A(PCBFSA-PCB) . CODE 08 -> FAULT SAVE AREA 02030000 - 0004D4 000000F4 319 DC A(PCBMSA-PCB) . CODE 0C -> MEMORY SAVE AREA 02040000 -- - 321 *********************************************************************** 02060000 - 322 * * 02070000 - 323 * RETURN SEQUENCE FOR REQUEST DRIVEN ROUTINES AND TRAFFIC CONTROLLER * 02080000 - 324 * * 02090000 - 325 *********************************************************************** 02100000 -00004D8 327 DS 0D 02120000 - 0004D8 00000000000004E0 328 RETURN DC B'00000000',B'00000000',X'0000',X'00',AL3(RETURNR) 02130000 -0 004E0 330 RETURNR EQU * . RETURN ROUTINE FOR SVC'S AND XPER 02150000 - 0004E0 D207 0020 E000 00020 00000 331 MVC SVCOLD,SAPSW . SAVE PSW IN A SAFE PLACE 02160000 - 0004E6 980F E008 00008 332 LM 0,15,SAREGS . RELOAD REGISTERS 02170000 - 0004EA 8200 0020 00020 333 LPSW SVCOLD . AND RETURN 02180000 -1 Sample Operating System Version 2.00 Page 11 - Active Usings: PROGRAM,R0 PROGRAM+X'280',R1 SA,R14 PCB,R15 -0 Loc Object Code Addr1 Addr2 Stmt Source Statement HLASM R6.0 2016/08/29 08.42 -0 335 *********************************************************************** 02200000 - 336 * * 02210000 - 337 * REQUEST DRIVEN ROUTINES * 02220000 - 338 * * 02230000 - 339 *********************************************************************** 02240000 -- - 341 *********************************************************************** 02260000 - 342 * * 02270000 - 343 * XP ROUTINE * 02280000 - 344 * * 02290000 - 345 * FUNCTION: TO IMPLEMENT "P" PRIMITIVE FOR SEMAPHORES * 02300000 - 346 * DATABASES: UPON ENTRY, REGISTER 2 CONTAINS ADDRESS SM * 02310000 - 347 * SM DS 0D SEMAPHORE DEFINITION * 02320000 - 348 * SMVAL DS F VALUE * 02330000 - 349 * SMPTR DS A POINTER TO FIRST WAITER * 02340000 - 350 * ROUTINES USED: XPER * 02350000 - 351 * PROCEDURE: SUBTRACT ONE FROM SMVAL; IF NON-NEGATIVE, RETURN. * 02360000 - 352 * IF NEGATIVE, PLACE RUNNING PROCESS AT END OF LIST * 02370000 - 353 * OF PRECESSES WAITING ON SM. BLOCK CALLING PROCESS; * 02380000 - 354 * ENTER TRAFFIC CONTROLLER. * 02390000 - 355 * ERROR CHECKS: NONE * 02400000 - 356 * INTERRUPTS: OFF * 02410000 - 357 * USER ACCESS: NO * 02420000 - 358 * * 02430000 - 359 *********************************************************************** 02440000 -0 004EE 361 XP EQU * . THE XP ROUTINE 02460000 - R:1 004EE 362 USING *,1 02470000 - ** ASMA303W Multiple address resolutions may result from this USING and the USING on statement number 131 - ** ASMA435I Record 362 in /mbhfs/sos4k.asm on volume: - R:2 00000 363 USING SM,2 . ARGUMENT IS A SEMAPHORE 02480000 - 0004EE 5830 2000 00000 364 L 3,SMVAL . GET THE VALUE 02490000 - 0004F2 0630 365 BCTR 3,0 . SUBTRACT ONE 02500000 - 0004F4 5030 2000 00000 366 ST 3,SMVAL . AND STORE IT BACK 02510000 - 0004F8 1233 367 LTR 3,3 . SET CONDITION CODE 02520000 - 0004FA 4740 1014 00502 368 BM XPWAIT . IF IT'S NEGATIVE, MUST WAIT 02530000 - 0004FE 8200 04D8 004D8 369 LPSW RETURN . ELSE RETURN NOW 02540000 - 000502 4140 2004 00004 370 XPWAIT LA 4,SMPTR . START GOING DOWN 02550000 - 000506 5850 2004 00004 371 L 5,SMPTR . CHAIN OF POINTERS 02560000 - 372 DROP 15 02570000 - R:5 00000 373 USING PCB,5 02580000 - 00050A 1255 374 XPLOOP LTR 5,5 . IF REACHED END 02590000 - 00050C 4780 102E 0051C 375 BZ XPTHEN . ADD OUR PCB ON. ELSE, 02600000 - 000510 4140 5030 00030 376 LA 4,PCBNSW . INCREMENT POINTERS 02610000 - 000514 5850 5030 00030 377 L 5,PCBNSW 02620000 - 000518 47F0 101C 0050A 378 B XPLOOP . AND TRY AGAIN 02630000 - 379 DROP 5 02640000 - R:F 00000 380 USING PCB,15 02650000 - 00051C D203 4000 0270 00000 00270 381 XPTHEN MVC 0(4,4),RUNNING . WE'RE AT THE END 02660000 - 000522 5050 F030 00030 382 ST 5,PCBNSW . STORE NULL POINTER 02670000 - 000526 92FF F019 00019 383 MVI PCBBLOKT,X'FF' . AND WE'RE BLOCKED 02680000 - 00052A D253 F04C 021C 0004C 0021C 384 MVC PCBISA,SYSSEMSA . SWITCH SAVE AREAS 02690000 - 000530 47F0 107C 0056A 385 B XPER . SO RUN SOMEONE ELSE 02700000 -1 Sample Operating System Version 2.00 Page 12 - Active Usings: PROGRAM,R0 PROGRAM+X'4EE',R1 SA,R14 PCB,R15 -0 Loc Object Code Addr1 Addr2 Stmt Source Statement HLASM R6.0 2016/08/29 08.42 -0 386 DROP 2 02710000 -1 Sample Operating System Version 2.00 Page 13 - Active Usings: PROGRAM,R0 PROGRAM+X'4EE',R1 SA,R14 PCB,R15 -0 Loc Object Code Addr1 Addr2 Stmt Source Statement HLASM R6.0 2016/08/29 08.42 -0 388 *********************************************************************** 02730000 - 389 * * 02740000 - 390 * XV ROUTINE * 02750000 - 391 * * 02760000 - 392 * FUNCTION: TO IMPLEMENT "V" PRIMITIVE FOR SEMAPHORES * 02770000 - 393 * DATABASES: UPON ENTRY, REGISTER 2 CONTAINS ADDRESS SM * 02780000 - 394 * SM DS 0D SEMAPHORE DEFINITION * 02790000 - 395 * SMVAL DS F VALUE * 02800000 - 396 * SMPTR DS A POINTER TO FIRST WAITER * 02810000 - 397 * ROUTINES USED: NONE * 02820000 - 398 * PROCEDURE: ADD ONE TO SMVAL; IF > ZERO, RETURN. IF ZERO OR * 02830000 - 399 * LESS, REMOVE FIRST PROCESS FROM WAITER CHAIN; * 02840000 - 400 * UNBLOCK IT; IF NEXTTRYM NOT SET, SET IT AND SET * 02850000 - 401 * NEXTTRY TO THAT PROCESS; RETURN; IF NEXTTRYM SET, * 02860000 - 402 * RETURN. * 02870000 - 403 * ERROR CHECKS: NONE * 02880000 - 404 * INTERRUPTS: OFF * 02890000 - 405 * USER ACCESS: NO * 02900000 - 406 * * 02910000 - 407 *********************************************************************** 02920000 -0 00534 409 XV EQU * . THE XV ROUTINE 02940000 - R:1 00534 410 USING *,1 02950000 - ** ASMA303W Multiple address resolutions may result from this USING and the USING on statement number 131 - ** ASMA435I Record 410 in /mbhfs/sos4k.asm on volume: - R:2 00000 411 USING SM,2 . ARGUMENT IS A SEMAPHORE 02960000 - 000534 5830 2000 00000 412 L 3,SMVAL . GET THE VALUE 02970000 - 000538 5A30 1924 00E58 413 A 3,=F'1' . ADD ONE 02980000 - 00053C 5030 2000 00000 414 ST 3,SMVAL . AND STORE IT BACK 02990000 - 000540 47D0 1014 00548 415 BNP XVWAKEUP . IF <=0, SOMEONE'S WAITING 03000000 - 000544 8200 04D8 004D8 416 LPSW RETURN . ELSE RETURN 03010000 - 000548 5840 2004 00004 417 XVWAKEUP L 4,SMPTR . GET THE FIRST OF THE GUYS 03020000 - 418 DROP 15 03030000 - R:4 00000 419 USING PCB,4 03040000 - 00054C D203 2004 4030 00004 00030 420 MVC SMPTR,PCBNSW . REMEMBER THE REST 03050000 - 000552 9200 4019 00019 421 MVI PCBBLOKT,X'00' . WE'RE NO LONGER BLOCKING HIM 03060000 - 000556 95FF 0278 00278 422 CLI NEXTTRYM,X'FF' . IS NEXT TRY MODIFIED? 03070000 - 00055A 4780 1032 00566 423 BE XVRET . IF SO, WELL OK 03080000 - 00055E 5040 0274 00274 424 ST 4,NEXTTRY ELSE MODIFY NEXTTRY 03090000 - 000562 92FF 0278 00278 425 MVI NEXTTRYM,X'FF' . AND SAY SO 03100000 - 000566 8200 04D8 004D8 426 XVRET LPSW RETURN . GET BACK 03110000 - 427 DROP 2,4 03120000 -1 Sample Operating System Version 2.00 Page 14 - Active Usings: PROGRAM,R0 PROGRAM+X'534',R1 SA,R14 -0 Loc Object Code Addr1 Addr2 Stmt Source Statement HLASM R6.0 2016/08/29 08.42 -0 429 *********************************************************************** 03140000 - 430 * * 03150000 - 431 * XPER ROUTINE (TRAFFIC CONTROLLER) * 03160000 - 432 * * 03170000 - 433 * FUNCTION: TO IMPLEMENT MULTIPROGRAMMING * 03180000 - 434 * DATABASES: NONE * 03190000 - 435 * ROUTINES USED: NONE * 03200000 - 436 * PROCEDURE: STARTING WITH NEXTTRY, SEARCH FOR PROCESS ON ALL * 03210000 - 437 * PCB CHAIN NOT BLOCKED OR STOPPED; IF FOUND, USE AS * 03220000 - 438 * NEW RUNNING, FOR 50 MS OF TIME AND RETURN. ELSE, * 03230000 - 439 * ENTER WAIT STATE WITH INTERRUPTS ON, AND TRY TO * 03240000 - 440 * SCHEDULE AGAIN AFTER INTERRUPT; RETURN. * 03250000 - 441 * ERROR CHECKS: NONE * 03260000 - 442 * INTERRUPTS: OFF * 03270000 - 443 * USER ACCESS: NO * 03280000 - 444 * * 03290000 - 445 *********************************************************************** 03300000 -0 0056A 447 XPER EQU * . ROUTINE XPER: TRAFFIC SCHEDULER 03320000 - 00056A 8000 0078 00078 448 SSM IONEW . MASK OFF INTERRUPTS 03330000 - 00056E 0510 449 BALR 1,0 03340000 - R:1 00570 450 USING *,1 03350000 - ** ASMA303W Multiple address resolutions may result from this USING and the USING on statement number 131 - ** ASMA435I Record 450 in /mbhfs/sos4k.asm on volume: - 000570 58A0 0274 00274 451 L 10,NEXTTRY . START LOOKING AT NEXTTRY 03360000 - 000574 18BA 452 LR 11,10 . REMEMBER WHICH THAT WAS 03370000 - R:A 00000 453 USING PCB,10 03380000 - 000576 95FF A019 00019 454 GWLOOP CLI PCBBLOKT,X'FF' . IF IT'S BLOCKED 03390000 - 00057A 4780 1016 00586 455 BE GWINC . IGNORE 03400000 - 00057E 95FF A018 00018 456 CLI PCBSTOPT,X'FF' . ELSE, IF IT'S NOT STOPPED 03410000 - 000582 4770 1030 005A0 457 BNE GWRUN . WE CAN RUN IT 03420000 - 000586 58A0 A010 00010 458 GWINC L 10,PCBNPALL . ELSE, GO TO THE NEXT 03430000 - 00058A 19AB 459 CR 10,11 . IF WE'VE SEEN ALL, QUIT 03440000 - 00058C 4770 1006 00576 460 BNE GWLOOP . ELSE TRY AGAIN 03450000 - 000590 8200 1028 00598 461 LPSW IDLE . SIT AND WAIT 03460000 - 000598 462 DS 0D 03470000 - 000598 FE0200000000056A 463 IDLE DC B'11111110',B'00000010',X'0000',X'00',AL3(XPER) 03480000 -00005A0 D203 0274 A010 00274 00010 465 GWRUN MVC NEXTTRY,PCBNPALL . GET A NEW NEXTTRY 03500000 - 0005A6 9200 0278 00278 466 MVI NEXTTRYM,X'00' . NOT MODIFIED 03510000 - 0005AA 50A0 0270 00270 467 ST 10,RUNNING . GET A NEW RUNNING 03520000 - 0005AE 41E0 A04C 0004C 468 LA 14,PCBISA 03530000 - 0005B2 D203 0050 104C 00050 005BC 469 MVC TIMER,QUANTUM . INTERRUPT AFTER 50 MS 03540000 - 0005B8 8200 04D8 004D8 470 LPSW RETURN . AND GO TO RETURNR 03550000 - 0005BC 00000F00 471 QUANTUM DC X'00000F00' . QUANTUM OF TIME 03560000 - 472 DROP 10 03570000 - R:F 00000 473 USING PCB,15 03580000 -1 Sample Operating System Version 2.00 Page 15 - Active Usings: PROGRAM,R0 PROGRAM+X'570',R1 SA,R14 PCB,R15 -0 Loc Object Code Addr1 Addr2 Stmt Source Statement HLASM R6.0 2016/08/29 08.42 -0 475 *********************************************************************** 03600000 - 476 * * 03610000 - 477 * XEXC ROUTINE * 03620000 - 478 * * 03630000 - 479 * FUNCTION: TO ENTER SMC SECTION * 03640000 - 480 * DATABASES: NONE * 03650000 - 481 * ROUTINES USED: NONE * 03660000 - 482 * PROCEDURE: INCREMENT SMC BYTE IN PCB BY ONE; RETURN. * 03670000 - 483 * ERROR CHECKS: NONE * 03680000 - 484 * INTERRUPTS: OFF * 03690000 - 485 * USER ACCESS: NO * 03700000 - 486 * * 03710000 - 487 *********************************************************************** 03720000 -0 005C0 489 XEXC EQU * . ROUTINE XEXC: ENTER SMC SECTION 03740000 - R:1 005C0 490 USING *,1 03750000 - ** ASMA303W Multiple address resolutions may result from this USING and the USING on statement number 131 - ** ASMA435I Record 490 in /mbhfs/sos4k.asm on volume: - 0005C0 1B88 491 SR 8,8 03760000 - 0005C2 4380 F01A 0001A 492 IC 8,PCBINSMC 03770000 - 0005C6 4188 0001 00001 493 LA 8,1(8) . ADD ONE TO SMC BYTE 03780000 - 0005CA 4280 F01A 0001A 494 STC 8,PCBINSMC 03790000 - 0005CE 8200 04D8 004D8 495 LPSW RETURN . AND LEAVE 03800000 -0 497 *********************************************************************** 03820000 - 498 * * 03830000 - 499 * XCOM ROUTINE * 03840000 - 500 * * 03850000 - 501 * FUNCTION: TO LEAVE SMC SECTION * 03860000 - 502 * DATABASES: NONE * 03870000 - 503 * ROUTINES USED: XP, XV * 03880000 - 504 * PROCEDURE: DECREMENT SMC BYTE IN PCB BY ONE; IF NOT ZERO, * 03890000 - 505 * RETURN. ELSE, CHECK FOR STOP WAITING; IF STOP * 03900000 - 506 * WAITING, ALLOW STOP AND BLOCK SELF; RETURN. IF NO * 03910000 - 507 * STOP WAITING, RETURN. * 03920000 - 508 * ERROR CHECKS: NONE * 03930000 - 509 * INTERRUPTS: OFF * 03940000 - 510 * USER ACCESS: NO * 03950000 - 511 * * 03960000 - 512 *********************************************************************** 03970000 -0 005D2 514 XCOM EQU * . ROUTINE XCOM: LEAVE SMC 03990000 - R:1 005D2 515 USING *,1 04000000 - ** ASMA303W Multiple address resolutions may result from this USING and the USING on statement number 131 - ** ASMA435I Record 515 in /mbhfs/sos4k.asm on volume: - 0005D2 1B88 516 SR 8,8 04010000 - 0005D4 4380 F01A 0001A 517 IC 8,PCBINSMC 04020000 - 0005D8 0680 518 BCTR 8,0 . SUBTRACT ONE FROM IN SMC BYTE 04030000 - 0005DA 4280 F01A 0001A 519 STC 8,PCBINSMC 04040000 - 0005DE 1288 520 LTR 8,8 . IS IT ZERO? 04050000 - 0005E0 4770 102A 005FC 521 BNZ XCOMRET . NO, THEN GET BACK, OTHERWISE 04060000 - 0005E4 9500 F01B 0001B 522 CLI PCBSW,X'00' . IS STOP WAITING? 04070000 - 0005E8 4780 102A 005FC 523 BE XCOMRET . IF NOT, RETURN 04080000 - 0005EC 9200 F01B 0001B 524 MVI PCBSW,X'00' . STOPS NOT WAITING AFTER THIS 04090000 - 0005F0 4120 F034 00034 525 LA 2,PCBSRS . WE'LL "V" THE STOPPER, 04100000 -1 Sample Operating System Version 2.00 Page 16 - Active Usings: PROGRAM,R0 PROGRAM+X'5D2',R1 SA,R14 PCB,R15 -0 Loc Object Code Addr1 Addr2 Stmt Source Statement HLASM R6.0 2016/08/29 08.42 -00005F4 0AE5 526 SVC C'V' 04110000 - 0005F6 4120 F03C 0003C 527 LA 2,PCBSES . AND "P" THE STOPPEE. 04120000 - 0005FA 0AD7 528 SVC C'P' 04130000 - 0005FC 8200 04D8 004D8 529 XCOMRET LPSW RETURN . AND HERE (IF EVER) WE RETURN 04140000 -1 Sample Operating System Version 2.00 Page 17 - Active Usings: PROGRAM,R0 PROGRAM+X'5D2',R1 SA,R14 PCB,R15 -0 Loc Object Code Addr1 Addr2 Stmt Source Statement HLASM R6.0 2016/08/29 08.42 -0 531 *********************************************************************** 04160000 - 532 * * 04170000 - 533 * XA ROUTINE * 04180000 - 534 * XAUTO ROUTINE * 04190000 - 535 * * 04200000 - 536 * FUNCTION: TO ALLOCATE MEMORY * 04210000 - 537 * DATABASES: UPON ENTRY, REGISTER 2 CONTAINS ADDRESS XAX: * 04220000 - 538 * XAX DS 0D * 04230000 - 539 * XAXSIZE DS F SIZE OF BLOCK TO BE ALLOCATED * 04240000 - 540 * XAXADDR DS A ADDRESS OF FIRST BYTE OF BLOCK* 04250000 - 541 * XAXALGN DS F ALIGNMENT OF BLOCK * 04260000 - 542 * ROUTINES USED: XEXC, XCOM, XP, XV, XB * 04270000 - 543 * PROCEDURE: LOCK FSB SEMAPHORE; SEARCH FREE STORAGE FOR LARGE * 04280000 - 544 * ENOUGH MEMORY BLOCK; ALIGN BOUNDARY; USE XB TO * 04290000 - 545 * CHAIN ANY LEFTOVER BLOCKS TO FREE STORAGE LIST; * 04300000 - 546 * PLACE ADDRESS OF ALLOCATED BLOCK IN XAXADDR; UNLOCK* 04310000 - 547 * FSB SEMAPHORE; RETURN. IF CAN'T SATISFY REQUEST, * 04320000 - 548 * UNLOCK FSB SEMAPHORE, APPLY XP ROUTINE TO MEMORY * 04330000 - 549 * SEMAPHORE, BLOCKING PROCESS RUNNING UNTIL MEMORY * 04340000 - 550 * FREED; THEN UNBLOCK; TRY TO SATISFY REQUEST AGAIN. * 04350000 - 551 * ERROR CHECKS: NONE * 04360000 - 552 * INTERRUPTS: ON * 04370000 - 553 * USER ACCESS: NO * 04380000 - 554 * * 04390000 - 555 *********************************************************************** 04400000 -0 00600 557 XA EQU * . THE XA ROUTINE, TO ALLOCATE 04420000 - R:1 00600 558 USING *,1 04430000 - ** ASMA303W Multiple address resolutions may result from this USING and the USING on statement number 131 - ** ASMA435I Record 558 in /mbhfs/sos4k.asm on volume: - 000600 4100 0001 00001 559 LA 0,1 . SET REGISTER ZERO TO ONE TO 04440000 - 000604 47F0 100E 0060E 560 B XACOM . INDICATE C'A' CALL 04450000 - 00608 561 XAUTO EQU * . AUTO STORAGE ENTRY POINT 04460000 - R:1 00608 562 USING *,1 04470000 - ** ASMA303W Multiple address resolutions may result from this USING and the USING on statement number 131 - ** ASMA435I Record 562 in /mbhfs/sos4k.asm on volume: - 000608 1B00 563 SR 0,0 . REG0=0 INDICATES C'E' CALL 04480000 - 00060A 5810 1854 00E5C 564 L 1,=A(XA) . RESET BASE REGISTER PROPERLY 04490000 - R:1 00600 565 USING XA,1 04500000 - ** ASMA303W Multiple address resolutions may result from this USING and the USING on statement number 131 - ** ASMA435I Record 565 in /mbhfs/sos4k.asm on volume: - 00060E 0A5A 566 XACOM SVC C'!' . ENTER SMC 04510000 - 000610 1872 567 LR 7,2 04520000 - R:7 00000 568 USING XAX,7 . ARGUMENT LIST 04530000 - 000612 5860 7000 00000 569 L 6,XAXSIZE . GET THE SIZE REQUESTED 04540000 - 000616 4120 0184 00184 570 XATOP LA 2,FSBSEM . LOCK THE FSB SEMAPHORE 04550000 - 00061A 0AD7 571 SVC C'P' . 04560000 - 00061C 4150 0180 00180 572 LA 5,FSBPTR . START LOOKING DOWN 04570000 - 000620 5840 0180 00180 573 L 4,FSBPTR . THE FREE STORAGE LIST 04580000 - 000624 5880 7008 00008 574 L 8,XAXALGN . WE WOULD HAVE TO START AT WITH 04590000 - 000628 0680 575 BCTR 8,0 . THIS CONSTANT TO FIND ALIGNMENT 04600000 - R:4 00000 576 USING FSB,4 04610000 - 00062A 1244 577 XALOOP LTR 4,4 . IF AT THE END 04620000 - 00062C 4780 1056 00656 578 BZ XAWAIT . WAIT UNTIL A "FREE" OP 04630000 - 000630 18D4 579 LR 13,4 . FIND THE LOCATION 04640000 -1 Sample Operating System Version 2.00 Page 18 - Active Usings: PROGRAM,R0 XA,R1 FSB,R4 XAX,R7 SA,R14 PCB,R15 -0 Loc Object Code Addr1 Addr2 Stmt Source Statement HLASM R6.0 2016/08/29 08.42 -0000632 06D0 580 BCTR 13,0 . IN THIS BLOCK WITH THIS 04650000 - 000634 16D8 581 OR 13,8 . ALIGNMENT 04660000 - 000636 41DD 0001 00001 582 LA 13,1(13) . THAT'S IT 04670000 - 00063A 189D 583 LR 9,13 . AND NOW GET IN REG 9 04680000 - 00063C 1B94 584 SR 9,4 . WHAT IS WASTED AT THE FRONT 04690000 - 00063E 5830 4004 00004 585 L 3,FSBSIZE . GET SIZE MINUS WASTE AT 04700000 - 000642 1B39 586 SR 3,9 . FRONT, LEAVING EFFECTIVE SIZE 04710000 - 000644 1963 587 CR 6,3 . IS IT ENOUGH? 04720000 - 000646 47D0 1062 00662 588 BNP XAFOUND . EUREKA! 04730000 - 00064A 4150 4000 00000 589 LA 5,FSBNEXT . OH WELL, GET THE NEXT FREE 04740000 - 00064E 5840 4000 00000 590 L 4,FSBNEXT . STORAGE BLOCK ON THE CHAIN 04750000 - 000652 47F0 102A 0062A 591 B XALOOP . BETTER LUCK NEXT TIME 04760000 - 000656 0AE5 592 XAWAIT SVC C'V' . NEED TO WAIT 04770000 - 000658 4120 018C 0018C 593 LA 2,MEMORY . SO WE LET OTHER PEOPLE GET IN 04780000 - 00065C 0AD7 594 SVC C'P' . SO THEY'LL WAKE US UP 04790000 - 00065E 47F0 1016 00616 595 B XATOP . AND THEN WE'LL TRY AGAIN 04800000 - 000662 50D0 7004 00004 596 XAFOUND ST 13,XAXADDR . WE'VE NOW GOT THE ADDRESS 04810000 - 000666 D203 5000 4000 00000 00000 597 MVC 0(4,5),FSBNEXT . UNLINK THE BLOCK OUT 04820000 - 00066C 58C0 4004 00004 598 L 12,FSBSIZE . GET THE WHOLE BLOCK SIZE 04830000 - 000670 4120 E048 00048 599 LA 2,SATEMP . START MAKING UP ARG LISTS 04840000 - R:2 00000 600 USING XBX,2 . FOR THE XB ROUTINE 04850000 - 000674 18AD 601 LR 10,13 . THE STARTING LOCATION 04860000 - 000676 1BA4 602 SR 10,4 . MINUS THE START OF THE BLOCK 04870000 - 000678 4780 1086 00686 603 BZ XANF . IF NONE WASTED AT THE FRONT, SKIP 04880000 - 00067C 5040 2004 00004 604 ST 4,XBXADDR . ELSE FREE, STARTING THERE 04890000 - 000680 50A0 2000 00000 605 ST 10,XBXSIZE . UP TO THE BEGINNING OF THE 04900000 - 000684 0AC2 606 SVC C'B' . ALLOCATION; INSERT IT IN THE CHAIN 04910000 - 000686 18BD 607 XANF LR 11,13 . THE STARTING ADDR PLUS THE SIZE 04920000 - 000688 1AB6 608 AR 11,6 . GIVES THE FIRST UNUSED ADDR 04930000 - 00068A 1BCA 609 SR 12,10 . MINUS THE WASTE AT FRONT, 04940000 - 00068C 1BC6 610 SR 12,6 . MINUS THE PART ALLOCATED. IF 04950000 - 00068E 4780 109C 0069C 611 BZ XARETURN . NONE LEFT OVER, GOOD 04960000 - 000692 50B0 2004 00004 612 ST 11,XBXADDR . ELSE STORE ADDRESS AND 04970000 - 000696 50C0 2000 00000 613 ST 12,XBXSIZE . SIZE, AND LINK ONTO 04980000 - 00069A 0AC2 614 SVC C'B' . FREE STORAGE LIST 04990000 - 615 DROP 2 05000000 - 00069C 4120 0184 00184 616 XARETURN LA 2,FSBSEM . WE ARE DONE, SO NOW SOMEONE 05010000 - 0006A0 0AE5 617 SVC C'V' . ELSE CAN COME IN 05020000 - 0006A2 1200 618 LTR 0,0 . IS THIS FOR AUTOMATIC STORAGE? 05030000 - 0006A4 4770 10B0 006B0 619 BNZ XABACK . IF NOT, RETURN NOW 05040000 - 0006A8 5060 F044 00044 620 ST 6,PCBASIZE . OTHERWISE STORE SIZE AND 05050000 - 0006AC 50D0 F048 00048 621 ST 13,PCBAADDR . ADDRESS OF AUTOMATIC STORAGE 05060000 - 0006B0 0A6B 622 XABACK SVC C',' . LEAVE SMC SECTION 05070000 - 0006B2 8200 04D8 004D8 623 LPSW RETURN . GET BACK JOJO 05080000 - 624 DROP 4,7 05090000 -1 Sample Operating System Version 2.00 Page 19 - Active Usings: PROGRAM,R0 XA,R1 SA,R14 PCB,R15 -0 Loc Object Code Addr1 Addr2 Stmt Source Statement HLASM R6.0 2016/08/29 08.42 -0 626 *********************************************************************** 05110000 - 627 * * 05120000 - 628 * XF ROUTINE * 05130000 - 629 * * 05140000 - 630 * FUNCTION: TO FREE MEMORY * 05150000 - 631 * DATABASES: UPON ENTRY, REGISTER 2 CONTAINS ADDRESS XFX: * 05160000 - 632 * XFX DS 0D * 05170000 - 633 * XFXSIZE DS F SIZE OF BLOCK TO BE FREED * 05180000 - 634 * XFXADDR DS A ADDRESS OF FIRST BYTE OF BLOCK* 05190000 - 635 * ROUTINES USED: XEXC, XP, XV, XB, XCOM * 05200000 - 636 * PROCEDURE: LOCK FSB SEMAPHORE; SEARCH FREE STORAGE LIST TO * 05210000 - 637 * FIND IF ANY FREE BLOCK CONTIGUOUSLY FOLLOWS OR * 05220000 - 638 * PRECEDES BLOCK TO BE FREED; IF THERE IS ANY, * 05230000 - 639 * COMPACT THEM INTO A SINGLE BLOCK OF COMBINED SIZE; * 05240000 - 640 * USE XB TO CHAIN COMPACTED BLOCK ONTO FREE STORAGE * 05250000 - 641 * LIST; WAKEUP ALL PROCESSES WAITING ON MEMORY * 05260000 - 642 * SEMAPHORE; UNLOCK FSB SEMAPHORE; RETURN * 05270000 - 643 * ERROR CHECKS: NONE * 05280000 - 644 * INTERRUPTS: ON * 05290000 - 645 * USER ACCESS: NO * 05300000 - 646 * * 05310000 - 647 *********************************************************************** 05320000 -0 006B6 649 XF EQU * . THE XF ROUTINE, TO FREE STORAGE 05340000 - R:1 006B6 650 USING *,1 05350000 - ** ASMA303W Multiple address resolutions may result from this USING and the USING on statement number 131 - ** ASMA435I Record 650 in /mbhfs/sos4k.asm on volume: - 0006B6 0A5A 651 SVC C'!' . ENTER SMC SECTION 05360000 - 0006B8 1872 652 LR 7,2 05370000 - R:7 00000 653 USING XFX,7 . THE ARGUMENT LIST 05380000 - 0006BA 5830 7000 00000 654 L 3,XFXSIZE . GET THE SIZE 05390000 - 0006BE 5840 7004 00004 655 L 4,XFXADDR . AND THE ADDRESS 05400000 - 0006C2 1853 656 LR 5,3 . GET THE ADDRESS OF THE END OF THE 05410000 - 0006C4 1A54 657 AR 5,4 . BLOCK TO BE FREED 05420000 - 0006C6 4120 0184 00184 658 LA 2,FSBSEM . LOCK FSBSEM 05430000 - 0006CA 0AD7 659 SVC C'P' 05440000 - 0006CC 4180 0180 00180 660 LA 8,FSBPTR . START LOOKING DOWN THE FREE 05450000 - 0006D0 5860 0180 00180 661 L 6,FSBPTR . STORAGE LIST, FOR COMPACTION 05460000 - R:6 00000 662 USING FSB,6 05470000 - 0006D4 1266 663 XFLOOP LTR 6,6 . ARE WE THROUGH? 05480000 - 0006D6 4780 105E 00714 664 BZ XFLINK . IF SO, JUST ADD IT ON 05490000 - 0006DA 5890 6000 00000 665 L 9,FSBNEXT . IF NOT. GET THE NEXT PTR 05500000 - 0006DE 1965 666 CR 6,5 . IS THIS BLOCK RIGHT AFTER OURS? 05510000 - 0006E0 4770 103A 006F0 667 BNE XFTHEN . IF NOT, OK. BUT IF IT IS, 05520000 - 0006E4 5098 0000 00000 668 ST 9,0(8) . WE CAN COMPACT, SO UNCHAIN IT 05530000 - 0006E8 5A30 6004 00004 669 A 3,FSBSIZE . AND REMEMBER THE NEW SIZE 05540000 - 0006EC 47F0 1050 00706 670 B XFBACKUP . AND ON TO THE NEXT 05550000 - 0006F0 18A6 671 XFTHEN LR 10,6 . MAYBE IT'S RIGHT BEFORE OURS 05560000 - 0006F2 5AA0 6004 00004 672 A 10,FSBSIZE . GET ENDING ADDRESS OF FREE BLOCK 05570000 - 0006F6 19A4 673 CR 10,4 . IS IT RIGHT BEFORE OURS? 05580000 - 0006F8 4770 1052 00708 674 BNE XFINC . OH FUDGE! NO! 05590000 - 0006FC 5098 0000 00000 675 ST 9,0(8) . IF SO, UNLINK IT 05600000 - 000700 1846 676 LR 4,6 . GET THE NEW BEGINNING LOCATION 05610000 - 000702 5A30 6004 00004 677 A 3,FSBSIZE . AND NEW SIZE OF FREE BLOCK 05620000 - 000706 1868 678 XFBACKUP LR 6,8 . BACK UP ONE FSB 05630000 -1 Sample Operating System Version 2.00 Page 20 - Active Usings: PROGRAM,R0 PROGRAM+X'6B6',R1 FSB,R6 XFX,R7 SA,R14 PCB,R15 -0 Loc Object Code Addr1 Addr2 Stmt Source Statement HLASM R6.0 2016/08/29 08.42 -0000708 4180 6000 00000 679 XFINC LA 8,FSBNEXT . ON TO THE NEXT FSB 05640000 - 00070C 5860 6000 00000 680 L 6,FSBNEXT 05650000 - 000710 47F0 101E 006D4 681 B XFLOOP . TRY, TRY AGAIN 05660000 - 000714 4120 E048 00048 682 XFLINK LA 2,SATEMP . START TO CALL XB 05670000 - R:2 00000 683 USING XBX,2 05680000 - 000718 5030 2000 00000 684 ST 3,XBXSIZE . STORE SIZE 05690000 - 00071C 5040 2004 00004 685 ST 4,XBXADDR . AND ADDRESS 05700000 - 000720 0AC2 686 SVC C'B' . LINK IT ONTO THE FSB CHAIN 05710000 - R:2 00000 687 USING SM,2 05720000 - 000722 4120 018C 0018C 688 LA 2,MEMORY . GET VALUE OF MEMORY SEMAPHORE 05730000 - 000726 41B0 0001 00001 689 LA 11,1(0,0) . SUBTRACT FROM ONE, IT'S A HANDLE 05740000 - 00072A 5BB0 2000 00000 690 S 11,SMVAL . ON THE # OF PEOPLE WAITING 05750000 - 691 DROP 2 05760000 - 00072E 46B0 1088 0073E 692 XFVLOOP BCT 11,XFVDO . LOOP IF ANYONE ELSE IS WAITING 05770000 - 000732 4120 0184 00184 693 LA 2,FSBSEM . WE'RE THROUGH, SO 05780000 - 000736 0AE5 694 SVC C'V' . UNBLOCK FSBSEM 05790000 - 000738 0A6B 695 SVC C',' . LEAVE SMC 05800000 - 00073A 8200 04D8 004D8 696 LPSW RETURN . RETURN 05810000 - 00073E 0AE5 697 XFVDO SVC C'V' . WAKE SOMEONE UP 05820000 - 000740 47F0 1078 0072E 698 B XFVLOOP . TRY AGAIN FOR ANOTHER 05830000 - 699 DROP 6,7 05840000 -1 Sample Operating System Version 2.00 Page 21 - Active Usings: PROGRAM,R0 PROGRAM+X'6B6',R1 SA,R14 PCB,R15 -0 Loc Object Code Addr1 Addr2 Stmt Source Statement HLASM R6.0 2016/08/29 08.42 -0 701 *********************************************************************** 05860000 - 702 * * 05870000 - 703 * XB ROUTINE * 05880000 - 704 * * 05890000 - 705 * FUNCTION: TO CHAIN A STORAGE BLOCK ONTO FREE STORAGE LIST * 05900000 - 706 * DATABASES: UPON ENTRY, REGISTER 2 CONTAINS ADDRESS XBX: * 05910000 - 707 * XBX DS 0D * 05920000 - 708 * XBXSIZE DS F SIZE OF BLOCK * 05930000 - 709 * XBXADDR DS A ADDRESS OF FIRST BYTE OF BLOCK* 05940000 - 710 * ROUTINES USED: NONE * 05950000 - 711 * PROCEDURE: SEARCH FREE STORAGE LIST TO FIND WHERE TO INSERT * 05960000 - 712 * FREE BLOCK IN ORDER OF INCREASING SIZE; FORMAT * 05970000 - 713 * BLOCK LIKE AN FSB; INSERT; RETURN. * 05980000 - 714 * ERROR CHECKS: NONE * 05990000 - 715 * INTERRUPTS: OFF * 06000000 - 716 * USER ACCESS: NO * 06010000 - 717 * COMMENTS: SINCE XB ROUTINE ONLY CALLED BY XA AND XF, FSB * 06020000 - 718 * SEMAPHORE IS ALREADY LOCKED. * 06030000 - 719 * * 06040000 - 720 *********************************************************************** 06050000 -0 00744 722 XB EQU * 06070000 - R:1 00744 723 USING *,1 06080000 - ** ASMA303W Multiple address resolutions may result from this USING and the USING on statement number 131 - ** ASMA435I Record 723 in /mbhfs/sos4k.asm on volume: - R:2 00000 724 USING XBX,2 . ARGUMENT LIST 06090000 - 000744 5830 2000 00000 725 L 3,XBXSIZE . GET THE SIZE 06100000 - 000748 5840 2004 00004 726 L 4,XBXADDR . AND THE ADDRESS 06110000 - 00074C 4180 0180 00180 727 LA 8,FSBPTR . START LOOKING DOWN THE CHAIN 06120000 - 000750 5860 0180 00180 728 L 6,FSBPTR 06130000 - 000754 1266 729 LTR 6,6 . IF ZERO POINTER, WE ARE AT 06140000 - 000756 4780 102C 00770 730 BZ XBINSERT . END OF CHAIN ALREADY 06150000 - R:6 00000 731 USING FSB,6 06160000 - 00075A 5930 6004 00004 732 XBLOOP C 3,FSBSIZE . IF THE SIZE OF OURS IS LESS, 06170000 - 00075E 47D0 102C 00770 733 BNP XBINSERT . TIME TO INSERT 06180000 - 000762 4180 6000 00000 734 LA 8,FSBNEXT . ELSE GO ON TO THE NEXT 06190000 - 000766 5860 6000 00000 735 L 6,FSBNEXT 06200000 - 00076A 1266 736 LTR 6,6 . IF NOT ALREADY THROUGH 06210000 - 00076C 4770 1016 0075A 737 BNZ XBLOOP . BRANCH BACK 06220000 - 000770 5048 0000 00000 738 XBINSERT ST 4,0(8) . NOW, LINK OURS ON 06230000 - 739 DROP 6 06240000 - R:4 00000 740 USING FSB,4 06250000 - 000774 5060 4000 00000 741 ST 6,FSBNEXT . MAKE OURS POINT TO THE NEXT 06260000 - 000778 5030 4004 00004 742 ST 3,FSBSIZE . WITH THE RIGHT SIZE 06270000 - 00077C 8200 04D8 004D8 743 LPSW RETURN . AND RETURN 06280000 - 744 DROP 2,4 06290000 -1 Sample Operating System Version 2.00 Page 22 - Active Usings: PROGRAM,R0 PROGRAM+X'744',R1 SA,R14 PCB,R15 -0 Loc Object Code Addr1 Addr2 Stmt Source Statement HLASM R6.0 2016/08/29 08.42 -0 746 *********************************************************************** 06310000 - 747 * * 06320000 - 748 * XC ROUTINE * 06330000 - 749 * * 06340000 - 750 * FUNCTION: TO CREATE A PROCESS * 06350000 - 751 * DATABASES: UPON ENTRY, REGISTER 2 CONTAINS ADDRESS XCX: * 06360000 - 752 * XCX DS 0D * 06370000 - 753 * XCXNAME DS CL8 NAME OF PROCESS TO BE CREATED * 06380000 - 754 * ROUTINES USED: XEXC, XCOM, XN, XA, XI, XQUE * 06390000 - 755 * PROCEDURE: USE XA TO ALLOCATE NEW PCB; PLACE XCXNAME IN PCB; * 06400000 - 756 * INITIALIZE SEMAPHORES; STOP; BLOCK; OUT OF SMC; * 06410000 - 757 * CALL XI TO LINK PCB ONTO PCB CHAINS; RETURN. * 06420000 - 758 * ERROR CHECKS: IF NAME ALREADY USED IN THIS GROUP, XQUE ENTERED. * 06430000 - 759 * INTERRUPTS: ON * 06440000 - 760 * USER ACCESS: YES * 06450000 - 761 * * 06460000 - 762 *********************************************************************** 06470000 -0 00780 764 XC EQU * . THE XC ROUTINE: CREATE A PROCESS 06490000 - R:1 00780 765 USING *,1 06500000 - ** ASMA303W Multiple address resolutions may result from this USING and the USING on statement number 131 - ** ASMA435I Record 765 in /mbhfs/sos4k.asm on volume: - 000780 1872 766 LR 7,2 06510000 - R:7 00000 767 USING XCX,7 . ARGUMENT LIST 06520000 - 000782 4120 E048 00048 768 LA 2,SATEMP . READY TO MAKE CALLS OUT 06530000 - R:2 00000 769 USING XNX,2 . A XN-LIKE ARGUMENT LIST 06540000 - 000786 D207 2000 7000 00000 00000 770 MVC XNXNAME,XCXNAME . GET THE NAME 06550000 - 00078C 0AD5 771 SVC C'N' . AND CALL TO FIND THE PCB 06560000 - 00078E D503 2008 16E0 00008 00E60 772 CLC XNXADDR,=A(0) . SEE IF THERE 06570000 - 000794 4770 1044 007C4 773 BNE XCERR . IF ALREADY EXISTS, BAD 06580000 - 000798 0A5A 774 SVC C'!' . ENTER SMC SECTION 06590000 - 775 DROP 2 06600000 - R:2 00000 776 USING XAX,2 . READY TO CALL XA 06610000 - 00079A D203 2000 16E4 00000 00E64 777 MVC XAXSIZE,=A(LENPCB) . WE KNOW THE SIZE 06620000 - 0007A0 D203 2008 16E8 00008 00E68 778 MVC XAXALGN,=F'8' . AND THE ALIGNMENT 06630000 - 0007A6 0AC1 779 SVC C'A' . SO CALL 06640000 - 0007A8 5820 2004 00004 780 L 2,XAXADDR . FIND THE ADDRESS 06650000 - 781 DROP 2,15 06660000 - R:2 00000 782 USING PCB,2 . FILL IN THE PCB 06670000 - 0007AC D207 2000 7000 00000 00000 783 MVC PCBNAME,XCXNAME . GIVE IT A NAME 06680000 - 0007B2 92FF 2018 00018 784 MVI PCBSTOPT,X'FF' . IT'S STOPPED 06690000 - 0007B6 D232 2019 1B01 00019 01281 785 MVC PCBBLOKT(PCBISA-PCBBLOKT),TEMPLATE+1 INITIALIZE PCB 06700000 - 0007BC 0AC9 786 SVC C'I' . THREAD IT ON 06710000 - 0007BE 0A6B 787 SVC C',' . LEAVE SMC SECTION 06720000 - 0007C0 8200 04D8 004D8 788 LPSW RETURN . AND RETURN 06730000 - 0007C4 0A6F 789 XCERR SVC C'?' . IF ALREADY EXISTS,KERROR 06740000 - 790 DROP 2,7 06750000 -1 Sample Operating System Version 2.00 Page 23 - Active Usings: PROGRAM,R0 PROGRAM+X'780',R1 SA,R14 -0 Loc Object Code Addr1 Addr2 Stmt Source Statement HLASM R6.0 2016/08/29 08.42 -0 792 *********************************************************************** 06770000 - 793 * * 06780000 - 794 * XD ROUTINE * 06790000 - 795 * * 06800000 - 796 * FUNCTION: TO DESTROY A PROCESS * 06810000 - 797 * DATABASES: UPON ENTRY, REGISTER 2 CONTAINS ADDRESS XDX: * 06820000 - 798 * XDX DS 0D * 06830000 - 799 * XDXNAME DS CL8 NAME OF PROCESS TO BE DESTROYED* 06840000 - 800 * ROUTINES USED: XEXC, XJ, XS, XN, XF, XCOM, XQUE * 06850000 - 801 * PROCEDURE: USE XN TO FIND PCB FOR PROCESS TO BE DESTROYED; * 06860000 - 802 * USE XJ TO UNLOCK PCB FROM PROCESS CHAINS; IF ANY * 06870000 - 803 * MESSAGES FOR THIS PROCESS, FREE STORAGE FOR THEM; * 06880000 - 804 * IF THERE IS ANY AUTOMATIC STORAGE, FREE IT; * 06890000 - 805 * FREE STORAGE FOR PCB; RETURN. * 06900000 - 806 * ERROR CHECKS: IF NAME DOESN'T EXIST OR PROCESS NOT STOPPED, * 06910000 - 807 * XQUE ENTERED. * 06920000 - 808 * INTERRUPTS: ON * 06930000 - 809 * USER ACCESS: YES * 06940000 - 810 * * 06950000 - 811 *********************************************************************** 06960000 -0 007C6 813 XD EQU * . XD ROUTINE: DESTROY A PROCESS 06980000 - R:1 007C6 814 USING *,1 06990000 - ** ASMA303W Multiple address resolutions may result from this USING and the USING on statement number 131 - ** ASMA435I Record 814 in /mbhfs/sos4k.asm on volume: - 0007C6 1872 815 LR 7,2 07000000 - R:7 00000 816 USING XDX,7 . ARG LIST 07010000 - 0007C8 4120 E048 00048 817 LA 2,SATEMP . READY TO CALL OUT 07020000 - R:2 00000 818 USING XNX,2 . WILL CALL XN 07030000 - 0007CC D207 2000 7000 00000 00000 819 MVC XNXNAME,XDXNAME . GET NAME 07040000 - 0007D2 0AD5 820 SVC C'N' . AND CALL 07050000 - 0007D4 5820 2008 00008 821 L 2,XNXADDR . GET ADDRESS 07060000 - 822 DROP 2 07070000 - 0007D8 1222 823 LTR 2,2 . IF ADDRESS IS NULL, 07080000 - 0007DA 4780 107A 00840 824 BZ XDERR . IT'S AN ERROR 07090000 - R:2 00000 825 USING PCB,2 07100000 - 0007DE 95FF 2018 00018 826 CLI PCBSTOPT,X'FF' . IF NOT STOPPED 07110000 - 0007E2 4770 107A 00840 827 BNE XDERR . IT'S AN ERROR 07120000 - 0007E6 0A5A 828 SVC C'!' . ENTER SMC SECTION 07130000 - 829 DROP 2 07140000 - R:F 00000 830 USING PCB,15 07150000 - 0007E8 0AD1 831 SVC C'J' . ELSE UNTHREAD THE ENTRY 07160000 - 0007EA 1882 832 LR 8,2 . REMEMBER THE PCB POINTER 07170000 - 0007EC 4120 E048 00048 833 LA 2,SATEMP . READY TO CALL OUT AGAIN 07180000 - R:8 00000 834 USING PCB,8 07190000 - ** ASMA300W USING overridden by a prior active USING on statement number 830 - ** ASMA435I Record 834 in /mbhfs/sos4k.asm on volume: - 835 DROP 15 07200000 - 0007F0 5890 802C 0002C 836 L 9,PCBFM . GET FIRST MESSAGE 07210000 - 0007F4 1299 837 XDLOOP LTR 9,9 . ANY MORE MESSAGES? 07220000 - 0007F6 4780 1054 0081A 838 BZ XDCHECK . IF NOT, FINISH UP 07230000 - R:9 00000 839 USING MSG,9 07240000 - 0007FA 58A0 9004 00004 840 L 10,MSGNEXT . ELSE REMEMBER NEXT 07250000 - 0007FE 58B0 9008 00008 841 L 11,MSGSIZE . GET THE SIZE 07260000 - 000802 41BB 000F 0000F 842 LA 11,15(11) . AND MAKE IT SOME NUMBER 07270000 -1 Sample Operating System Version 2.00 Page 24 - Active Usings: PROGRAM,R0 PROGRAM+X'7C6',R1 XDX,R7 PCB,R8 MSG,R9 SA,R14 -0 Loc Object Code Addr1 Addr2 Stmt Source Statement HLASM R6.0 2016/08/29 08.42 -0000806 54B0 16A6 00E6C 843 N 11,=F'-8' . OF DOUBLEWORDS 07280000 - R:2 00000 844 USING XFX,2 07290000 - 00080A 5090 2004 00004 845 ST 9,XFXADDR . FREE THE LOCATION 07300000 - 00080E 50B0 2000 00000 846 ST 11,XFXSIZE . THE NUMBER OF WORDS 07310000 - 000812 0AC6 847 SVC C'F' . DO IT 07320000 - 000814 189A 848 LR 9,10 . ON TO THE NEXT 07330000 - 000816 47F0 102E 007F4 849 B XDLOOP . GET THE NEXT MESSAGE 07340000 - 00081A D503 8048 169A 00048 00E60 850 XDCHECK CLC PCBAADDR(4),=A(0) . HAS AUTOMATIC STORAGE BEEN 07350000 - 000820 4780 1068 0082E 851 BE XDTHEN . ALLOCATED? IF NOT, GO FINISH UP 07360000 - 000824 4120 8044 00044 852 LA 2,PCBASIZE . SET UP THE ARGUMENT LIST 07370000 - 000828 0AC6 853 SVC C'F' . FREE IT 07380000 - 00082A 4120 E048 00048 854 LA 2,SATEMP . RESET REGISTER 2 07390000 - 00082E 5080 2004 00004 855 XDTHEN ST 8,XFXADDR . READY TO FREE THE PCB 07400000 - 000832 D203 2000 169E 00000 00E64 856 MVC XFXSIZE,=A(LENPCB) . THE SIZE 07410000 - 000838 0AC6 857 SVC C'F' . FREE IT 07420000 - 00083A 0A6B 858 SVC C',' . LEAVE SMC 07430000 - 00083C 8200 04D8 004D8 859 LPSW RETURN . AND RETURN 07440000 - 000840 0A6F 860 XDERR SVC C'?' . IF PROCESS DOES NOT EXIST 07450000 - 861 DROP 2,7,8,9 07460000 - R:F 00000 862 USING PCB,15 07470000 -- - 864 *********************************************************************** 07490000 - 865 * * 07500000 - 866 * XH ROUTINE * 07510000 - 867 * * 07520000 - 868 * FUNCTION: TO HALT A JOB * 07530000 - 869 * DATABASES: NONE * 07540000 - 870 * ROUTINES USED: XS, XR * 07550000 - 871 * PROCEDURE: SEND MESSAGE TO SUPERVISOR PROCESS FOR THIS JOB * 07560000 - 872 * INDICATING NORMAL TERMINATION; TRIES TO READ * 07570000 - 873 * MESSAGES FOREVER LOOPING; BLOCKS ITSELF, THEREBY * 07580000 - 874 * NEVER RETURNING. * 07590000 - 875 * ERROR CHECKS: NONE * 07600000 - 876 * INTERRUPTS: ON * 07610000 - 877 * USER ACCESS: YES * 07620000 - 878 * COMMENTS: USER NORMALLY USES THIS ROUTINE TO END A JOB. * 07630000 - 879 * * 07640000 - 880 *********************************************************************** 07650000 -0 00842 882 XH EQU * . THE XH ROUTINE: HALT A JOB 07670000 - R:1 00842 883 USING *,1 07680000 - ** ASMA303W Multiple address resolutions may result from this USING and the USING on statement number 131 - ** ASMA435I Record 883 in /mbhfs/sos4k.asm on volume: - 000842 4120 1012 00854 884 LA 2,XHMSG1 . SEND A MESSAGE TO *IBSUP 07690000 - 000846 0AE2 885 SVC C'S' . SEND IT 07700000 - 000848 4120 102A 0086C 886 XHLOOP LA 2,XHMSG2 . READY TO READ A REPLY 07710000 - 00084C 0AD9 887 SVC C'R' . WHICH NEVER COMES 07720000 - 00084E 47F0 1006 00848 888 B XHLOOP . BUT IF IT DOES WERE READY 07730000 - 000854 889 DS 0F 07740000 - 000854 5CC9C2E2E4D74040 890 XHMSG1 DC CL8'*IBSUP' . SAY TO *IBSUP 07750000 - 00085C 0000000C 891 DC F'12' . TWELVE CHARACTERS 07760000 - 000860 D7D9D6C7D9C1D440 892 DC C'PROGRAM HALT' . SAYING WERE OK 07770000 - 00086C 893 XHMSG2 DS CL8 . WHO SENDS US A MESSAGE 07780000 -1 Sample Operating System Version 2.00 Page 25 - Active Usings: PROGRAM,R0 PROGRAM+X'842',R1 SA,R14 PCB,R15 -0 Loc Object Code Addr1 Addr2 Stmt Source Statement HLASM R6.0 2016/08/29 08.42 -0000874 00000001 894 DC F'1' . ONE CHARACTER 07790000 - 000878 895 DS CL1,0H . WHICH GOES HERE 07800000 -1 Sample Operating System Version 2.00 Page 26 - Active Usings: PROGRAM,R0 PROGRAM+X'842',R1 SA,R14 PCB,R15 -0 Loc Object Code Addr1 Addr2 Stmt Source Statement HLASM R6.0 2016/08/29 08.42 -0 897 *********************************************************************** 07820000 - 898 * * 07830000 - 899 * XI ROUTINE * 07840000 - 900 * * 07850000 - 901 * FUNCTION: TO CHAIN A PCB ONTO PROCESS CHAINS * 07860000 - 902 * DATABASES: UPON ENTRY, REGISTER 2 CONTAINS ADDRESS OF A PCB * 07870000 - 903 * ROUTINES USED: NONE * 07880000 - 904 * PROCEDURE: POINTER USED TO CHAIN PCB INTO ALL PCB CHAIN AND * 07890000 - 905 * THIS GROUP CHAIN RIGHT AFTER RUNNING PCB; RETURN. * 07900000 - 906 * ERROR CHECKS: NONE * 07910000 - 907 * INTERRUPTS: OFF * 07920000 - 908 * USER ACCESS: NO * 07930000 - 909 * * 07940000 - 910 *********************************************************************** 07950000 -0 0087A 912 XI EQU * . THE XI ROUTINE: THREAD IN A PCB 07970000 - R:1 0087A 913 USING *,1 07980000 - ** ASMA303W Multiple address resolutions may result from this USING and the USING on statement number 131 - ** ASMA435I Record 913 in /mbhfs/sos4k.asm on volume: - 00087A 58A0 F010 00010 914 L 10,PCBNPALL . GET THE NEXT 'ALL' PCB 07990000 - 00087E 5020 F010 00010 915 ST 2,PCBNPALL . STORE THIS PCB RIGNT AFTER MINE 08000000 - 916 DROP 15 08010000 - R:A 00000 917 USING PCB,10 08020000 - 000882 5020 A014 00014 918 ST 2,PCBLPALL . THE NEXT ONE DOWN POINTS BACK 08030000 - 919 DROP 10 08040000 - R:2 00000 920 USING PCB,2 08050000 - 000886 50F0 2014 00014 921 ST 15,PCBLPALL . THIS PCB POINTS BACK 08060000 - 00088A 50A0 2010 00010 922 ST 10,PCBNPALL . AND FORWARD 08070000 - 923 DROP 2 08080000 - R:F 00000 924 USING PCB,15 08090000 - 00088E 58A0 F008 00008 925 L 10,PCBNPTG . GET NEXT "THIS GROUP" PCB 08100000 - 000892 5020 F008 00008 926 ST 2,PCBNPTG . RUNNING PCB POINTS TO NEW MEMBER 08110000 - 927 DROP 15 . OF PROCESS GROUP 08120000 - R:A 00000 928 USING PCB,10 08130000 - 000896 5020 A00C 0000C 929 ST 2,PCBLPTG . NEXT PCB DOWN POINTS BACK 08140000 - 930 DROP 10 08150000 - R:2 00000 931 USING PCB,2 08160000 - 00089A 50F0 200C 0000C 932 ST 15,PCBLPTG . AND WE POINT BACKWARD 08170000 - 00089E 50A0 2008 00008 933 ST 10,PCBNPTG . AND FORWARD 08180000 - 934 DROP 2 08190000 - 0008A2 8200 04D8 004D8 935 LPSW RETURN . RETURN 08200000 - R:F 00000 936 USING PCB,15 08210000 -1 Sample Operating System Version 2.00 Page 27 - Active Usings: PROGRAM,R0 PROGRAM+X'87A',R1 SA,R14 PCB,R15 -0 Loc Object Code Addr1 Addr2 Stmt Source Statement HLASM R6.0 2016/08/29 08.42 -0 938 *********************************************************************** 08230000 - 939 * * 08240000 - 940 * XJ ROUTINE * 08250000 - 941 * * 08260000 - 942 * FUNCTION: TO UNCHAIN A PCB FROM PROCESS CHAINS * 08270000 - 943 * DATABASES: UPON ENTRY, REGISTER 2 CONTAINS ADDRESS OF A PCB * 08280000 - 944 * ROUTINES USED: NONE * 08290000 - 945 * PROCEDURE: POINTERS TO PCB IN ALL PCB CHAIN AND THIS GROUP * 08300000 - 946 * CHAIN MODIFIED WITHOUT FREEING STORAGE; RETURN. * 08310000 - 947 * ERROR CHECKS: NONE * 08320000 - 948 * INTERRUPTS: OFF * 08330000 - 949 * USER ACCESS: NO * 08340000 - 950 * * 08350000 - 951 *********************************************************************** 08360000 -0 008A6 953 XJ EQU * . THE XJ ROUTINE: UNTHREAD A PCB 08380000 - R:1 008A6 954 USING *,1 08390000 - ** ASMA303W Multiple address resolutions may result from this USING and the USING on statement number 131 - ** ASMA435I Record 954 in /mbhfs/sos4k.asm on volume: - 955 DROP 15 08400000 - R:2 00000 956 USING PCB,2 08410000 - 0008A6 58B0 2014 00014 957 L 11,PCBLPALL . GET PRECEDING PCB 08420000 - 0008AA 58A0 2010 00010 958 L 10,PCBNPALL . AND FOLLOWING ONE IN "ALL" 08430000 - 959 DROP 2 . CHAIN 08440000 - R:B 00000 960 USING PCB,11 08450000 - 0008AE 50A0 B010 00010 961 ST 10,PCBNPALL . LAST POINTS TO NEXT 08460000 - 962 DROP 11 08470000 - R:A 00000 963 USING PCB,10 08480000 - 0008B2 50B0 A014 00014 964 ST 11,PCBLPALL . NEXT POINTS TO LAST 08490000 - 965 DROP 10 08500000 - R:2 00000 966 USING PCB,2 08510000 - 0008B6 58B0 200C 0000C 967 L 11,PCBLPTG . REDO FOR THIS GROUP PCB CHAIN 08520000 - 0008BA 58A0 2008 00008 968 L 10,PCBNPTG 08530000 - 969 DROP 2 08540000 - R:B 00000 970 USING PCB,11 08550000 - 0008BE 50A0 B008 00008 971 ST 10,PCBNPTG . LAST POINTS TO NEXT 08560000 - 972 DROP 11 08570000 - R:A 00000 973 USING PCB,10 08580000 - 0008C2 50B0 A00C 0000C 974 ST 11,PCBLPTG . NEXT POINTS TO LAST 08590000 - 975 DROP 10 08600000 - 0008C6 8200 04D8 004D8 976 LPSW RETURN . AND RETURN 08610000 - R:F 00000 977 USING PCB,15 08620000 -1 Sample Operating System Version 2.00 Page 28 - Active Usings: PROGRAM,R0 PROGRAM+X'8A6',R1 SA,R14 PCB,R15 -0 Loc Object Code Addr1 Addr2 Stmt Source Statement HLASM R6.0 2016/08/29 08.42 -0 979 *********************************************************************** 08640000 - 980 * * 08650000 - 981 * XN ROUTINE * 08660000 - 982 * * 08670000 - 983 * FUNCTION: TO FIND THE PCB FOR A PROCESS GIVEN ITS NAME ONLY * 08680000 - 984 * DATABASES: UPON ENTRY, REGISTER 2 CONTAINS ADDRESS XNX * 08690000 - 985 * XNX DS 0D * 08700000 - 986 * XNXNAME DS CL8 NAME OF PROCESS * 08710000 - 987 * XNXADDR DS A ADDRESS OF PCB * 08720000 - 988 * ROUTINES USED: NONE * 08730000 - 989 * PROCEDURE: SEARCH THIS GROUP PCB CHAIN FOR NAME; IF FOUND, * 08740000 - 990 * STORE POINTER IN XNXADDR. IF NOT FOUND, STORE * 08750000 - 991 * ZERO IN XNXADDR; RETURN. * 08760000 - 992 * ERROR CHECKS: NONE * 08770000 - 993 * INTERRUPTS: OFF * 08780000 - 994 * USER ACCESS: YES * 08790000 - 995 * * 08800000 - 996 *********************************************************************** 08810000 -0 008CA 998 XN EQU * . THE XN ROUTINE: FIND A NAMED PCB 08830000 - R:1 008CA 999 USING *,1 08840000 - ** ASMA303W Multiple address resolutions may result from this USING and the USING on statement number 131 - ** ASMA435I Record 999 in /mbhfs/sos4k.asm on volume: - R:2 00000 1000 USING XNX,2 . THE ARG LIST 08850000 - 0008CA 18AF 1001 LR 10,15 . FIRST PCB TO LOOK AT IS OURS 08860000 - 1002 DROP 15 08870000 - R:A 00000 1003 USING PCB,10 08880000 - 0008CC 58A0 A008 00008 1004 XNXLOOP L 10,PCBNPTG . LOOK AT NEXT PCB 08890000 - 0008D0 D507 A000 2000 00000 00000 1005 CLC PCBNAME,XNXNAME . HAS IT THE RIGHT NAME? 08900000 - 0008D6 4780 101A 008E4 1006 BE XNXFOUND . IF YES, OH JOY. 08910000 - 0008DA 19AF 1007 CR 10,15 . IF NOT, ARE WE THROUGH? 08920000 - 0008DC 4770 1002 008CC 1008 BNE XNXLOOP . IF NOT, TRY THE NEXT PCB 08930000 - 0008E0 41A0 0000 00000 1009 LA 10,0 . ELSE, IT'S NOT HERE 08940000 - 0008E4 50A0 2008 00008 1010 XNXFOUND ST 10,XNXADDR . FOUND IT. SAY WHERE. 08950000 - 0008E8 8200 04D8 004D8 1011 LPSW RETURN . AND RETURN 08960000 - 1012 DROP 2,10 08970000 - R:F 00000 1013 USING PCB,15 08980000 -1 Sample Operating System Version 2.00 Page 29 - Active Usings: PROGRAM,R0 PROGRAM+X'8CA',R1 SA,R14 PCB,R15 -0 Loc Object Code Addr1 Addr2 Stmt Source Statement HLASM R6.0 2016/08/29 08.42 -0 1015 *********************************************************************** 09000000 - 1016 * * 09010000 - 1017 * XR ROUTINE * 09020000 - 1018 * * 09030000 - 1019 * FUNCTION: TO READ A MESSAGE * 09040000 - 1020 * DATABASES: UPON ENTRY, REGISTER 2 CONTAINS ADDRESS XRX * 09050000 - 1021 * XRX DS 0D * 09060000 - 1022 * XRXNAME DS CL8 NAME OF SENDER PROCESS * 09070000 - 1023 * XRXSIZE DS F SIZE OF MESSAGE TEXT * 09080000 - 1024 * XRXTEXT DS C TEXT OF MESSAGE * 09090000 - 1025 * ROUTINES USED: XP, XEXC, XN, XCOM, XF * 09100000 - 1026 * PROCEDURE: USE XP ON MESSAGE SEMAPHORE RECEIVER TO SEE IF ANY * 09110000 - 1027 * MESSAGES WAITING; IF NONE, PROCESS BLOCKED UNTIL * 09120000 - 1028 * THERE IS ONE; LOCK MESSAGE CHAIN; REMOVE A MESSAGE * 09130000 - 1029 * FROM CHAIN AND UNLOCK IT; MOVE TEXT OF MESSAGE, * 09140000 - 1030 * PADDING WITH BLANKS OR TRUNCATING AS NECESSARY; * 09150000 - 1031 * INDICATE CORRECT MESSAGE LENGTH AND NAME OF * 09160000 - 1032 * MESSAGE SENDER; FREE STORAGE USED TO HOLD MESSAGE, * 09170000 - 1033 * AND RETURN. * 09180000 - 1034 * ERROR CHECKS: NONE * 09190000 - 1035 * INTERRUPTS: ON * 09200000 - 1036 * USER ACCESS: YES * 09210000 - 1037 * * 09220000 - 1038 *********************************************************************** 09230000 -0 008EC 1040 XR EQU * . THE XR ROUTINE: READ A MESSAGE 09250000 - R:1 008EC 1041 USING *,1 09260000 - ** ASMA303W Multiple address resolutions may result from this USING and the USING on statement number 131 - ** ASMA435I Record 1041 in /mbhfs/sos4k.asm on volume: - 0008EC 1872 1042 LR 7,2 09270000 - R:7 00000 1043 USING XRX,7 . ARG LIST 09280000 - 0008EE 4120 F024 00024 1044 LA 2,PCBMSR . SEE IF MESSAGES WAITING 09290000 - 0008F2 0AD7 1045 SVC C'P' 09300000 - 0008F4 0A5A 1046 SVC C'!' . ENTER SMC SECTION 09310000 - 0008F6 4120 F01C 0001C 1047 LA 2,PCBMSC . THEN LOCK THE MESSAGE CHAIN 09320000 - 0008FA 0AD7 1048 SVC C'P' 09330000 - 0008FC 5850 F02C 0002C 1049 L 5,PCBFM . GET THE FIRST MESSAGE 09340000 - R:5 00000 1050 USING MSG,5 09350000 - 000900 D203 F02C 5004 0002C 00004 1051 MVC PCBFM,MSGNEXT . REMEMBER THE NEXT 09360000 - 000906 0AE5 1052 SVC C'V' . UNLOCK THE MESSAGE CHAIN 09370000 - 000908 5860 7008 00008 1053 L 6,XRXSIZE . GET THE BUFFER CAPACITY 09380000 - 00090C 5B60 1584 00E70 1054 S 6,=F'2' . MINUS 1, MINUS 1 09390000 - 000910 9240 700C 0000C 1055 MVI XRXTEXT,C' ' . MOVE IN A BLANK 09400000 - 000914 4740 1030 0091C 1056 BM XRNOB 09410000 - 000918 4460 1080 0096C 1057 EX 6,XRFILL . THEN FILL THE REST WITH BLANKS 09420000 - 00091C 4166 0001 00001 1058 XRNOB LA 6,1(6) . THEN GET PROPER BUFFER COUNT 09430000 - 000920 5960 5008 00008 1059 C 6,MSGSIZE . COMPARE WITH MESSAGE LENGTH 09440000 - 000924 4740 1042 0092E 1060 BL XRTHEN . IF LESS, HANDLE ACCORDINGLY 09450000 - 000928 5860 5008 00008 1061 L 6,MSGSIZE . ELSE COUNT FOR MVC IS MESSAGE 09460000 - 00092C 0660 1062 BCTR 6,0 . SIZE MINUS ONE 09470000 - 00092E 1266 1063 XRTHEN LTR 6,6 . ANY CHARACTERS TO MOVE? 09480000 - 000930 4740 104C 00938 1064 BM XRAFT . IF NOT, DON'T 09490000 - 000934 4460 1086 00972 1065 EX 6,XRMOVE . ELSE MOVE THEM 09500000 - 000938 4166 0001 00001 1066 XRAFT LA 6,1(6) . THEN GET LENGTH 09510000 - 00093C 5060 7008 00008 1067 ST 6,XRXSIZE . STORE IT 09520000 -1 Sample Operating System Version 2.00 Page 30 - Active Usings: PROGRAM,R0 PROGRAM+X'8EC',R1 MSG,R5 XRX,R7 SA,R14 PCB,R15 -0 Loc Object Code Addr1 Addr2 Stmt Source Statement HLASM R6.0 2016/08/29 08.42 -0000940 58A0 5000 00000 1068 L 10,MSGSENDR . GET SENDER'S PCB 09530000 - 1069 DROP 15 09540000 - R:A 00000 1070 USING PCB,10 09550000 - 000944 D207 7000 A000 00000 00000 1071 MVC XRXNAME,PCBNAME . AND STORE SENDER'S NAME 09560000 - 00094A 5860 5008 00008 1072 L 6,MSGSIZE . GET SIZE OF MESSAGE TEXT 09570000 - 00094E 4166 000C 0000C 1073 LA 6,LENMSG(6) . ADD SIZE OF MESSAGE BLOCK 09580000 - 000952 4166 0007 00007 1074 LA 6,7(6) . AND TRUNCATE 09590000 - 000956 5460 1580 00E6C 1075 N 6,=F'-8' . UP 09600000 - 00095A 1825 1076 LR 2,5 . SET UP POINTER TO XFX 09610000 - R:2 00000 1077 USING XFX,2 09620000 - 00095C 5050 2004 00004 1078 ST 5,XFXADDR . STORE ADDRESS 09630000 - 000960 5060 2000 00000 1079 ST 6,XFXSIZE . STORE SIZE 09640000 - 000964 0AC6 1080 SVC C'F' . AND FREE THE MESSAGE BLOCK 09650000 - 000966 0A6B 1081 SVC C',' . LEAVE SMC 09660000 - 000968 8200 04D8 004D8 1082 LPSW RETURN . AND RETURN 09670000 - 00096C D200 700D 700C 0000D 0000C 1083 XRFILL MVC XRXTEXT+1,XRXTEXT . FILL WITH BLANKS 09680000 - 000972 D200 700C 500C 0000C 0000C 1084 XRMOVE MVC XRXTEXT,MSGTEXT . MOVE TEXT 09690000 - 1085 DROP 2,5,7,10 09700000 - R:F 00000 1086 USING PCB,15 09710000 -- - 1088 *********************************************************************** 09730000 - 1089 * * 09740000 - 1090 * XS ROUTINE * 09750000 - 1091 * * 09760000 - 1092 * FUNCTION: TO SEND A MESSAGE * 09770000 - 1093 * DATABASES: UPON ENTRY, REGISTER 2 CONTAINS ADDRESS XSX * 09780000 - 1094 * XSX DS 0D * 09790000 - 1095 * XSXNAME DS CL8 NAME OF TARGET PROCESS * 09800000 - 1096 * XSXSIZE DS F SIZE OF TEXT * 09810000 - 1097 * XSXTEXT DS C TEXT OF MESSAGE * 09820000 - 1098 * ROUTINES USED: XP, XV, XEXC, XCOM, XA, XQUE * 09830000 - 1099 * PROCEDURE: USE XN TO GET POINTER TO PCB OF TARGET PROCESS; * 09840000 - 1100 * USE LENGTH OF MESSAGE AND XA TO ALLOCATE BLOCK FOR * 09850000 - 1101 * MESSAGE; LOCK MESSAGE CHAIN OF TARGET PROCESS; * 09860000 - 1102 * PUT MESSAGE BLOCK AT END OF CHAIN; STORE SENDER * 09870000 - 1103 * NAME, SIZE, AND TEXT OF MESSAGE; UNLOCK CHAIN; * 09880000 - 1104 * INDICATE MESSAGE CHAIN IS ONE LONGER; RETURN. * 09890000 - 1105 * ERROR CHECKS: IF NO PROCESS BY GIVEN NAME, ENTER XQUE. * 09900000 - 1106 * INTERRUPTS: ON * 09910000 - 1107 * USER ACCESS: YES * 09920000 - 1108 * * 09930000 - 1109 *********************************************************************** 09940000 -0 00978 1111 XS EQU * . THE XS ROUTINE: SEND MESSAGES 09960000 - R:1 00978 1112 USING *,1 09970000 - ** ASMA303W Multiple address resolutions may result from this USING and the USING on statement number 131 - ** ASMA435I Record 1112 in /mbhfs/sos4k.asm on volume: - 000978 1872 1113 LR 7,2 09980000 - R:7 00000 1114 USING XSX,7 . ARG LIST 09990000 - 00097A 4120 E048 00048 1115 LA 2,SATEMP . READY TO CALL OUT 10000000 - R:2 00000 1116 USING XNX,2 . ABOUT TO CALL XN 10010000 - 00097E D207 2000 7000 00000 00000 1117 MVC XNXNAME,XSXNAME . GIVE NAME OF TARGET PROCESS 10020000 - 000984 0AD5 1118 SVC C'N' . SEE WHERE IT IS 10030000 -1 Sample Operating System Version 2.00 Page 31 - Active Usings: PROGRAM,R0 PROGRAM+X'978',R1 XNX,R2 XSX,R7 SA,R14 PCB,R15 -0 Loc Object Code Addr1 Addr2 Stmt Source Statement HLASM R6.0 2016/08/29 08.42 -0000986 5840 2008 00008 1119 L 4,XNXADDR . GET THE POINTER 10040000 - 00098A 1244 1120 LTR 4,4 . IS THERE INDEED ONE? 10050000 - 00098C 4780 108A 00A02 1121 BZ XSERR . IF NOT, ERROR 10060000 - R:4 00000 1122 USING PCB,4 10070000 - ** ASMA300W USING overridden by a prior active USING on statement number 1086 - ** ASMA435I Record 1122 in /mbhfs/sos4k.asm on volume: - 1123 DROP 2,15 10080000 - R:2 00000 1124 USING XAX,2 . READY TO CALL XA 10090000 - 000990 0A5A 1125 SVC C'!' . ENTERING SMC SECTION 10100000 - 000992 5830 7008 00008 1126 L 3,XSXSIZE . GET THE STATED SIZE 10110000 - 000996 4133 000C 0000C 1127 LA 3,LENMSG(3) . PLUS THE AMOUNT OF OVERHEAD 10120000 - 00099A 4133 0007 00007 1128 LA 3,7(3) . AND TRUNCATE 10130000 - 00099E 5430 14F4 00E6C 1129 N 3,=F'-8' . UP 10140000 - 0009A2 5030 2000 00000 1130 ST 3,XAXSIZE . THAT'S THE SIZE OF THE REGION TO 10150000 - 0009A6 D203 2008 14F0 00008 00E68 1131 MVC XAXALGN,=F'8' . ALLOCATE, ON A DOUBLEWORD BOUND 10160000 - 0009AC 0AC1 1132 SVC C'A' . SO ALLOCATE ALREADY 10170000 - 0009AE 5850 2004 00004 1133 L 5,XAXADDR . GET THE ADDRESS 10180000 - 1134 DROP 2 10190000 - 0009B2 4120 401C 0001C 1135 LA 2,PCBMSC . GET THE MESSAGE CHAIN SEMAPHORE 10200000 - 0009B6 0AD7 1136 SVC C'P' . AND LOCK IT 10210000 - 0009B8 4180 402C 0002C 1137 LA 8,PCBFM . THEN START DOWN THE MESSAGE 10220000 - 0009BC 5890 402C 0002C 1138 L 9,PCBFM . CHAIN 10230000 - R:9 00000 1139 USING MSG,9 10240000 - 0009C0 1299 1140 XSLOOP LTR 9,9 . ARE WE THROUGH? 10250000 - 0009C2 4780 105A 009D2 1141 BZ XSADD . IF SO ADD IT ON 10260000 - 0009C6 4180 9004 00004 1142 LA 8,MSGNEXT . IF NOT, ON TO THE NEXT 10270000 - 0009CA 5890 9004 00004 1143 L 9,MSGNEXT 10280000 - 0009CE 47F0 1048 009C0 1144 B XSLOOP . AND TRY AGAIN 10290000 - 0009D2 5058 0000 00000 1145 XSADD ST 5,0(8) . CHAIN OURS ON THE END 10300000 - 1146 DROP 9 10310000 - R:5 00000 1147 USING MSG,5 10320000 - 0009D6 D203 5004 14E8 00004 00E60 1148 MVC MSGNEXT,=A(0) . SET NEXT POINTER NULL 10330000 - 0009DC 50F0 5000 00000 1149 ST 15,MSGSENDR . STORE THE SENDER 10340000 - 0009E0 5860 7008 00008 1150 L 6,XSXSIZE . GET THE TEXT LENGTH 10350000 - 0009E4 5060 5008 00008 1151 ST 6,MSGSIZE . AND STORE IT 10360000 - 0009E8 0660 1152 BCTR 6,0 . ONE LESS 10370000 - 0009EA 1266 1153 LTR 6,6 . TEST LENGTH 10380000 - 0009EC 4740 107C 009F4 1154 BM XSAFT . IF ZERO, NOTHING TO MOVE 10390000 - 0009F0 4460 108C 00A04 1155 EX 6,XSMOVE . ELSE, MOVE IT 10400000 - 0009F4 0AE5 1156 XSAFT SVC C'V' . UNLOCK THE MESSAGE CHAIN 10410000 - 0009F6 4120 4024 00024 1157 LA 2,PCBMSR . THEN SAY THERE'S 10420000 - 0009FA 0AE5 1158 SVC C'V' . ONE MORE MESSAGE 10430000 - 0009FC 0A6B 1159 SVC C',' . LEAVE SMC SECTION 10440000 - 0009FE 8200 04D8 004D8 1160 LPSW RETURN . AND RETURN 10450000 - 000A02 0A6F 1161 XSERR SVC C'?' 10460000 - 000A04 D200 500C 700C 0000C 0000C 1162 XSMOVE MVC MSGTEXT,XSXTEXT . THE MOVE FOR THE TEXT 10470000 - 1163 DROP 4,5,7 10480000 - R:F 00000 1164 USING PCB,15 10490000 -1 Sample Operating System Version 2.00 Page 32 - Active Usings: PROGRAM,R0 PROGRAM+X'978',R1 SA,R14 PCB,R15 -0 Loc Object Code Addr1 Addr2 Stmt Source Statement HLASM R6.0 2016/08/29 08.42 -0 1166 *********************************************************************** 10510000 - 1167 * * 10520000 - 1168 * XY ROUTINE * 10530000 - 1169 * * 10540000 - 1170 * FUNCTION: TO START A PROCESS * 10550000 - 1171 * DATABASES: UPON ENTRY, REGISTER 2 CONTAINS ADDRESS XYX * 10560000 - 1172 * XYX DS 0D * 10570000 - 1173 * XYXNAME DS CL8 NAME OF PROCESS TO BE STARTED * 10580000 - 1174 * XYXADDR DS A STARTING ADDRESS OF PROCESS * 10590000 - 1175 * ROUTINES USED: XN, XEXC, XCOM, XQUE * 10600000 - 1176 * PROCEDURE: USE XN TO GET POINTER TO THE PCB OF PROCESS TO BE * 10610000 - 1177 * STARTED; STORE IN PCB INTERRUPT SAVE AREA REGISTERS* 10620000 - 1178 * AND PSW WITH STARTING ADDRESS AS SENT FROM STARTING* 10630000 - 1179 * PROCESS; STOPPED BIT TURNED OFF; RETURN. * 10640000 - 1180 * ERROR CHECKS: IF NO PROCESS BY GIVEN NAME, XQUE ENTERED. * 10650000 - 1181 * INTERRUPTS: OFF * 10660000 - 1182 * USER ACCESS: YES * 10670000 - 1183 * * 10680000 - 1184 *********************************************************************** 10690000 -0 00A0A 1186 XY EQU * . THE XY ROUTINE: START A PROCESS 10710000 - R:1 00A0A 1187 USING *,1 10720000 - ** ASMA303W Multiple address resolutions may result from this USING and the USING on statement number 131 - ** ASMA435I Record 1187 in /mbhfs/sos4k.asm on volume: - 000A0A 1872 1188 LR 7,2 10730000 - R:7 00000 1189 USING XYX,7 . THE ARG LIST 10740000 - 000A0C 4120 E048 00048 1190 LA 2,SATEMP . READY TO CALL OUT 10750000 - R:2 00000 1191 USING XNX,2 10760000 - 000A10 D207 2000 7000 00000 00000 1192 MVC XNXNAME,XYXNAME . GIVE XN A NAME 10770000 - 000A16 0AD5 1193 SVC C'N' . CALL XN 10780000 - 000A18 58A0 2008 00008 1194 L 10,XNXADDR . WHERE IS THE PCB? 10790000 - 000A1C 12AA 1195 LTR 10,10 . OR IS THERE ONE? 10800000 - 000A1E 4780 1036 00A40 1196 BZ XYERR . IF NOT, OH HISS BOO 10810000 - 1197 DROP 2,14,15 10820000 - R:A 00000 1198 USING PCB,10 10830000 - 000A22 41D0 A04C 0004C 1199 LA 13,PCBISA . GET INTO THAT PCB'S ISA 10840000 - R:D 00000 1200 USING SA,13 10850000 - 000A26 D207 D000 E000 00000 00000 1201 MVC SAPSW,(SAPSW-SA)(14) . GIVE IT THE CALLER'S PSW 10860000 - 000A2C D202 D005 7009 00005 00009 1202 MVC SAPSW+5(3),XYXADDR+1 . BUT AT THE REQUESTED ADDRESS 10870000 - 000A32 D23F D008 E008 00008 00008 1203 MVC SAREGS,(SAREGS-SA)(14) .GIVE IT HIS REGISTERS 10880000 - 000A38 9200 A018 00018 1204 MVI PCBSTOPT,X'00' . IT'S NO LONGER STOPPED 10890000 - 000A3C 8200 04D8 004D8 1205 LPSW RETURN . AND RETURN 10900000 - 000A40 0A6F 1206 XYERR SVC C'?' . WE DONE BAD 10910000 - 1207 DROP 7,10,13 10920000 - R:E 00000 1208 USING SA,14 10930000 - R:F 00000 1209 USING PCB,15 10940000 -1 Sample Operating System Version 2.00 Page 33 - Active Usings: PROGRAM,R0 PROGRAM+X'A0A',R1 SA,R14 PCB,R15 -0 Loc Object Code Addr1 Addr2 Stmt Source Statement HLASM R6.0 2016/08/29 08.42 -0 1211 *********************************************************************** 10960000 - 1212 * * 10970000 - 1213 * XZ ROUTINE * 10980000 - 1214 * * 10990000 - 1215 * FUNCTION: TO STOP A PROCESS * 11000000 - 1216 * DATABASES: UPON ENTRY, REGISTER 2 CONTAINS ADDRESS XZX * 11010000 - 1217 * XZX DS 0D * 11020000 - 1218 * XZXNAME DS CL8 NAME OF PROCESS TO BE STOPPED * 11030000 - 1219 * ROUTINES USED: XN, XEXC, XCOM, XQUE, XP * 11040000 - 1220 * PROCEDURE: CHECK THAT USER PROCESS CAN'T STOP SYSTEM * 11050000 - 1221 * PROCESS; USE XN TO GET PCB POINTER; IF IN SMC, SET * 11060000 - 1222 * STOP WAITING BIT AND BLOCK SELF UNTIL STOP * 11070000 - 1223 * PERFORMED; ELSE SET STOPPED BIT, AND RETURN. * 11080000 - 1224 * ERROR CHECKS: IF NO PROCESS BY GIVEN NAME OR USER TRIES TO * 11090000 - 1225 * STOP A SYSTEM PROCESS, XQUE ENTERED. * 11100000 - 1226 * INTERRUPTS: ON * 11110000 - 1227 * USER ACCESS: YES * 11120000 - 1228 * * 11130000 - 1229 *********************************************************************** 11140000 -0 00A42 1231 XZ EQU * . THE XZ ROUTINE: STOP A PROCESS 11160000 - R:1 00A42 1232 USING *,1 11170000 - ** ASMA303W Multiple address resolutions may result from this USING and the USING on statement number 131 - ** ASMA435I Record 1232 in /mbhfs/sos4k.asm on volume: - 000A42 1872 1233 LR 7,2 11180000 - R:7 00000 1234 USING XZX,7 . ARG LIST 11190000 - 000A44 955C F000 00000 1235 CLI PCBNAME,C'*' . IS STOPPER A * PROCESS 11200000 - 000A48 4780 1012 00A54 1236 BE XZFINE . THAT'S OK 11210000 - 000A4C 955C 7000 00000 1237 CLI XZXNAME,C'*' . IF NOT, IS STOPPEE A * ? 11220000 - 000A50 4780 104A 00A8C 1238 BE XZERR . CAN'T DO THAT 11230000 - 000A54 4120 E048 00048 1239 XZFINE LA 2,SATEMP . READY TO CALL OUT 11240000 - R:2 00000 1240 USING XNX,2 . WILL CALL XN 11250000 - 000A58 D207 2000 7000 00000 00000 1241 MVC XNXNAME,XZXNAME . GIVE IT THE NAME 11260000 - 000A5E 0AD5 1242 SVC C'N' . AND DO THE CALL 11270000 - 000A60 58A0 2008 00008 1243 L 10,XNXADDR . GET THE PCB'S ADDRESS 11280000 - 000A64 12AA 1244 LTR 10,10 . SEE IF NULL 11290000 - 000A66 4780 104A 00A8C 1245 BZ XZERR . IF SO, ERROR 11300000 - 000A6A 0A5A 1246 SVC C'!' . ENTER SMC 11310000 - 1247 DROP 2,15 11320000 - R:A 00000 1248 USING PCB,10 11330000 - 000A6C 9500 A01A 0001A 1249 XZSTOP CLI PCBINSMC,X'00' . SEE IF IN SMC 11340000 - 000A70 4770 103C 00A7E 1250 BNE XZINSMC . IF SO, BAD 11350000 - 000A74 92FF A018 00018 1251 MVI PCBSTOPT,X'FF' . ELSE JUST STOP IT 11360000 - 000A78 0A6B 1252 SVC C',' . LEAVE SMC 11370000 - 000A7A 8200 04D8 004D8 1253 LPSW RETURN . AND RETURN 11380000 - 000A7E 92FF A01B 0001B 1254 XZINSMC MVI PCBSW,X'FF' . IF IN SMC, SAY STOP WAITING 11390000 - 000A82 4120 A034 00034 1255 LA 2,PCBSRS . AND STOP OURSELVES AGAINST 11400000 - 000A86 0AD7 1256 SVC C'P' . A SEMAPHORE 11410000 - 000A88 47F0 102A 00A6C 1257 B XZSTOP . THEN WE CAN REALLY STOP IT 11420000 - 000A8C 0A6F 1258 XZERR SVC C'?' . AN ERROR 11430000 - 1259 DROP 10,7 11440000 - R:F 00000 1260 USING PCB,15 11450000 -1 Sample Operating System Version 2.00 Page 34 - Active Usings: PROGRAM,R0 PROGRAM+X'A42',R1 SA,R14 PCB,R15 -0 Loc Object Code Addr1 Addr2 Stmt Source Statement HLASM R6.0 2016/08/29 08.42 -0 1262 *********************************************************************** 11470000 - 1263 * * 11480000 - 1264 * XQUE ROUTINE * 11490000 - 1265 * * 11500000 - 1266 * FUNCTION: TO SIGNAL ERROR CONDITION * 11510000 - 1267 * DATABASES: NONE * 11520000 - 1268 * ROUTINES USED: XR, XS * 11530000 - 1269 * PROCEDURE: SEND MESSAGE TO SUPERVISOR PROCESS FOR THIS JOB * 11540000 - 1270 * INDICATING ABNORMAL TERMINATION; TRY TO READ * 11550000 - 1271 * MESSAGES, FOREVER LOOPING; BLOCK ITSELF, THEREBY * 11560000 - 1272 * NEVER RETURNING. * 11570000 - 1273 * ERROR CHECKS: NONE * 11580000 - 1274 * INTERRUPTS: OFF * 11590000 - 1275 * USER ACCESS: YES * 11600000 - 1276 * * 11610000 - 1277 *********************************************************************** 11620000 -0 00A8E 1279 XQUE EQU * . THE XQUE ROUTINE: ERROR! 11640000 - R:1 00A8E 1280 USING *,1 11650000 - ** ASMA303W Multiple address resolutions may result from this USING and the USING on statement number 131 - ** ASMA435I Record 1280 in /mbhfs/sos4k.asm on volume: - 000A8E 4120 1012 00AA0 1281 LA 2,XQUEM1 . SEND AN ERROR MESSAGE TO *IBSUP 11660000 - 000A92 0AE2 1282 SVC C'S' 11670000 - 000A94 4120 102A 00AB8 1283 XQUELOOP LA 2,XQUEM2 . WAIT FOR REPLY 11680000 - 000A98 0AD9 1284 SVC C'R' 11690000 - 000A9A 47F0 1006 00A94 1285 B XQUELOOP . BUT IGNORE IT 11700000 - 000AA0 1286 DS 0F 11710000 - 000AA0 5CC9C2E2E4D74040 1287 XQUEM1 DC CL8'*IBSUP' 11720000 - 000AA8 0000000C 1288 DC F'12' 11730000 - 000AAC D7D9D6C7D9C1D440 1289 DC CL12'PROGRAM FLOP' 11740000 - 000AB8 1290 XQUEM2 DS CL8 11750000 - 000AC0 00000001 1291 DC F'1' 11760000 - 000AC4 1292 DS CL1,0H 11770000 - 1293 DROP 14,15 11780000 -1 Sample Operating System Version 2.00 Page 35 - Active Usings: PROGRAM,R0 PROGRAM+X'A8E',R1 -0 Loc Object Code Addr1 Addr2 Stmt Source Statement HLASM R6.0 2016/08/29 08.42 -0 1295 *********************************************************************** 11800000 - 1296 * * 11810000 - 1297 * INPUT/OUTPUT ROUTINES * 11820000 - 1298 * * 11830000 - 1299 *********************************************************************** 11840000 -0 1301 *********************************************************************** 11860000 - 1302 * * 11870000 - 1303 * SYSTEM SUPPLIED DEVICE HANDLER FOR READERS * 11880000 - 1304 * * 11890000 - 1305 *********************************************************************** 11900000 -0 00AC6 1307 RDRHANDL EQU * . THE READER HANDLER 11920000 - R:3 00000 1308 USING UCB,3 . STARTED WITH REG3 -> UCB 11930000 - 000AC6 0510 1309 BALR 1,0 11940000 - R:1 00AC8 1310 USING *,1 . ESTABLISH ADDRESSING 11950000 - ** ASMA303W Multiple address resolutions may result from this USING and the USING on statement number 131 - ** ASMA435I Record 1310 in /mbhfs/sos4k.asm on volume: - 000AC8 4120 1160 00C28 1311 LA 2,RDRHSEM . LOCK OURSELVES UNTIL WE SET UP 11960000 - 000ACC 0AD7 1312 SVC C'P' . AN AUTOMATIC STORAGE AREA 11970000 - 000ACE 4120 1174 00C3C 1313 LA 2,RDRHAAS . READY TO ALLOCATE 11980000 - R:2 00000 1314 USING XAX,2 11990000 - 000AD2 0AC5 1315 SVC C'E' . ALLOCATE 12000000 - 000AD4 58C0 2004 00004 1316 L 12,XAXADDR . GET A PTR 12010000 - 1317 DROP 2 12020000 - 000AD8 4120 1160 00C28 1318 LA 2,RDRHSEM . AND UNBLOCK OURSELVES 12030000 - 000ADC 0AE5 1319 SVC C'V' 12040000 - 000ADE 8840 0010 00010 1320 SRL 4,16 . SHIFT KEY 12050000 - 000AE2 1BAA 1321 SR 10,10 . CLEAR REG 10 12060000 - R:C 00000 1322 USING RDRHAS,12 . AUTOMATIC AREA 12070000 - 000AE4 9200 C07A 0007A 1323 MVI JOBBIT,X'00' . INITIALIZE 12080000 - 000AE8 4160 C000 00000 1324 LA 6,RDRHCCB . GET PTR TO CCB 12090000 - 000AEC 4120 C008 00008 1325 RDRHLOOP LA 2,RDRHMSG . TRY TO READ A MESSAGE 12100000 - R:2 00000 1326 USING XRX,2 12110000 - 000AF0 D203 2008 13A0 00008 00E68 1327 MVC XRXSIZE,=F'8' . WE CAN TAKE 8 CHARS 12120000 - 000AF6 0AD9 1328 SVC C'R' . READ IT 12130000 - 000AF8 D503 13AC 200C 00E74 0000C 1329 CLC =C'READ',XRXTEXT . IF FIRST WORD IS READ, OK 12140000 - 000AFE 4770 1024 00AEC 1330 BNE RDRHLOOP . ELSE IGNORE 12150000 - 000B02 5850 2010 00010 1331 L 5,XRXTEXT+4 . GET 2ND WORD OF TEXT 12160000 - 1332 DROP 2 12170000 - 000B06 4120 3004 00004 1333 LA 2,UCBUS . LOCK THE UCB AND IT'S UNIT 12180000 - 000B0A 0AD7 1334 SVC C'P' 12190000 - 000B0C 4120 C008 00008 1335 LA 2,RDRHMSG . RESET ADDRESSING POINTER 12200000 - R:2 00000 1336 USING XRX,2 12210000 - 000B10 95FF C07A 0007A 1337 CLI JOBBIT,X'FF' . HAVE WE JUST READ $JOB CARD? 12220000 - 000B14 4770 1066 00B2E 1338 BNE RDRHMORE . IF NO, GO CHECK PROTECTION, ELSE 12230000 - 000B18 955C 2000 00000 1339 CLI XRXNAME,C'*' . IS JSP CALLING US? 12240000 - 000B1C 4770 10F8 00BC0 1340 BNE RDRHNO . IF NOT, TELL HIM NO. 12250000 - 000B20 D24F 5000 C01C 00000 0001C 1341 MVC 0(80,5),RDRHTEMP . IF IT IS, GIVE JSP THE $JOB CARD 12260000 - 000B26 9200 C07A 0007A 1342 MVI JOBBIT,X'00' . SAY WE DON'T HAVE $JOB WAITING 12270000 - 000B2A 47F0 1114 00BDC 1343 B RDRHSOK . AND SEND MESSAGE BACK 12280000 - 1344 DROP 2 12290000 - 000B2E 955C C008 00008 1345 RDRHMORE CLI RDRHMSG,C'*' . IS SYSTEM CALLING? 12300000 - 000B32 4780 1098 00B60 1346 BE RDRHPOK . THEN PROTECTION OK, ELSE 12310000 - 000B36 18B5 1347 LR 11,5 . GET ADDRESS THAT'S TO HOLD CARD, 12320000 -1 Sample Operating System Version 2.00 Page 36 - Active Usings: PROGRAM,R0 PROGRAM+X'AC8',R1 UCB,R3 RDRHAS,R12 -0 Loc Object Code Addr1 Addr2 Stmt Source Statement HLASM R6.0 2016/08/29 08.42 -0000B38 54B0 116C 00C34 1348 N 11,PROTCON1 . get the page boundary 12330002 - 1349 * ISKE 10,11 . find storage key 12334002 - 000B3C B22900AB 1350 DC X'B22900AB' Assembler (XF) doesn't support ISKE 12338002 - 000B40 54A0 1170 00C38 1351 N 10,PROTCON2 . ignore low order bits 12342002 - 000B44 19A4 1352 CR 10,4 . DOES IT MATCH OURS? 12350000 - 000B46 4770 10F8 00BC0 1353 BNE RDRHNO . IF NOT, TELL HIM NO 12360000 - 000B4A 41B5 004F 0004F 1354 LA 11,79(5) . CHECK LAST BYTE ADDR OF CARD 12370000 - 000B4E 54B0 116C 00C34 1355 N 11,PROTCON1 . get the page boundary 12380002 - 1356 * ISKE 10,11 . find storage key 12384002 - 000B52 B22900AB 1357 DC X'B22900AB' Assembler (XF) doesn't support ISKE 12388002 - 000B56 54A0 1170 00C38 1358 N 10,PROTCON2 . ignore low order bits 12392002 - 000B5A 19A4 1359 CR 10,4 . DOES IT MATCH OURS? 12400000 - 000B5C 4770 10F8 00BC0 1360 BNE RDRHNO . IF NOT, TELL HIM NO 12410000 - 000B60 5450 1168 00C30 1361 RDRHPOK N 5,CCBCON1 . MAKE ADDRESS INTO 12420000 - 000B64 5050 C000 00000 1362 ST 5,RDRHCCB . A CCW (OR CCB) 12430000 - 000B68 9602 C000 00000 1363 OI RDRHCCB,X'02' 12440000 - 000B6C D203 C004 13B0 00004 00E78 1364 MVC RDRHCCB+4,=F'80' . WE'LL READ EIGHTY CHARACTERS 12450000 - 000B72 D203 3014 1398 00014 00E60 1365 MVC UCBCSW(4),=A(0) . CLEAR THE LAST CSW THERE 12460000 - 000B78 D203 3018 1398 00018 00E60 1366 MVC UCBCSW+4(4),=A(0) 12470000 - 000B7E 4120 0194 00194 1367 LA 2,CAWSEM . LOCK THE CAW 12480000 - 000B82 0AD7 1368 SVC C'P' 12490000 - 000B84 5060 0048 00048 1369 ST 6,CAW . THAT'S THE CAW 12500000 - 000B88 5870 3000 00000 1370 L 7,UCBADDR . GET THE UNIT ADDRESS 12510000 - 000B8C 9C00 7000 00000 1371 SIO 0(7) . START THE I/O 12520000 - 000B90 4770 1154 00C1C 1372 BNZ RDSTATUS . BRANCH IF SIO UNSUCCESSFUL 12530000 - 000B94 0AE5 1373 SVC C'V' . THEN UNLOCK THE CAW 12540000 - 000B96 4120 300C 0000C 1374 RDRHWAIT LA 2,UCBWS . NOW WAIT FOR AN INTERRUPT 12550000 - 000B9A 0AD7 1375 SVC C'P' 12560000 - 000B9C 9185 3018 00018 1376 TM UCBCSW+4,X'85' . CHECK THE STATUS 12570003 - 000BA0 4780 10CE 00B96 1377 BZ RDRHWAIT . IF NOT FINISHED, WAIT 12580000 - 000BA4 9101 3018 00018 1378 TM UCBCSW+4,X'01' . CHECK FOR EXCEPTION 12590000 - 000BA8 4710 10F0 00BB8 1379 BO RDRHEXC . if yes, ignore this interrupt 12600003 - 000BAC 9180 3018 00018 1380 TM UCBCSW+4,X'80' . if no, check for attention 12602003 - 000BB0 4710 1098 00B60 1381 BO RDRHPOK . if yes, try to restart the I/O 12604003 - 000BB4 47F0 1102 00BCA 1382 B RDRHOK . else, all is groovy 12606003 - 000BB8 94FE 3018 00018 1383 RDRHEXC NI UCBCSW+4,X'FE' . clear exception .. 12608003 - 000BBC 47F0 10CE 00B96 1384 B RDRHWAIT . .. and continue waiting 12610003 - 000BC0 D201 C078 13CC 00078 00E94 1385 RDRHNO MVC RDRHM+12(2),=C'NO' . message back is no 12612003 - 000BC6 47F0 111A 00BE2 1386 B RDRHSEND . GET READY TO SEND 12620000 - 000BCA 955C C008 00008 1387 RDRHOK CLI RDRHMSG,C'*' . IS THE SYSTEM CALLING? 12630000 - 000BCE 4780 1114 00BDC 1388 BE RDRHSOK . THAT'S FINE. OTHERWISE, 12640000 - 000BD2 D504 13D0 5000 00E98 00000 1389 CLC =C'$JOB,',0(5) . WAS IT A $JOB CARD? 12650000 - 000BD8 4780 1136 00BFE 1390 BE ENDADATA . OOPS! WE HIT END OF DATA STREAM 12660000 - 000BDC D201 C078 13CE 00078 00E96 1391 RDRHSOK MVC RDRHM+12(2),=C'OK' .GROOVINESS MESSAGE 12670000 - 000BE2 D203 C074 13A8 00074 00E70 1392 RDRHSEND MVC RDRHM+8(4),=F'2' . SAY THERE ARE 2 CHARACTERS 12680000 - 000BE8 D207 C06C C008 0006C 00008 1393 MVC RDRHM+0(8),RDRHMSG+0 . SEND BACK TO SAME GUY 12690000 - 000BEE 4120 3004 00004 1394 LA 2,UCBUS . NOW UNLOCK UCB AND UNIT 12700000 - 000BF2 0AE5 1395 SVC C'V' 12710000 - 000BF4 4120 C06C 0006C 1396 LA 2,RDRHM . SET UP MESSAGE 12720000 - 000BF8 0AE2 1397 SVC C'S' . AND SEND IT 12730000 - 000BFA 47F0 1024 00AEC 1398 B RDRHLOOP 12740000 - 000BFE D201 C078 13CC 00078 00E94 1399 ENDADATA MVC RDRHM+12(2),=C'NO' . TELL USER NO MORE CARDS 12750000 - 000C04 D24F C01C 5000 0001C 00000 1400 MVC RDRHTEMP(80),0(5) . SAVE THE $JOB CARD 12760000 - 000C0A 9240 5000 00000 1401 MVI 0(5),C' ' . BLANK OUT THE USER'S COPY 12770000 - 000C0E D24E 5001 5000 00001 00000 1402 MVC 1(79,5),0(5) 12780000 -1 Sample Operating System Version 2.00 Page 37 - Active Usings: PROGRAM,R0 PROGRAM+X'AC8',R1 UCB,R3 RDRHAS,R12 -0 Loc Object Code Addr1 Addr2 Stmt Source Statement HLASM R6.0 2016/08/29 08.42 -0000C14 92FF C07A 0007A 1403 MVI JOBBIT,X'FF' . INDICATE WE HAVE A NEW $JOB CARD 12790000 - 000C18 47F0 111A 00BE2 1404 B RDRHSEND . AND SEND THE MESSAGE BACK 12800000 - 000C1C 0AE5 1405 RDSTATUS SVC C'V' . UNLOCK THE CAW 12810000 - 000C1E 4120 300C 0000C 1406 LA 2,UCBWS . AND WAIT FOR AN INTERRUPT 12820000 - 000C22 0AD7 1407 SVC C'P' 12830000 - 000C24 47F0 1098 00B60 1408 B RDRHPOK . AND TRY TO RESTART THE I/O 12840000 - 1409 DROP 3,12 12850000 -0000C28 0000000100000000 1411 RDRHSEM DC F'1,0' 12870000 - 000C30 00FFFFFF 1412 CCBCON1 DC X'00FFFFFF' MASK 12880000 - 000C34 00FFF000 1413 PROTCON1 DC X'00FFF000' page alignment 12890002 - 000C38 FFFFFFF0 1414 PROTCON2 DC X'FFFFFFF0' ignore low order bits 12893002 - 000C3C 00000080 1415 RDRHAAS DC A(LENRDRHA) ALLOCATE ARGLIST FOR STORAGE 12900000 - 000C40 00000000 1416 DC F'0' 12910000 - 000C44 00000008 1417 DC F'8' 12920000 -- - 1419 *********************************************************************** 12940000 - 1420 * * 12950000 - 1421 * SYSTEM SUPPLIED DEVICE HANDLER FOR PRINTERS * 12960000 - 1422 * * 12970000 - 1423 *********************************************************************** 12980000 -0 00C48 1425 PRTHANDL EQU * . THE PRINTER HANDLER 13000000 - R:3 00000 1426 USING UCB,3 . ENTERED WITH REG3 -> THE UCB 13010000 - 000C48 0510 1427 BALR 1,0 13020000 - R:1 00C4A 1428 USING *,1 . ESTABLISH ADDRESSING 13030000 - ** ASMA303W Multiple address resolutions may result from this USING and the USING on statement number 131 - ** ASMA435I Record 1428 in /mbhfs/sos4k.asm on volume: - 000C4A 4120 1116 00D60 1429 LA 2,PRTHSEM . LOCK UNTIL ALLOCATE STORAGE 13040000 - 000C4E 0AD7 1430 SVC C'P' . 13050000 - 000C50 4120 111E 00D68 1431 LA 2,PRTHAAS . READY TO ALLOCATE 13060000 - R:2 00000 1432 USING XAX,2 13070000 - 000C54 0AC5 1433 SVC C'E' . ALLOCATE 13080000 - 000C56 58C0 2004 00004 1434 L 12,XAXADDR . GET THE ADDRESS 13090000 - 1435 DROP 2 13100000 - 000C5A 4120 1116 00D60 1436 LA 2,PRTHSEM . 13110000 - 000C5E 0AE5 1437 SVC C'V' UNLOCK TO ROUTINE 13120000 - 000C60 8840 0010 00010 1438 SRL 4,16 . SHIFT KEY 13130000 - 000C64 1BAA 1439 SR 10,10 . CLEAR REG 10 13140000 - R:C 00000 1440 USING PRTHAS,12 . ADDRESSING IN THE AUTO AREA 13150000 - 000C66 4160 C000 00000 1441 LA 6,PRTHCCB . MAKE A CAW 13160000 - 000C6A 4120 C008 00008 1442 PRTHLOOP LA 2,PRTHMSG . READY TO READ A MESSAGE 13170000 - R:2 00000 1443 USING XRX,2 13180000 - 000C6E D203 2008 121E 00008 00E68 1444 MVC XRXSIZE,=F'8' . WE CAN TAKE 8 CHARACTERS 13190000 - 000C74 0AD9 1445 SVC C'R' . READ IT 13200000 - 000C76 5850 2010 00010 1446 L 5,XRXTEXT+4 . LOAD THE ADDRESS 13210000 - 000C7A D503 1232 200C 00E7C 0000C 1447 CLC =C'PRIN',XRXTEXT . IS IT A PRIN REQUEST? 13220000 - 000C80 4780 1048 00C92 1448 BE PRTHPRIN 13230000 - 000C84 D503 1236 200C 00E80 0000C 1449 CLC =C'STC1',XRXTEXT . OR A SKIP REQUEST? 13240000 - 000C8A 4780 1096 00CE0 1450 BE PRTHSTC1 13250000 - 000C8E 47F0 1020 00C6A 1451 B PRTHLOOP . IF NEITHER, IGNORE 13260000 - 1452 DROP 2 13270000 - 000C92 4120 3004 00004 1453 PRTHPRIN LA 2,UCBUS 13280000 -1 Sample Operating System Version 2.00 Page 38 - Active Usings: PROGRAM,R0 PROGRAM+X'C4A',R1 UCB,R3 PRTHAS,R12 -0 Loc Object Code Addr1 Addr2 Stmt Source Statement HLASM R6.0 2016/08/29 08.42 -0000C96 0AD7 1454 SVC C'P' . LOCK THE UCB AND UNIT 13290000 - 000C98 955C C008 00008 1455 CLI PRTHMSG,C'*' . IS SYSTEM CALLING? 13300000 - 000C9C 4780 1080 00CCA 1456 BE PRTHPOK . THEN PROTECTION OK. ELSE 13310000 - 000CA0 18B5 1457 LR 11,5 . GET ADDRESS THAT'S TO HOLD MSG, 13320000 - 000CA2 54B0 0C34 00C34 1458 N 11,PROTCON1 . get the page boundary 13330002 - 1459 * ISKE 10,11 . find storage key 13334002 - 000CA6 B22900AB 1460 DC X'B22900AB' Assembler (XF) doesn't support ISKE 13338002 - 000CAA 54A0 0C38 00C38 1461 N 10,PROTCON2 . ignore low order bits 13342002 - 000CAE 19A4 1462 CR 10,4 . DOES IT MATCH OURS? 13350000 - 000CB0 4770 10DC 00D26 1463 BNE PRTHNO . IF NOT, TELL HIM NO 13360000 - 000CB4 41B5 0083 00083 1464 LA 11,131(5) . CHECK LAST BYTE ADDRESS OF LINE 13370000 - 000CB8 54B0 0C34 00C34 1465 N 11,PROTCON1 . get the page boundary 13380002 - 1466 * ISKE 10,11 . find storage key 13384002 - 000CBC B22900AB 1467 DC X'B22900AB' Assembler (XF) doesn't support ISKE 13388002 - 000CC0 54A0 0C38 00C38 1468 N 10,PROTCON2 . ignore low order bits 13392002 - 000CC4 19A4 1469 CR 10,4 . DOES IT MATCH OURS? 13400000 - 000CC6 4770 10DC 00D26 1470 BNE PRTHNO . IF NOT, TELL HIM NO 13410000 - 000CCA 5450 0C30 00C30 1471 PRTHPOK N 5,CCBCON1 . MAKE A WRITE REQUEST 13420000 - 000CCE 5050 C000 00000 1472 ST 5,PRTHCCB . FOR THE CCB 13430000 - 000CD2 9609 C000 00000 1473 OI PRTHCCB,X'09' . PRINT COMMAND CODE 13440000 - 000CD6 D203 C004 123A 00004 00E84 1474 MVC PRTHCCB+4,=F'132' . WE'LL PRINT 132 CHARACTERS 13450000 - 000CDC 47F0 10A2 00CEC 1475 B PRTHCOMM . BRANCH TO COMMON SECTION 13460000 - 000CE0 D207 C000 1206 00000 00E50 1476 PRTHSTC1 MVC PRTHCCB(8),=X'8900000020000001' SKIP TO TOP OF PAGE 13470000 - 000CE6 4120 3004 00004 1477 LA 2,UCBUS 13480000 - 000CEA 0AD7 1478 SVC C'P' . LOCK THE UCB AND UNIT 13490000 - 000CEC 4120 0194 00194 1479 PRTHCOMM LA 2,CAWSEM . LOCK THE CAW 13500000 - 000CF0 0AD7 1480 SVC C'P' 13510000 - 000CF2 5060 0048 00048 1481 ST 6,CAW . STORE OUR CAW 13520000 - 000CF6 D203 3014 1216 00014 00E60 1482 MVC UCBCSW(4),=A(0) . CLEAR THE LAST CSW THERE 13530000 - 000CFC D203 3018 1216 00018 00E60 1483 MVC UCBCSW+4(4),=A(0) 13540000 - 000D02 5870 3000 00000 1484 L 7,UCBADDR . GET THE ADDRESS 13550000 - 000D06 9C00 7000 00000 1485 SIO 0(7) . START THE I/O 13560000 - 000D0A 4770 1108 00D52 1486 BNZ PTSTATUS . BRANCH IF SIO UNSUCCESSFUL 13570000 - 000D0E 0AE5 1487 SVC C'V' . AND UNLOCK THE CAW 13580000 - 000D10 4120 300C 0000C 1488 PRTHWAIT LA 2,UCBWS . START TO WAIT 13590000 - 000D14 0AD7 1489 SVC C'P' 13600000 - 000D16 9105 3018 00018 1490 TM UCBCSW+4,X'05' . IS THE UNIT READY? 13610000 - 000D1A 4780 10C6 00D10 1491 BZ PRTHWAIT . IF NOT, ITS STILL ON. WAIT 13620000 - 000D1E 9101 3018 00018 1492 TM UCBCSW+4,X'01' . WAS THERE AN EXCEPTION? 13630000 - 000D22 4780 10E6 00D30 1493 BZ PRTHOK . IF NOT, GOOD 13640000 - 000D26 D201 C028 124A 00028 00E94 1494 PRTHNO MVC PRTHM+12(2),=C'NO' .THERE WAS, SO SAY SO 13650000 - 000D2C 47F0 10EC 00D36 1495 B PRTHSEND 13660000 - 000D30 D201 C028 124C 00028 00E96 1496 PRTHOK MVC PRTHM+12(2),=C'OK' .NO ERRORS 13670000 - 000D36 D203 C024 1226 00024 00E70 1497 PRTHSEND MVC PRTHM+8(4),=F'2' . SENDING 2 CHARACTERS 13680000 - 000D3C D207 C01C C008 0001C 00008 1498 MVC PRTHM+0(8),PRTHMSG+0 . SEND TO OUR SENDER 13690000 - 000D42 4120 3004 00004 1499 LA 2,UCBUS 13700000 - 000D46 0AE5 1500 SVC C'V' . UNLOCK THE UCB 13710000 - 000D48 4120 C01C 0001C 1501 LA 2,PRTHM 13720000 - 000D4C 0AE2 1502 SVC C'S' . SEND IT 13730000 - 000D4E 47F0 1020 00C6A 1503 B PRTHLOOP . AND READ ANOTHER MESSAGE 13740000 - 000D52 0AE5 1504 PTSTATUS SVC C'V' . UNLOCK THE CAW 13750000 - 000D54 4120 300C 0000C 1505 LA 2,UCBWS . AND WAIT FOR THE INTERRUPT 13760000 - 000D58 0AD7 1506 SVC C'P' 13770000 - 000D5A 47F0 10A2 00CEC 1507 B PRTHCOMM . AND TRY TO RESTART THE I/O 13780000 - 1508 DROP 3,12 13790000 -1 Sample Operating System Version 2.00 Page 39 - Active Usings: PROGRAM,R0 PROGRAM+X'C4A',R1 -0 Loc Object Code Addr1 Addr2 Stmt Source Statement HLASM R6.0 2016/08/29 08.42 -0000D5E 0000 - 000D60 0000000100000000 1510 PRTHSEM DC F'1,0' LOCK 13810000 - 000D68 00000030 1511 PRTHAAS DC A(LENPRTHA) XA ARG LIST FOR AUTO STORAGE 13820000 - 000D6C 00000000 1512 DC F'0' 13830000 - 000D70 00000008 1513 DC F'8' 13840000 -1 Sample Operating System Version 2.00 Page 40 - Active Usings: PROGRAM,R0 PROGRAM+X'C4A',R1 -0 Loc Object Code Addr1 Addr2 Stmt Source Statement HLASM R6.0 2016/08/29 08.42 -0 1515 *********************************************************************** 13860000 - 1516 * * 13870000 - 1517 * SYSTEM ROUTINE FOR USER SUPPLIED DEVICE HANDLER * 13880000 - 1518 * * 13890000 - 1519 *********************************************************************** 13900000 -0 00D74 1521 EXCPHNDL EQU * . EXCP DEVICE HANDLER 13920000 - R:3 00000 1522 USING UCB,3 . WILL HAVE REG3 -> UCB 13930000 - 000D74 0510 1523 BALR 1,0 13940000 - R:1 00D76 1524 USING *,1 . ESTABLISH ADDRESSING 13950000 - ** ASMA303W Multiple address resolutions may result from this USING and the USING on statement number 131 - ** ASMA435I Record 1524 in /mbhfs/sos4k.asm on volume: - 000D76 4120 10C6 00E3C 1525 LA 2,EXCPHSEM . LOCK OURSELVES UNTIL WE HAVE 13960000 - 000D7A 0AD7 1526 SVC C'P' . SET UP AUTOMATIC STORAGE 13970000 - 000D7C 4120 10CE 00E44 1527 LA 2,EXCPHAAS . READY TO ALLOCATE 13980000 - R:2 00000 1528 USING XAX,2 13990000 - 000D80 0AC5 1529 SVC C'E' . ALLOCATE 14000000 - 000D82 58C0 2004 00004 1530 L 12,XAXADDR . GET POINTER TO AUTO STORAGE 14010000 - 1531 DROP 2 14020000 - 000D86 4120 10C6 00E3C 1532 LA 2,EXCPHSEM . AND UNLOCK OURSELVES 14030000 - 000D8A 0AE5 1533 SVC C'V' UNLOCK TO ROUTINE 14040000 - 000D8C 184B 1534 LR 4,11 14050000 - 000D8E 8940 0008 00008 1535 SLL 4,8 . SHIFT KEY FOR CAW 14060000 - R:C 00000 1536 USING EXCPHAS,12 . FOR ADDRESSING AUTO AREA 14070000 - 000D92 4120 C000 00000 1537 EXCPLOOP LA 2,EXCPHMSG . TRY TO READ A MESSAGE 14080000 - R:2 00000 1538 USING XRX,2 14090000 - 000D96 D203 2008 1112 00008 00E88 1539 MVC XRXSIZE,=F'12' . WE'LL TAKE 12 CHARACTERS 14100000 - 000D9C 0AD9 1540 SVC C'R' 14110000 - 000D9E D503 1116 200C 00E8C 0000C 1541 CLC =C'EXCP',XRXTEXT . IS IT AN EXCP MESSAGE? 14120000 - 000DA4 4770 101C 00D92 1542 BNE EXCPLOOP . IF NOT, IGNORE IT 14130000 - 000DA8 5850 2010 00010 1543 L 5,XRXTEXT+4 . REG 5 CONTAINS CHAN AND DEV 14140000 - 000DAC 5860 2014 00014 1544 L 6,XRXTEXT+8 . REG 6 CONTAINS ADDR OF CCWS 14150000 - 1545 DROP 2 14160000 - 000DB0 4170 112E 00EA4 1546 LA 7,UCBTABLE . GET PTR TO UCB TABLE 14170000 - 000DB4 5957 0000 00000 1547 EXCPCOMP C 5,0(7) . COMPARE UNIT ADDRESS 14180000 - 000DB8 4780 1054 00DCA 1548 BE EXCPFIND . THAT'S THE UCB WE WANT 14190000 - 000DBC 4177 0020 00020 1549 LA 7,UCBLENG(7) . GET PTR TO NEXT UCB 14200000 - 000DC0 5970 111A 00E90 1550 C 7,=A(UCBTBEND) . ARE WE THROUGH WITH TABLE? 14210000 - 000DC4 4770 103E 00DB4 1551 BNE EXCPCOMP . IF NOT, LOOK SOME MORE 14220000 - 000DC8 0A6F 1552 SVC C'?' . ELSE ERROR 14230000 - 000DCA 1837 1553 EXCPFIND LR 3,7 . SET REG 3 TO UCB PTR 14240000 - 000DCC 4120 3004 00004 1554 LA 2,UCBUS 14250000 - 000DD0 0AD7 1555 SVC C'P' . LOCK THE UCB 14260000 - 000DD2 1664 1556 OR 6,4 . OR IN THE USER'S KEY 14270000 - 000DD4 D203 3014 10EA 00014 00E60 1557 MVC UCBCSW(4),=A(0) . CLEAR THE LAST CSW THERE 14280000 - 000DDA D203 3018 10EA 00018 00E60 1558 MVC UCBCSW+4(4),=A(0) 14290000 - 000DE0 4120 0194 00194 1559 LA 2,CAWSEM 14300000 - 000DE4 0AD7 1560 SVC C'P' . LOCK CAW 14310000 - 000DE6 5060 0048 00048 1561 ST 6,CAW . STORE OUR CAW 14320000 - 000DEA 9C00 5000 00000 1562 SIO 0(5) . START THE I/O 14330000 - 000DEE 0AE5 1563 SVC C'V' . UNLOCK THE CAW 14340000 - 000DF0 4120 300C 0000C 1564 EXCPWAIT LA 2,UCBWS . NOW WAIT FOR AN INTERRUPT 14350000 - 000DF4 0AD7 1565 SVC C'P' 14360000 - 000DF6 D207 C024 3014 00024 00014 1566 MVC EXCPHM+12(8),UCBCSW . GIVE USER HIS CSW 14370000 - 000DFC D203 C020 1112 00020 00E88 1567 MVC EXCPHM+8(4),=F'12' 14380000 -1 Sample Operating System Version 2.00 Page 41 - Active Usings: PROGRAM,R0 PROGRAM+X'D76',R1 UCB,R3 EXCPHAS,R12 -0 Loc Object Code Addr1 Addr2 Stmt Source Statement HLASM R6.0 2016/08/29 08.42 -0000E02 D207 C018 C000 00018 00000 1568 MVC EXCPHM(8),EXCPHMSG 14390000 - 000E08 4120 C018 00018 1569 LA 2,EXCPHM 14400000 - 000E0C 0AE2 1570 SVC C'S' . AND SENT THE MESSAGE 14410000 - 000E0E 4120 C000 00000 1571 LA 2,EXCPHMSG . AND WAIT FOR A REPLY 14420000 - R:2 00000 1572 USING XRX,2 14430000 - 000E12 D203 2008 10F2 00008 00E68 1573 MVC XRXSIZE(4),=F'8' . FROM THE USER 14440000 - 000E18 0AD9 1574 SVC C'R' 14450000 - 000E1A D501 1120 200C 00E96 0000C 1575 CLC =C'OK',XRXTEXT . AM I DONE? 14460000 - 000E20 4780 10BA 00E30 1576 BE EXCPDONE 14470000 - 000E24 D504 1127 200C 00E9D 0000C 1577 CLC =C'AGAIN',XRXTEXT . DOES HE WANT ANOTHER CSW? 14480000 - 000E2A 4780 107A 00DF0 1578 BE EXCPWAIT 14490000 - 000E2E 0A6F 1579 SVC C'?' . WRONG MESSAGE 14500000 - 1580 DROP 2 14510000 - 000E30 4120 3004 00004 1581 EXCPDONE LA 2,UCBUS . UNLOCK UNIT 14520000 - 000E34 0AE5 1582 SVC C'V' 14530000 - 000E36 47F0 101C 00D92 1583 B EXCPLOOP . AND GET ANOTHER MESSAGE 14540000 - 1584 DROP 3,12 14550000 - 000E3A 0000 - 000E3C 0000000100000000 1585 EXCPHSEM DC F'1,0' 14560000 - 000E44 00000030 1586 EXCPHAAS DC A(LENEXCPA) . ALLOCATION OF AUTO STORAGE 14570000 - 000E48 00000000 1587 DC F'0' 14580000 - 000E4C 00000008 1588 DC F'8' 14590000 -- - 000E50 1590 LTORG 14610000 - 000E50 8900000020000001 1591 =X'8900000020000001' - 000E58 00000001 1592 =F'1' - 000E5C 00000600 1593 =A(XA) - 000E60 00000000 1594 =A(0) - 000E64 00000148 1595 =A(LENPCB) - 000E68 00000008 1596 =F'8' - 000E6C FFFFFFF8 1597 =F'-8' - 000E70 00000002 1598 =F'2' - 000E74 D9C5C1C4 1599 =C'READ' - 000E78 00000050 1600 =F'80' - 000E7C D7D9C9D5 1601 =C'PRIN' - 000E80 E2E3C3F1 1602 =C'STC1' - 000E84 00000084 1603 =F'132' - 000E88 0000000C 1604 =F'12' - 000E8C C5E7C3D7 1605 =C'EXCP' - 000E90 00000FC4 1606 =A(UCBTBEND) - 000E94 D5D6 1607 =C'NO' - 000E96 D6D2 1608 =C'OK' - 000E98 5BD1D6C26B 1609 =C'$JOB,' - 000E9D C1C7C1C9D5 1610 =C'AGAIN' -1 Sample Operating System Version 2.00 Page 42 - Active Usings: PROGRAM,R0 PROGRAM+X'D76',R1 -0 Loc Object Code Addr1 Addr2 Stmt Source Statement HLASM R6.0 2016/08/29 08.42 -0 1612 *********************************************************************** 14630000 - 1613 * * 14640000 - 1614 * UNIT CONTROL BLOCKS * 14650000 - 1615 * * 14660000 - 1616 *********************************************************************** 14670000 -0000EA4 1618 UCBTABLE DS 0F . TABLE OF UNIT CONTROL BLOCKS 14690000 - 1619 * UCB FOR READER 1 14700000 - 000EA4 00000012 1620 UCBRDR1 DC X'00000012' . DEVICE ADDRESS, 14710000 - 000EA8 0000000100000000 1621 DC F'1,0' . USER SEMAPHORE, 14720000 - 000EB0 0000000000000000 1622 DC F'0,0' . WAIT SEMAPHORE, 14730000 - 000EB8 0000000000000000 1623 DC F'0,0' . CHANNEL STATUS WORD 14740000 - 000EC0 00 1624 DC X'00' 14750000 - 000EC4 1625 DS 0F 14760000 - 1626 * UCB FOR PRINTER 1 14770000 - 000EC4 00000010 1627 UCBPRT1 DC X'00000010' . DEVICE ADDRESS, 14780000 - 000EC8 0000000100000000 1628 DC F'1,0' . USER SEMAPHORE, 14790000 - 000ED0 0000000000000000 1629 DC F'0,0' . WAIT SEMAPHORE, 14800000 - 000ED8 0000000000000000 1630 DC F'0,0' . CHANNEL STATUS WORD 14810000 - 000EE0 00 1631 DC X'00' 14820000 - 000EE4 1632 DS 0F 14830000 - 1633 * UCB FOR READER 2 14840000 - 000EE4 0000000C 1634 UCBRDR2 DC X'0000000C' . DEVICE ADDRESS, 14850000 - 000EE8 0000000100000000 1635 DC F'1,0' . USER SEMAPHORE, 14860000 - 000EF0 0000000000000000 1636 DC F'0,0' . WAIT SEMAPHORE, 14870000 - 000EF8 0000000000000000 1637 DC F'0,0' . CHANNEL STATUS WORD 14880000 - 000F00 00 1638 DC X'00' 14890000 - 000F04 1639 DS 0F 14900000 - 1640 * UCB FOR PRINTER 2 14910000 - 000F04 0000000E 1641 UCBPRT2 DC X'0000000E' . DEVICE ADDRESS, 14920000 - 000F08 0000000100000000 1642 DC F'1,0' . USER SEMAPHORE, 14930000 - 000F10 0000000000000000 1643 DC F'0,0' . WAIT SEMAPHORE, 14940000 - 000F18 0000000000000000 1644 DC F'0,0' . CHANNEL STATUS WORD 14950000 - 000F20 00 1645 DC X'00' 14960000 - 000F24 1646 DS 0F 14970000 - 1647 * UCB for READER 3 14970302 - 000F24 00000112 1648 UCBRDR3 DC X'00000112' . device address, 14970602 - 000F28 0000000100000000 1649 DC F'1,0' . user semaphore, 14970902 - 000F30 0000000000000000 1650 DC F'0,0' . wait semaphore, 14971202 - 000F38 0000000000000000 1651 DC F'0,0' . channel status word 14971502 - 000F40 00 1652 DC X'00' 14971802 - 000F44 1653 DS 0F 14972102 - 1654 * UCB for PRINTER 3 14972402 - 000F44 00000110 1655 UCBPRT3 DC X'00000110' . device address, 14972702 - 000F48 0000000100000000 1656 DC F'1,0' . user semaphore, 14973002 - 000F50 0000000000000000 1657 DC F'0,0' . wait semaphore, 14973302 - 000F58 0000000000000000 1658 DC F'0,0' . channel status word 14973602 - 000F60 00 1659 DC X'00' 14973902 - 000F64 1660 DS 0F 14974202 - 1661 * UCB for READER 4 14974502 - 000F64 0000010C 1662 UCBRDR4 DC X'0000010C' . device address, 14974802 - 000F68 0000000100000000 1663 DC F'1,0' . user semaphore, 14975102 - 000F70 0000000000000000 1664 DC F'0,0' . wait semaphore, 14975402 - 000F78 0000000000000000 1665 DC F'0,0' . channel status word 14975702 - 000F80 00 1666 DC X'00' 14976002 -1 Sample Operating System Version 2.00 Page 43 - Active Usings: PROGRAM,R0 PROGRAM+X'D76',R1 -0 Loc Object Code Addr1 Addr2 Stmt Source Statement HLASM R6.0 2016/08/29 08.42 -0000F84 1667 DS 0F 14976302 - 1668 * UCB for PRINTER 4 14976602 - 000F84 0000010E 1669 UCBPRT4 DC X'0000010E' . device address, 14976902 - 000F88 0000000100000000 1670 DC F'1,0' . user semaphore, 14977202 - 000F90 0000000000000000 1671 DC F'0,0' . wait semaphore, 14977502 - 000F98 0000000000000000 1672 DC F'0,0' . channel status word 14977802 - 000FA0 00 1673 DC X'00' 14978102 - 000FA4 1674 DS 0F 14978402 - 1675 * UCB for CONSOLE 1 14978504 - 000FA4 00000009 1676 UCBCONS1 DC X'00000009' . device address, 14978604 - 000FA8 0000000100000000 1677 DC F'1,0' . user semaphore, 14978704 - 000FB0 0000000000000000 1678 DC F'0,0' . wait semaphore, 14978804 - 000FB8 0000000000000000 1679 DC F'0,0' . channel status word 14978904 - 000FC0 00 1680 DC X'00' 14979004 - 000FC4 1681 DS 0F 14979104 - 00FC4 1682 UCBTBEND EQU * 14980000 -1 Sample Operating System Version 2.00 Page 44 - Active Usings: PROGRAM,R0 PROGRAM+X'D76',R1 -0 Loc Object Code Addr1 Addr2 Stmt Source Statement HLASM R6.0 2016/08/29 08.42 -0 1684 *********************************************************************** 15000000 - 1685 * * 15010000 - 1686 * I/O INTERRUPT HANDLER * 15020000 - 1687 * * 15030000 - 1688 *********************************************************************** 15040000 -0 00FC4 1690 IOHANDL EQU * . THE I/O INTERRUPT HANDLER 15060000 - 000FC4 900F 01DC 001DC 1691 STM 0,15,IOHSAVE . SAVE REGISTERS 15070000 - 000FC8 0510 1692 BALR 1,0 15080000 - R:1 00FCA 1693 USING *,1 . ESTABLISH ADRESSING 15090000 - ** ASMA303W Multiple address resolutions may result from this USING and the USING on statement number 131 - ** ASMA435I Record 1673 in /mbhfs/sos4k.asm on volume: - 000FCA 94FD 0039 00039 1694 NI IOOLD+1,X'FD' . TURN OFF WAIT BIT 15100000 - 000FCE 5860 172E 016F8 1695 L 6,=A(UCBTABLE) . GET POINTER TO UCB TABLE 15110000 - 000FD2 D501 6002 003A 00002 0003A 1696 IOCOMP CLC 2(2,6),IOOLD+2 . COMPARE DEVICE AND CHANNEL 15120000 - 000FD8 4780 1022 00FEC 1697 BE IODEVFND . IF EQUAL, REG 6 INDICATES PTR 15130000 - 000FDC 4166 0020 00020 1698 LA 6,UCBLENG(6) . INCREMENT TO NEXT ENTRY 15140000 - 000FE0 5960 1732 016FC 1699 C 6,=A(UCBTBEND) . ARE WE AT END OF TABLE? 15150000 - 000FE4 4770 1008 00FD2 1700 BNE IOCOMP . IF NOT DONE, TRY NEXT UCB 15160000 - 000FE8 47F0 106C 01036 1701 B IOBACK . ELSE, IGNORE IT 15170000 - R:6 00000 1702 USING UCB,6 . IT'S A UCB PTR 15180000 - 000FEC D203 6014 0040 00014 00040 1703 IODEVFND MVC UCBCSW(4),CSW . MOVE IN THE NEW CSW 15190000 - 000FF2 5870 0044 00044 1704 L 7,CSW+4 . GET STATUS BYTE 15200000 - 000FF6 5670 6018 00018 1705 O 7,UCBCSW+4 . OR IN NEW STATUS INFORMATION 15210000 - 000FFA 5070 6018 00018 1706 ST 7,UCBCSW+4 . AND STORE IT BACK 15220000 - 000FFE D201 601A 0046 0001A 00046 1707 MVC UCBCSW+6(2),CSW+6 . MOVE IN BYTE COUNT 15230000 - 001004 4120 600C 0000C 1708 LA 2,UCBWS 15240000 - 001008 9500 601C 0001C 1709 CLI UCBFPR,X'00' . IS FAST PROCESSING 15250000 - 00100C 4780 106A 01034 1710 BE IONOFPR . REQUIRED? IF NOT, RETURN 15260000 - 001010 58F0 0270 00270 1711 L 15,RUNNING . IF SO, STOP GUY NOW RUNNING 15270000 - R:F 00000 1712 USING PCB,15 15280000 - 001014 95FF F019 00019 1713 CLI PCBBLOKT,X'FF' . IS ANYONE REALLY RUNNING? 15290000 - 001018 4780 1062 0102C 1714 BE IOWAIT . IF NOT, START UP SLEEPER 15300000 - 00101C 41D0 F04C 0004C 1715 LA 13,PCBISA . IF SO, STOP RUNNING PROCESS 15310000 - R:D 00000 1716 USING SA,13 15320000 - 001020 D207 D000 0038 00000 00038 1717 MVC SAPSW,IOOLD . SAVE PROCESS WHICH WAS 15330000 - 001026 D23F D008 01DC 00008 001DC 1718 MVC SAREGS,IOHSAVE . INTERRUPTED 15340000 - 1719 DROP 13,15 15350000 - 00102C 9200 0278 00278 1720 IOWAIT MVI NEXTTRYM,X'00' . MAKE NEXTTRY NOT MODIFIED 15360000 - 001030 0AE5 1721 SVC C'V' . SO CAN FAST PROCESS SLEEPER 15370000 - 001032 0A4B 1722 SVC C'.' . GO PROCESS IT RIGHT AWAY 15380000 - 001034 0AE5 1723 IONOFPR SVC C'V' . AND WAKE UP THE SLEEPER 15390000 - 001036 980F 01DC 001DC 1724 IOBACK LM 0,15,IOHSAVE . RELOAD OUR REGISTERS 15400000 - 00103A 8200 0038 00038 1725 LPSW IOOLD . AND STEALTHILY RETURN 15410000 - 1726 DROP 1,6 15420000 -1 Sample Operating System Version 2.00 Page 45 - Active Usings: PROGRAM,R0 -0 Loc Object Code Addr1 Addr2 Stmt Source Statement HLASM R6.0 2016/08/29 08.42 -0 1728 *********************************************************************** 15440000 - 1729 * * 15450000 - 1730 * IPL ENTERED ROUTINE * 15460000 - 1731 * * 15470000 - 1732 * FUNCTION: TO INITIALIZE SYSTEM PARAMETERS, SET STORAGE KEYS, * 15480000 - 1733 * AND CREATE MULTIPLE JOB STREAMS. * 15490000 - 1734 * * 15500000 - 1735 *********************************************************************** 15510000 -0 0103E 1737 IPLRTN EQU * . THE IPL-ENTERED ROUTINE 15530000 - 00103E 0510 1738 BALR 1,0 15540000 - R:1 01040 1739 USING *,1 . ESTABLISH ADDRESSING 15550000 - 001040 D202 007D 1281 0007D 012C1 1740 MVC IONEW+5(3),SOSIONEW activate IO handler 15553002 - 001046 D202 005D 1289 0005D 012C9 1741 MVC EXTNEW+5(3),IPLEXNEW ignore external interrupts for now 15556002 - 00104C 41F0 10D0 01110 1742 LA 15,IPLPCB . I'M RUNNING 15560000 - 001050 50F0 0270 00270 1743 ST 15,RUNNING . INITIALIZE 'RUNNING' 15570000 - 001054 50F0 0274 00274 1744 ST 15,NEXTTRY . INITIALIZE 'NEXTTRY' 15580000 - 001058 D207 1700 1690 01740 016D0 1745 MVC VERYEND,=A(0,CORESIZE-(VERYEND-PROGRAM)) FREE CORE 15590000 - 00105E 4130 0008 00008 1746 LA 3,8 . SET ZERO KEY AND FETCH PROTECT 15600000 - 001062 5820 1224 01264 1747 L 2,CORESIZ . START PAST THE LAST BLOCK 15610000 - 001066 5B20 161C 0165C 1748 IPLCL S 2,PAGESIZE . get the previous block, page aligned 15620002 - 00106A 4740 1036 01076 1749 BM IPLTH . IF NEGATIVE, WE'RE THROUGH HERE 15630000 - 1750 * SSKE 3,2 . else set the storage key to 15640002 - 00106E B22B0032 1751 DC X'B22B0032' Assembler (XF) doesn't support SSKE 15643002 - 001072 47F0 1026 01066 1752 B IPLCL . ZERO, AND WORK BACKWARDS 15650000 - 001076 1B44 1753 IPLTH SR 4,4 . INDEX IN TABLES FOR INPUT STREAM 15660000 - 001078 5850 1088 010C8 1754 L 5,STREAMS . HOW MANY STREAMS? 15670000 - 00107C 4120 1218 01258 1755 IPLLOOP LA 2,IPLAPCBS . READY TO ALLOCATE A PCB 15680000 - R:2 00000 1756 USING XAX,2 15690000 - 001080 0AC1 1757 SVC C'A' . ALLOCATE 15700000 - 001082 5820 2004 00004 1758 L 2,XAXADDR . GET THE ADDRESS 15710000 - 001086 D253 2000 1228 00000 01268 1759 MVC 0(TYPLEN,2),TYPPCB .MAKE IT LOOK LIKE A PCB 15720000 - 00108C 0AC9 1760 SVC C'I' . CHAIN IT ON 15730000 - R:2 00000 1761 USING PCB,2 15740000 - 00108E 5020 2008 00008 1762 ST 2,PCBNPTG . BUT PUT IT IN A GROUP BY ITSELF 15750000 - 001092 5020 200C 0000C 1763 ST 2,PCBLPTG 15760000 - 1764 DROP 2 15770000 - R:F 00000 1765 USING PCB,15 15780000 - 001096 50F0 F00C 0000C 1766 ST 15,PCBLPTG . LIKEWISE FOR THE IPL PCB 15790000 - 00109A 50F0 F008 00008 1767 ST 15,PCBNPTG 15800000 - 1768 DROP 15 15810000 - R:2 00000 1769 USING PCB,2 15820000 - 00109E 4180 204C 0004C 1770 LA 8,PCBISA . GET THE NEW PCB'S ISA 15830000 - R:8 00000 1771 USING SA,8 15840000 - 0010A2 4190 8008 00008 1772 LA 9,SAREGS . ABOUT TO FIX INIT REGS 15850000 - R:9 00000 1773 USING REGS,9 15860000 - 0010A6 41A0 108C 010CC 1774 LA 10,UCBTAB 15870000 - 0010AA 1AA4 1775 AR 10,4 15880000 - 0010AC D203 900C A000 0000C 00000 1776 MVC REG3,0(10) . REG3 -> (RDRUCB,PRTUCB) 15890000 - 0010B2 D203 9010 A010 00010 00010 1777 MVC REG4,KEYTAB-UCBTAB(10) . REG4 = KEY 15900000 - 1778 DROP 9 15910000 - 0010B8 4144 0004 00004 1779 LA 4,4(4) . GO TO NEXT JOB STREAM 15920000 - 0010BC 4650 103C 0107C 1780 BCT 5,IPLLOOP . DO FOR EACH STREAM 15930000 - 0010C0 D202 005D 1285 0005D 012C5 1781 MVC EXTNEW+5(3),SOSEXNEW reactivate ext interrupt handler 15935002 - 0010C6 0A4B 1782 SVC C'.' . THEN ENTER TRAFFIC CONTROLLER 15940000 -1 Sample Operating System Version 2.00 Page 46 - Active Usings: PROGRAM,R0 PROGRAM+X'1040',R1 PCB,R2 SA,R8 -0 Loc Object Code Addr1 Addr2 Stmt Source Statement HLASM R6.0 2016/08/29 08.42 -00010C8 00000004 1784 STREAMS DC F'4' . NUMBER OF STREAMS 15960002 -0 010CC 1786 UCBTAB EQU * . TABLE OF PTRS TO UCB BLOCKS 15980000 - 0010CC 000010EC 1787 DC A(UCBLP1) 15990000 - 0010D0 000010F4 1788 DC A(UCBLP2) 16000000 - 0010D4 000010FC 1789 DC A(UCBLP3) 16003002 - 0010D8 00001104 1790 DC A(UCBLP4) 16006002 -0 010DC 1792 KEYTAB EQU * . TABLE OF PROTECTION KEYS 16020000 - 0010DC 00100000 1793 DC X'00100000' storage key for stream 1 region 16030002 - 0010E0 00200000 1794 DC X'00200000' storage key for stream 2 region 16034002 - 0010E4 00300000 1795 DC X'00300000' storage key for stream 3 region 16038002 - 0010E8 00400000 1796 DC X'00400000' storage key for stream 4 region 16042002 -00010EC 00000EA400000EC4 1798 UCBLP1 DC A(UCBRDR1,UCBPRT1) 16060000 - 0010F4 00000EE400000F04 1799 UCBLP2 DC A(UCBRDR2,UCBPRT2) 16070000 - 0010FC 00000F2400000F44 1800 UCBLP3 DC A(UCBRDR3,UCBPRT3) 16073002 - 001104 00000F6400000F84 1801 UCBLP4 DC A(UCBRDR4,UCBPRT4) 16076002 -0001110 1803 DS 0D 16090000 - 001110 4040404040404040 1804 IPLPCB DC CL8' ' . IPL ROUTINE PCB 16100000 - 001118 0000111000001110 1805 DC 4A(IPLPCB) 16110000 - 001128 FF000000 1806 DC X'FF000000' . INITIALIZED FLAGS 16120000 - 00112C 0000000100000000 1807 DC F'1,0' 16130000 - 001134 0000000000000000 1808 DC 5F'0,0' 16140000 - 00115C 0002000000000000 1809 DC X'0002000000000000' 16150000 - 001164 1810 DS CL76 16160000 - 0011B0 1811 DS CL84 16170000 - 001204 1812 DS CL84 16180000 -0001258 00000148 1814 IPLAPCBS DC A(LENPCB) . ALLOC LIST FOR PCB'S 16200000 - 00125C 00000000 1815 DC A(0) 16210000 - 001260 00000008 1816 DC F'8' 16220000 - 001264 01000000 1817 CORESIZ DC A(CORESIZE) . BYTES OF CORE IN OBJECT MACHINE 16230000 -0001268 1819 DS 0D 16250000 - 001268 5CC9C2E2E4D74040 1820 TYPPCB DC CL8'*IBSUP' . A TEMPLATE *IBSUP PCB 16260000 - 001270 0000000000000000 1821 DC 4A(0) 16270000 - 001280 00000000 1822 TEMPLATE DC X'00000000' . INITIALIZED FLAGS 16280000 - 001284 0000000100000000 1823 DC F'1,0' 16290000 - 00128C 0000000000000000 1824 DC 5F'0,0' 16300000 - 0012B4 FF000000000012CC 1825 DC X'FF00000000',AL3(JSP) 16310000 - 00054 1826 TYPLEN EQU *-TYPPCB 16320000 - 0012BC 8200 0018 00018 1827 EXINTRPT LPSW EXTOLD ignore external interrupts 16321002 - 0012C0 1828 DS 0F align 16322002 - 0012C0 00 1829 DC X'00' filler 16323002 - 0012C1 000FC4 1830 SOSIONEW DC AL3(IOHANDL) sample OS IO new PSW instruction addr 16324002 - 0012C4 00 1831 DC X'00' filler 16325002 - 0012C5 00027A 1832 SOSEXNEW DC AL3(EXTHANDL) sample OS ext new PSW instruction addr 16326002 - 0012C8 00 1833 DC X'00' filler 16327002 - 0012C9 0012BC 1834 IPLEXNEW DC AL3(EXINTRPT) IPLRTN ext new PSW instruction addr 16328002 -1 Sample Operating System Version 2.00 Page 47 - Active Usings: PROGRAM,R0 PROGRAM+X'1040',R1 PCB,R2 SA,R8 -0 Loc Object Code Addr1 Addr2 Stmt Source Statement HLASM R6.0 2016/08/29 08.42 -0 1836 *********************************************************************** 16340000 - 1837 * * 16350000 - 1838 * JOB STREAM PROCESSOR * 16360000 - 1839 * * 16370000 - 1840 *********************************************************************** 16380000 -0 012CC 1842 JSP EQU * . THE JOB STREAM PROCESSOR 16400000 - 0012CC 0510 1843 BALR 1,0 . (PROCESS *IBSUP) 16410000 - R:1 012CE 1844 USING *,1 . ESTABLISH ADDRESSING 16420000 - 0012CE 4120 1392 01660 1845 LA 2,JSPSUSEM . LOCK OURSELVES UNTIL 16430000 - 0012D2 0AD7 1846 SVC C'P' . WE CAN ALLOCATE STORAGE 16440000 - 0012D4 4120 139A 01668 1847 LA 2,JSPAAS . READY TO ALLOCATE 16450000 - R:2 00000 1848 USING XAX,2 16460000 - 0012D8 0AC5 1849 SVC C'E' . ALLOCATE 16470000 - 0012DA 58C0 2004 00004 1850 L 12,XAXADDR . PTR TO AUTO AREA 16480000 - 1851 DROP 2 16490000 - R:C 00000 1852 USING JSPAS,12 . USE FOR ADDRESSING 16500000 - 0012DE 4120 1392 01660 1853 LA 2,JSPSUSEM . UNLOCK OURSELVES 16510000 - 0012E2 0AE5 1854 SVC C'V' 16520000 - 0012E4 D207 C164 140A 00164 016D8 1855 MVC TREAD+0(8),=CL8'*IN' . INITIALIZE VALUES IN AUTOMATIC 16530000 - 0012EA D203 C16C 1432 0016C 01700 1856 MVC TREAD+8(4),=F'8' . STORAGE 16540000 - 0012F0 D203 C170 1436 00170 01704 1857 MVC TREAD+12(4),=C'READ' 16550000 - 0012F6 4120 C084 00084 1858 LA 2,CARD 16560000 - 0012FA 5020 C174 00174 1859 ST 2,ACARD 16570000 - 0012FE D207 C190 1412 00190 016E0 1860 MVC USERL+0(8),=CL8'USERPROG' 16580000 - 001304 D20B C178 1352 00178 01620 1861 MVC WRITE(12),SKIP 16590000 - 00130A D203 C184 143A 00184 01708 1862 MVC WRITE+12(4),=C'PRIN' 16600000 - 001310 4150 C000 00000 1863 LA 5,LINE 16610000 - 001314 5050 C188 00188 1864 ST 5,WRITE+16 16620000 - 001318 D203 C1B0 138E 001B0 0165C 1865 MVC CORE+8(4),PAGESIZE align to page boundary 16630002 - 00131E D207 C1B8 1412 001B8 016E0 1866 MVC TALK+0(8),=CL8'USERPROG' 16640000 - 001324 D203 C1C0 143E 001C0 0170C 1867 MVC TALK+8(4),=F'12' 16650000 - 00132A D203 C1D8 1442 001D8 01710 1868 MVC ANYBACK+8(4),=F'1' 16660000 - 001330 D203 C1B4 1446 001B4 01714 1869 MVC RLDTEMP,=A(0) 16670000 - 001336 5040 C18C 0018C 1870 ST 4,KEY . STORE KEY 16680000 - 00133A 1853 1871 LR 5,3 . GET PTR TO UCB PTR BLOCK 16690000 - 00133C 5835 0000 00000 1872 L 3,0(5) . GET READER POINTER 16700000 - 001340 4120 1362 01630 1873 LA 2,INSEQ . READY TO CREATE & START *IN 16710000 - 001344 0AC3 1874 SVC C'C' . CREATE 16720000 - 001346 0AE8 1875 SVC C'Y' . START 16730000 - 001348 5835 0004 00004 1876 L 3,4(5) . GET PTR TO PRINTER UCB 16740000 - 00134C 4120 136E 0163C 1877 LA 2,OUTSEQ . READY TO CREATE & START *OUT 16750000 - 001350 0AC3 1878 SVC C'C' . CREATE 16760000 - 001352 0AE8 1879 SVC C'Y' . START 16770000 -0001354 4120 C164 00164 1881 LOOP LA 2,TREAD . READT TO READ A CARD 16790000 - 001358 0AE2 1882 SVC C'S' . START TO READ 16800000 - 00135A D203 C0DC 144A 000DC 01718 1883 MVC RREPLY1,=F'132' . 132 CHARS FOR REPLY 16810000 - 001360 4120 C0D4 000D4 1884 LA 2,RREPLY 16820000 - 001364 0AD9 1885 SVC C'R' . LISTEN FOR REPLY 16830000 - 001366 D501 C0E0 145A 000E0 01728 1886 CLC REPLY(2),=C'OK' . IS REPLY 'OK'? 16840000 - 00136C 4770 10B0 0137E 1887 BNE STOP . IF NOT, STOP 16850000 - 001370 D504 145C C084 0172A 00084 1888 CLC =C'$JOB,',CARD . HAVE WE A JOB CARD? 16860000 - 001376 4780 10B6 01384 1889 BE JOB . GOOD! 16870000 - 00137A 47F0 1086 01354 1890 B LOOP . ELSE LOOP 16880000 -1 Sample Operating System Version 2.00 Page 48 - Active Usings: PROGRAM,R0 PROGRAM+X'12CE',R1 SA,R8 JSPAS,R12 -0 Loc Object Code Addr1 Addr2 Stmt Source Statement HLASM R6.0 2016/08/29 08.42 -000137E 4120 134A 01618 1891 STOP LA 2,JSPNEVER . WAIT FOR A "V" OPERATION 16890000 - 001382 0AD7 1892 SVC C'P' . THAT NEVER COMES 16900000 -0001384 9200 C1DD 001DD 1894 JOB MVI LOADED,X'00' . REMEMBER NOT LOADED 16920000 - 001388 D283 C000 141A 00000 016E8 1895 MVC LINE,=CL8' ' . CLEAR A LINE, PUT IN 16930000 - 00138E D27B C008 C007 00008 00007 1896 MVC LINE+8(124),LINE+7 .ALL BLANKS 16940000 - 001394 D24F C000 C084 00000 00084 1897 MVC LINE(80),CARD . GET READY TO SEND $JOB CARD 16950000 - 00139A 4120 C178 00178 1898 LA 2,WRITE . TO PRINTER 16960000 - 00139E 0AE2 1899 SVC C'S' . SEND IT 16970000 - 0013A0 4120 C0D4 000D4 1900 LA 2,RREPLY 16980000 - 0013A4 0AD9 1901 SVC C'R' . AND WAIT FOR REPLY 16990000 - 0013A6 4120 C190 00190 1902 LA 2,USERL . CREATE USERPROG 17000000 - 0013AA 0AC3 1903 SVC C'C' 17010000 - 0013AC 4140 C088 00088 1904 LA 4,CARD+4 . START TO SCAN CARD 17020000 - 0013B0 4530 131C 015EA 1905 BAL 3,SCAN . GET NEXT TOKEN 17030000 - 0013B4 0650 1906 BCTR 5,0 . less one to remove K 17040002 - 0013B6 5650 138A 01658 1907 O 5,COREPKLN . length of packed size for execute 17049002 - 0013BA 4450 137A 01648 1908 EX 5,COREPACK . pack core digits 17058002 - 0013BE 4F80 1382 01650 1909 CVB 8,COREPCKD . convert core requested to binary 17067002 - 0013C2 1B99 1910 SR 9,9 . is core .. 17076002 - 0013C4 8C80 0002 00002 1911 SRDL 8,2 . .. modulo four .. 17085002 - 0013C8 1299 1912 LTR 9,9 . .. equal zero? 17094002 - 0013CA 4780 1104 013D2 1913 BZ COREOK . -> yes, use it 17103002 - 0013CE 4180 8001 00001 1914 LA 8,1(,8) . -> no, up one page 17112002 - 0013D2 8980 000C 0000C 1915 COREOK SLL 8,12 . core bytes, rounded up to full pages 17121002 - 0013D6 5080 C1A8 001A8 1916 ST 8,CORE . remember core requirement 17130002 - 0013DA 4530 131C 015EA 1917 ASGNUNIT BAL 3,SCAN . GET NEXT TOKEN 17150000 - 0013DE 957E 4000 00000 1918 CLI 0(4),C'=' . IS IT AN '='? 17160000 - 0013E2 4770 1194 01462 1919 BNE LOAD . IF NOT, LOAD IN THE OBJECT DECK 17170000 - 0013E6 955C 9000 00000 1920 CLI 0(9),C'*' . HAS USER NAMED IT STARTING 17180000 - 0013EA 4780 12C8 01596 1921 BE EXPUNGE . WITH '*'? IF SO, THROW HIM OUT 17190000 - 0013EE 4120 C19C 0019C 1922 LA 2,SEQ . ELSE CREATE A PROCESS 17200000 - 0013F2 D207 C19C 141A 0019C 016E8 1923 MVC SEQ,=CL8' ' . BLANK OUT THE NAME 17210000 - 0013F8 4450 1154 01422 1924 EX 5,UNAMMOV . THEN MOVE THE RELEVANT 17220000 - 0013FC 0AC3 1925 SVC C'C' . CHARACTERS AND CREATE 17230000 - 0013FE 4120 C19C 0019C 1926 LA 2,SEQ . WE'LL START IT IN A MOMENT 17240000 - 001402 4530 131C 015EA 1927 BAL 3,SCAN . SCAN AGAIN 17250000 - 001406 4450 115A 01428 1928 EX 5,CMPIN . IS IT 'IN'? 17260000 - 00140A 4780 116C 0143A 1929 BE ASIN . IF SO, ASSIGN IT AS IN 17270000 - 00140E 4450 1160 0142E 1930 EX 5,CMPOUT . IF IT'S 'OUT' 17280000 - 001412 4780 117C 0144A 1931 BE ASOUT . ASSIGN IT AS OUT 17290000 - 001416 4450 1166 01434 1932 EX 5,CMPEXCP . IS IT 'EXCP'? 17300000 - 00141A 4780 1184 01452 1933 BE ASEXCP . IF SO, ASSIGN IT AS EXCP 17310000 - 00141E 47F0 12C8 01596 1934 B EXPUNGE . ERROR: GO ON TO NEXT JOB 17320000 - 001422 D200 C19C 9000 0019C 00000 1935 UNAMMOV MVC SEQ(0),0(9) . MOVE THE UNIT'S PROCESS NAME 17330000 - 001428 D500 9000 1461 00000 0172F 1936 CMPIN CLC 0(0,9),=C'IN ' . DOES IT SAY 'IN'? 17340000 - 00142E D500 9000 144E 00000 0171C 1937 CMPOUT CLC 0(0,9),=C'OUT ' . DOES IT SAY 'OUT'? 17350000 - 001434 D500 9000 1464 00000 01732 1938 CMPEXCP CLC 0(0,9),=C'EXCP ' . DOES IT SAY 'EXCP'? 17360000 -000143A 41B0 140A 016D8 1940 ASIN LA 11,=CL8'*IN' . POINT TO NAME OF READER HANDLER 17380000 - 00143E D203 C1A4 1452 001A4 01720 1941 SETDIM MVC UNITRTN,=A(DIM) . USE DIM AS THE INTERFACE 17390000 - 001444 0AE8 1942 SVC C'Y' 17400000 - 001446 47F0 110C 013DA 1943 B ASGNUNIT 17410000 - 00144A 41B0 1422 016F0 1944 ASOUT LA 11,=CL8'*OUT' . POINT TO NAME OF PRINTER HANDLER 17420000 - 00144E 47F0 1170 0143E 1945 B SETDIM 17430000 -1 Sample Operating System Version 2.00 Page 49 - Active Usings: PROGRAM,R0 PROGRAM+X'12CE',R1 SA,R8 JSPAS,R12 -0 Loc Object Code Addr1 Addr2 Stmt Source Statement HLASM R6.0 2016/08/29 08.42 -0001452 D203 C1A4 1456 001A4 01724 1946 ASEXCP MVC UNITRTN,=A(EXCPHNDL) . USE FOR USER SUPPLIED 17440000 - 001458 58B0 C18C 0018C 1947 L 11,KEY 17450000 - 00145C 0AE8 1948 SVC C'Y' . I/O ROUTINE 17460000 - 00145E 47F0 110C 013DA 1949 B ASGNUNIT 17470000 -0001462 4120 C1A8 001A8 1951 LOAD LA 2,CORE . READY TO ALLOCATE THE REGION 17490000 - 001466 0AC1 1952 SVC C'A' . AND ALLOCATE IT 17500000 - 001468 92FF C1DD 001DD 1953 MVI LOADED,X'FF' . REMEMBER THAT WE'RE LOADED 17510000 - 00146C 5890 C1AC 001AC 1954 L 9,CORE+4 . GET THE FIRST ADDRESS 17520000 - 001470 5840 C18C 0018C 1955 L 4,KEY . GET THE KEY 17530000 - 001474 8840 0010 00010 1956 SRL 4,16 17540000 - 001478 5640 13A2 01670 1957 O 4,FETCHPRT fetch protected 17545002 - 00147C 1839 1958 LR 3,9 . GET THE BLOCK FOLLOWING OURS 17550000 - 00147E 1A38 1959 AR 3,8 17560000 - 001480 5B30 138E 0165C 1960 LOADSK S 3,PAGESIZE . get the previous block, page aligned 17570002 - 001484 1939 1961 CR 3,9 . HAVE WE PASSED THE START? 17580000 - 001486 4740 11C4 01492 1962 BL LOADLOOP . IF SO, START LOADING 17590000 - 1963 * SSKE 4,3 . else set this block to the key 17600002 - 00148A B22B0043 1964 DC X'B22B0043' Assembler (XF) doesn't support SSKE 17603002 - 00148E 47F0 11B2 01480 1965 B LOADSK . AND BRANCH BACK 17610000 - 001492 4120 C164 00164 1966 LOADLOOP LA 2,TREAD . READ IN OBJECT DECK 17620000 - 001496 0AE2 1967 SVC C'S' . GET A CARD A'READING 17630000 - 001498 D203 C0DC 144A 000DC 01718 1968 MVC RREPLY1,=F'132' 17640000 - 00149E 4120 C0D4 000D4 1969 LA 2,RREPLY 17650000 - 0014A2 0AD9 1970 SVC C'R' . WAIT FOR ANSWER 17660000 - 0014A4 D502 C085 1469 00085 01737 1971 CLC CARD+1(3),=C'TXT' . IS IT A TXT CARD? 17670000 - 0014AA 4780 11F8 014C6 1972 BE TXTCARD 17680000 - 0014AE D502 C085 146C 00085 0173A 1973 CLC CARD+1(3),=C'RLD' . IS IT A RLD CARD? 17690000 - 0014B4 4780 1212 014E0 1974 BE RLDCARD 17700000 - 0014B8 D502 C085 146F 00085 0173D 1975 CLC CARD+1(3),=C'END' . IS IT AN END CARD? 17710000 - 0014BE 4780 1270 0153E 1976 BE ENDCARD 17720000 - 0014C2 47F0 11C4 01492 1977 B LOADLOOP . IF NONE, IGNORE. 17730000 -00014C6 58A0 C088 00088 1979 TXTCARD L 10,CARD+4 . GET THE RELATIVE ADDRESS 17750000 - 0014CA 1AA9 1980 AR 10,9 . PLUS THE ABSOLUTE ADDRESS 17760000 - 0014CC 48B0 C08E 0008E 1981 LH 11,CARD+10 . GET THE COUNT, 17770000 - 0014D0 06B0 1982 BCTR 11,0 . DECREMENTED 17780000 - 0014D2 44B0 120C 014DA 1983 EX 11,TXTMOV . AND MOVE THE TEXT 17790000 - 0014D6 47F0 11C4 01492 1984 B LOADLOOP . AND READ ANOTHER CARD! OH WOW! 17800000 - 0014DA D200 A000 C094 00000 00094 1985 TXTMOV MVC 0(0,10),CARD+16 17810000 -00014E0 48B0 C08E 0008E 1987 RLDCARD LH 11,CARD+10 . GET THE BYTE COUNT 17830000 - 0014E4 41D0 C098 00098 1988 LA 13,CARD+20 . AND AN INDEX INTO THE CARD 17840000 - 0014E8 58AD 0000 00000 1989 RLDLOOP L 10,0(13) . GET THE LOCATION TO BE RLD'D 17850000 - 0014EC 1AA9 1990 AR 10,9 . GET THE ABSOLUTE ADDRESS 17860000 - 0014EE 9103 D003 00003 1991 TM 3(13),X'03' . IS IT A FULLWORD? 17870000 - 0014F2 4770 1252 01520 1992 BNZ NOTALGND . IF NO, HANDLE AS THREE BYTES 17880000 - 0014F6 587A 0000 00000 1993 L 7,0(10) . GET THAT WORD (HAD BETTER BE 17890000 - 0014FA 1A79 1994 AR 7,9 . ONE); ADD THE RELOCATION 17900000 - 0014FC 507A 0000 00000 1995 ST 7,0(10) . ADDRESS, AND STORE IT BACK 17910000 - 001500 9101 D000 00000 1996 RLDCONT TM 0(13),X'01' . CHECK IF LONG OR SHORT FIELD 17920000 - 001504 4770 1242 01510 1997 BNZ SHORT . AND BRANCH ACCORDINGLY 17930000 - 001508 4140 0008 00008 1998 LA 4,8 . SKIP EIGHT BYTES 17940000 - 00150C 47F0 1246 01514 1999 B RLDFINI 17950000 - 001510 4140 0004 00004 2000 SHORT LA 4,4 . SKIP FOUR BYTES 17960000 -1 Sample Operating System Version 2.00 Page 50 - Active Usings: PROGRAM,R0 PROGRAM+X'12CE',R1 SA,R8 JSPAS,R12 -0 Loc Object Code Addr1 Addr2 Stmt Source Statement HLASM R6.0 2016/08/29 08.42 -0001514 1AD4 2001 RLDFINI AR 13,4 . INCREMENT THE CARD INDEX 17970000 - 001516 1BB4 2002 SR 11,4 . DECREMENT THE BYTE COUNT 17980000 - 001518 4720 121A 014E8 2003 BP RLDLOOP . AND TRY AGAIN 17990000 - 00151C 47F0 11C4 01492 2004 B LOADLOOP . OR READ ANOTHER CARD 18000000 - 001520 D202 C1B5 A000 001B5 00000 2005 NOTALGND MVC RLDTEMP+1(3),0(10) . PUT ADDRESS HERE 18010000 - 001526 5870 C1B4 001B4 2006 L 7,RLDTEMP . RELOCATE IT 18020000 - 00152A 1A79 2007 AR 7,9 18030000 - 00152C 5070 C1B4 001B4 2008 ST 7,RLDTEMP . AND PUT IT BACK TO 18040000 - 001530 D202 A000 C1B5 00000 001B5 2009 MVC 0(3,10),RLDTEMP+1 . WHERE IT BELONGS 18050000 - 001536 9400 C1B4 001B4 2010 NI RLDTEMP,X'00' . CLEAR OUT TEMPORARY 18060000 - 00153A 47F0 1232 01500 2011 B RLDCONT . AND LOOP BACK 18070000 -000153E 4120 C190 00190 2013 ENDCARD LA 2,USERL . FIND THE PCB FOR USERPROG 18090000 - 001542 0AD5 2014 SVC C'N' 18100000 - 001544 5840 C198 00198 2015 L 4,USERL+8 . GET THE ADDRESS 18110000 - R:4 00000 2016 USING PCB,4 18120000 - 001548 92FF 4019 00019 2017 MVI PCBBLOKT,X'FF' . TEMPORARILY BLOCK IT 18130000 - 00154C 5090 C198 00198 2018 ST 9,USERL+8 . STORE THE BEGINNING ADDRESS 18140000 - 001550 0AE8 2019 SVC C'Y' . THEN START IT 18150000 - 001552 5850 C18C 0018C 2020 L 5,KEY . GET THE KEY 18160000 - 001556 5650 404C 0004C 2021 O 5,PCBISA+0 . THEN OR THIS INTO THE 18170000 - 00155A 5050 404C 0004C 2022 ST 5,PCBISA+0 . FIRST WORD OF THE PCB 18180000 - 00155E 9601 404D 0004D 2023 OI PCBISA+1,X'01' . OR IN A 'PROGRAM STATE' BIT 18190000 - 001562 9200 4019 00019 2024 MVI PCBBLOKT,X'00' . AND THEN UNBLOCK IT 18200000 - 2025 DROP 4 18210000 - 001566 4120 C1B8 001B8 2026 LA 2,TALK . LISTEN TO WHAT IT SAYS 18220000 - 00156A 0AD9 2027 SVC C'R' 18230000 -000156C D207 C000 141A 00000 016E8 2029 MVC LINE(8),=CL8' ' . IF JOB FINISHED, CLEAR A LINE 18250000 - 001572 D27B C008 C007 00008 00007 2030 MVC LINE+8(124),LINE+7 18260000 - 001578 D20B C000 C1C4 00000 001C4 2031 MVC LINE(12),TALK+12 . MOVE THE MESSAGE ONTO THE LINE 18270000 - 00157E 4120 C178 00178 2032 LA 2,WRITE . AND SAY TO WRITE IT 18280000 - 001582 0AE2 2033 SVC C'S' 18290000 - 001584 4120 C1D0 001D0 2034 LA 2,ANYBACK 18300000 - 001588 0AD9 2035 SVC C'R' 18310000 - 00158A 4120 1352 01620 2036 LA 2,SKIP . SKIP TO THE TOP OF THE NEXT PAGE 18320000 - 00158E 0AE2 2037 SVC C'S' 18330000 - 001590 4120 C1D0 001D0 2038 LA 2,ANYBACK 18340000 - 001594 0AD9 2039 SVC C'R' 18350000 -0001596 5850 0270 00270 2041 EXPUNGE L 5,RUNNING . EXPUNGE A JOB: LOOK AT ALL PCBS 18370000 - 00159A 4120 C19C 0019C 2042 LA 2,SEQ 18380000 - R:5 00000 2043 USING PCB,5 18390000 - 00159E D207 C19C 5000 0019C 00000 2044 EXPLOOP MVC SEQ(8),PCBNAME . GET THE PROCESS NAME 18400000 - 0015A4 5840 5008 00008 2045 L 4,PCBNPTG . GET THE NEXT PTR 18410000 - 0015A8 955C C19C 0019C 2046 CLI SEQ+0,C'*' . IS IT A '*' PROCESS? 18420000 - 0015AC 4780 12E6 015B4 2047 BE EXPNXT . IF SO, SKIP OVER 18430000 - 0015B0 0AE9 2048 SVC C'Z' . ELSE STOP IT 18440000 - 0015B2 0AC4 2049 SVC C'D' . AND DESTROY IT 18450000 - 0015B4 1854 2050 EXPNXT LR 5,4 . GO TO THE NEXT PCB 18460000 - 0015B6 5950 0270 00270 2051 C 5,RUNNING . ARE WE THROUGH? 18470000 - 0015BA 4770 12D0 0159E 2052 BNE EXPLOOP . IF NOT, LOOP AGAIN 18480000 - 0015BE 9500 C1DD 001DD 2053 CLI LOADED,X'00' . WAS CORE ALLOCATED? 18490000 - 0015C2 4780 1086 01354 2054 BE LOOP . IF NOT, GO READ THE NEXT $JOB CARD 18500000 - 0015C6 4140 0008 00008 2055 LA 4,8 . set zero key and fetch protect 18510002 -1 Sample Operating System Version 2.00 Page 51 - Active Usings: PROGRAM,R0 PROGRAM+X'12CE',R1 PCB,R5 SA,R8 JSPAS,R12 -0 Loc Object Code Addr1 Addr2 Stmt Source Statement HLASM R6.0 2016/08/29 08.42 -00015CA 1839 2056 LR 3,9 . AND A POINTER TO THE NEXT 18520000 - 0015CC 1A38 2057 AR 3,8 . BLOCK AFTER OURS 18530000 - 0015CE 5B30 138E 0165C 2058 LOADCL S 3,PAGESIZE . get the previous block, page aligned 18540002 - 0015D2 1939 2059 CR 3,9 . ARE WE THROUGH? 18550000 - 0015D4 4740 1312 015E0 2060 BL LOADD . IF SO, GO FREE CORE 18560000 - 2061 * SSKE 4,3 . else clear storage key 18570002 - 0015D8 B22B0043 2062 DC X'B22B0043' Assembler (XF) doesn't support SSKE 18573002 - 0015DC 47F0 1300 015CE 2063 B LOADCL . AND LOOP BACK 18580000 - 0015E0 4120 C1A8 001A8 2064 LOADD LA 2,CORE 18590000 - 0015E4 0AC6 2065 SVC C'F' . FREE THE STORAGE 18600000 - 0015E6 47F0 1086 01354 2066 B LOOP . READ ANOTHER $JOB CARD 18610000 -00015EA 1B55 2068 SCAN SR 5,5 . START THE TOKEN COUNT AT ZERO 18630000 - 0015EC 4144 0001 00001 2069 SCANLOOP LA 4,1(4) . GO TO NEXT CHARACTER 18640000 - 0015F0 956B 4000 00000 2070 CLI 0(4),C',' . DO WE HAVE A DELIMITER? IF SO, 18650000 - 0015F4 4780 1342 01610 2071 BE TOKSTART 18660000 - 0015F8 957E 4000 00000 2072 CLI 0(4),C'=' . DITTO 18670000 - 0015FC 4780 1342 01610 2073 BE TOKSTART 18680000 - 001600 9540 4000 00000 2074 CLI 0(4),C' ' . DITTO 18690000 - 001604 4780 1342 01610 2075 BE TOKSTART 18700000 - 001608 4155 0001 00001 2076 LA 5,1(5) . AND UP COUNT 18710000 - 00160C 47F0 131E 015EC 2077 B SCANLOOP . AND LOOP 18720000 - 001610 1894 2078 TOKSTART LR 9,4 . SET REG9 TO START 18730000 - 001612 1B95 2079 SR 9,5 . OF THIS TOKEN 18740000 - 001614 0650 2080 BCTR 5,0 . LESS ONE FOR EXECUTE INSTRUCTION 18750000 - 001616 07F3 2081 BR 3 18760000 --001618 0000000000000000 2083 JSPNEVER DC F'0,0' . A GOOD WAY TO DIE: P(JSPNEVER) 18780000 - 001620 5CD6E4E340404040 2084 SKIP DC CL8'*OUT' . MESSAGE BLOCK FOR A NEW PAGE 18790000 - 001628 00000008 2085 DC F'8' 18800000 - 00162C E2E3C3F1 2086 DC CL4'STC1' 18810000 - 001630 5CC9D54040404040 2087 INSEQ DC CL8'*IN' . SEQ TO CREATE & START *IN 18820000 - 001638 00000AC6 2088 DC A(RDRHANDL) 18830000 - 00163C 5CD6E4E340404040 2089 OUTSEQ DC CL8'*OUT' . SEQ TO CREATE & START *OUT 18840000 - 001644 00000C48 2090 DC A(PRTHANDL) 18850000 - 001648 F200 1382 9000 01650 00000 2091 COREPACK PACK COREPCKD(1),0(1,9) . executed to pack core size req'd 18860002 - 001650 2092 COREPCKD DS D . packed core requirement goes here 18880002 - 001658 00000070 2093 COREPKLN DC X'00000070' . length of packed size for execute 18900002 - 00165C 00001000 2094 PAGESIZE DC F'4096' . page size for core computation 18920002 - 001660 0000000100000000 2095 JSPSUSEM DC F'1,0' . SEMAPHORE TO LOCK ROUTINE 18990000 - 001668 000001E0 2096 JSPAAS DC A(LENJSPAS) . ALLOCATE LIST FOR AUTO STORAGE 19000000 - 00166C 2097 DS A 19010000 - 001670 00000008 2098 FETCHPRT DC F'8' reused to or in fetch protection 19020002 -1 Sample Operating System Version 2.00 Page 52 - Active Usings: PROGRAM,R0 PROGRAM+X'12CE',R1 PCB,R5 SA,R8 JSPAS,R12 -0 Loc Object Code Addr1 Addr2 Stmt Source Statement HLASM R6.0 2016/08/29 08.42 -0 2100 *********************************************************************** 19040000 - 2101 * * 19050000 - 2102 * DEVICE INTERFACE MODULE * 19060000 - 2103 * * 19070000 - 2104 * FUNCTION: TO INTERFACE BETWEEN USERPROG AND DEVICE HANDLER * 19080000 - 2105 * DATABASES: NONE * 19090000 - 2106 * ROUTINES USED: XA, XP, XV, XR, XS * 19100000 - 2107 * PROCEDURE: ALLOCATE AUTOMATIC STORAGE; START TO READ MESSAGE * 19110000 - 2108 * FROM USER; SEND MESSAGE TO DEVICE HANDLER; * 19120000 - 2109 * CONTINUE LOOPING, SENDING MESSAGES FROM USER TO * 19130000 - 2110 * DEVICE HANDLER AND BACK. * 19140000 - 2111 * ERROR CHECKS: NONE * 19150000 - 2112 * INTERRUPTS: ON * 19160000 - 2113 * USER ACCESS: YES * 19170000 - 2114 * * 19180000 - 2115 *********************************************************************** 19190000 -0 01674 2117 DIM EQU * . THE DEVICE INTERFACE MODULE 19210000 - 001674 0510 2118 BALR 1,0 19220000 - R:1 01676 2119 USING *,1 . ESTABLISH ADDRESSING 19230000 - 001676 4120 1042 016B8 2120 LA 2,DIMSEM . LOCK UNTIL GET STORAGE 19240000 - 00167A 0AD7 2121 SVC C'P' 19250000 - 00167C 4120 104A 016C0 2122 LA 2,DIMAAS . READY TO ALLOCATE STORAGE 19260000 - R:2 00000 2123 USING XAX,2 19270000 - 001680 0AC5 2124 SVC C'E' . DO IT 19280000 - 001682 58C0 2004 00004 2125 L 12,XAXADDR . GET THE ADDRESS 19290000 - 2126 DROP 2 19300000 - 001686 4120 1042 016B8 2127 LA 2,DIMSEM . UNLOCK OURSELVES 19310000 - 00168A 0AE5 2128 SVC C'V' 19320000 - R:C 00000 2129 USING DIMAS,12 . USE 12 FOR AUTO STORAGE 19330000 - 00168C D207 C090 B000 00090 00000 2130 MVC DIMLMS,0(11) . MOVE NAME OF RECIEVER 19340000 - 001692 4180 0084 00084 2131 LA 8,132 . REG 8 = SIZE OF MESSAGE 19350000 - 001696 5080 C008 00008 2132 DIMLOOP ST 8,DIMMSG+8 . GET READY TO READ A MESSAGE 19360000 - 00169A 4120 C000 00000 2133 LA 2,DIMMSG 19370000 - 00169E 0AD9 2134 SVC C'R' . READ 19380000 - 0016A0 D207 C098 C000 00098 00000 2135 MVC DIMTEMP,DIMMSG . SAVE SENDER NAME 19390000 - 0016A6 D207 C000 C090 00000 00090 2136 MVC DIMMSG,DIMLMS . SEND IT BACK TO THE LAST GUY 19400000 - 0016AC 0AE2 2137 SVC C'S' . SEND IT 19410000 - 0016AE D207 C090 C098 00090 00098 2138 MVC DIMLMS,DIMTEMP . AND REMEMBER WHO TO SEND TO NEXT 19420000 - 0016B4 47F0 1020 01696 2139 B DIMLOOP . RELOOP 19430000 - 0016B8 0000000100000000 2140 DIMSEM DC F'1,0' . SEMAPHORE FOR ENTRY 19440000 - 0016C0 000000A0 2141 DIMAAS DC A(DIMLEN) . ALLOCATE SEQ FOR AUTO STORAGE 19450000 - 0016C4 00000000 2142 DC A(0) 19460000 - 0016C8 00000008 2143 DC F'8' 19470000 - 2144 DROP 12 19480000 -1 Sample Operating System Version 2.00 Page 53 - Active Usings: PROGRAM,R0 PROGRAM+X'1676',R1 PCB,R5 SA,R8 -0 Loc Object Code Addr1 Addr2 Stmt Source Statement HLASM R6.0 2016/08/29 08.42 -00016D0 2146 LTORG 19500000 - 0016D0 0000000000FFE8C0 2147 =A(0,CORESIZE-(VERYEND-PROGRAM)) - 0016D8 5CC9D54040404040 2148 =CL8'*IN' - 0016E0 E4E2C5D9D7D9D6C7 2149 =CL8'USERPROG' - 0016E8 4040404040404040 2150 =CL8' ' - 0016F0 5CD6E4E340404040 2151 =CL8'*OUT' - 0016F8 00000EA4 2152 =A(UCBTABLE) - 0016FC 00000FC4 2153 =A(UCBTBEND) - 001700 00000008 2154 =F'8' - 001704 D9C5C1C4 2155 =C'READ' - 001708 D7D9C9D5 2156 =C'PRIN' - 00170C 0000000C 2157 =F'12' - 001710 00000001 2158 =F'1' - 001714 00000000 2159 =A(0) - 001718 00000084 2160 =F'132' - 00171C D6E4E340 2161 =C'OUT ' - 001720 00001674 2162 =A(DIM) - 001724 00000D74 2163 =A(EXCPHNDL) - 001728 D6D2 2164 =C'OK' - 00172A 5BD1D6C26B 2165 =C'$JOB,' - 00172F C9D540 2166 =C'IN ' - 001732 C5E7C3D740 2167 =C'EXCP ' - 001737 E3E7E3 2168 =C'TXT' - 00173A D9D3C4 2169 =C'RLD' - 00173D C5D5C4 2170 =C'END' - 001740 2171 VERYEND DS 6D . beginning of free storage 19510004 - 001770 2172 LOADER DS 0D IPL loader goes here 19521002 -1 Sample Operating System Version 2.00 Page 54 - Active Usings: PROGRAM,R0 PROGRAM+X'1676',R1 PCB,R5 SA,R8 -0 Loc Object Code Addr1 Addr2 Stmt Source Statement HLASM R6.0 2016/08/29 08.42 -0 00000 2174 R0 EQU 0 19521502 - 00001 2175 R1 EQU 1 19522002 - 00002 2176 R2 EQU 2 19522502 - 00003 2177 R3 EQU 3 19523002 - 00004 2178 R4 EQU 4 19523502 - 00005 2179 R5 EQU 5 19524002 - 00006 2180 R6 EQU 6 19524502 - 00007 2181 R7 EQU 7 19525002 - 00008 2182 R8 EQU 8 19525502 - 00009 2183 R9 EQU 9 19526002 - 0000A 2184 R10 EQU 10 19526502 - 0000B 2185 R11 EQU 11 19527002 - 0000C 2186 R12 EQU 12 19527502 - 0000D 2187 R13 EQU 13 19528002 - 0000E 2188 R14 EQU 14 19528502 - 0000F 2189 R15 EQU 15 19529002 - 2190 *********************************************************************** 19530000 - 2191 * * 19540000 - 2192 * DATABASE DEFINITIONS * 19550000 - 2193 * * 19560000 - 2194 *********************************************************************** 19570000 -0000000 00000 00148 2196 PCB DSECT . PROCESS CONTROL BLOCK DEFINITION 19590000 - 000000 2197 PCBNAME DS CL8 . NAME 19600000 - 000008 2198 PCBNPTG DS F . NEXT POINTER THIS GROUP 19610000 - 00000C 2199 PCBLPTG DS F . LAST POINTER THIS GROUP 19620000 - 000010 2200 PCBNPALL DS F . NEXT POINTER ALL 19630000 - 000014 2201 PCBLPALL DS F . LAST POINTER ALL 19640000 - 000018 2202 PCBSTOPT DS C . STOPPED 19650000 - 000019 2203 PCBBLOKT DS C . BLOCKED 19660000 - 00001A 2204 PCBINSMC DS C . IN SMC 19670000 - 00001B 2205 PCBSW DS C . STOP WAITING 19680000 - 00001C 2206 PCBMSC DS CL8 . MESSAGE SEMAPHORE COMMON 19690000 - 000024 2207 PCBMSR DS CL8 . MESSAGE SEMAPHORE RECEIVER 19700000 - 00002C 2208 PCBFM DS F . FIRST MESSAGE 19710000 - 000030 2209 PCBNSW DS F . NEXT SEMAPHORE WAITER 19720000 - 000034 2210 PCBSRS DS CL8 . STOPPER SEMAPHORE 19730000 - 00003C 2211 PCBSES DS CL8 . STOPPEE SEMAPHORE 19740000 - 000044 2212 PCBASIZE DS F . AUTOMATIC STORAGE SIZE 19750000 - 000048 2213 PCBAADDR DS A . AUTOMATIC STORAGE ADDRESS 19760000 - 00004C 2214 PCBISA DS CL84 . INTERRUPT SAVE AREA 19770000 - 0000A0 2215 PCBFSA DS CL84 . FAULT SAVE AREA 19780000 - 0000F4 2216 PCBMSA DS CL84 . MEMORY SAVE AREA 19790000 - 000148 2217 DS 0D . (ALIGN) 19800000 - 00148 2218 LENPCB EQU *-PCB . (LENGTH) 19810000 -0000000 00000 00054 2220 SA DSECT . SAVE AREA DEFINITION 19830000 - 000000 2221 SAPSW DS D . PROGRAM STATUS WORD 19840000 - 000008 2222 SAREGS DS CL64 . REGISTERS 19850000 - 000048 2223 SATEMP DS CL12 . TEMPORARIES 19860000 -0000000 00000 00040 2225 REGS DSECT . REGISTER DEFINITION 19880000 - 000000 2226 REG0 DS F . REGISTER 0 19890000 - 000004 2227 REG1 DS F . REGISTER 1 19900000 - 000008 2228 REG2 DS F . REGISTER 2 19910000 -1 Sample Operating System Version 2.00 Page 55 - Active Usings: PROGRAM,R0 PROGRAM+X'1676',R1 PCB,R5 SA,R8 -0D-Loc Object Code Addr1 Addr2 Stmt Source Statement HLASM R6.0 2016/08/29 08.42 -000000C 2229 REG3 DS F . REGISTER 3 19920000 - 000010 2230 REG4 DS F . REGISTER 4 19930000 - 000014 2231 REG5 DS F . REGISTER 5 19940000 - 000018 2232 REG6 DS F . REGISTER 6 19950000 - 00001C 2233 REG7 DS F . REGISTER 7 19960000 - 000020 2234 REG8 DS F . REGISTER 8 19970000 - 000024 2235 REG9 DS F . REGISTER 9 19980000 - 000028 2236 REG10 DS F . REGISTER 10 19990000 - 00002C 2237 REG11 DS F . REGISTER 11 20000000 - 000030 2238 REG12 DS F . REGISTER 12 20010000 - 000034 2239 REG13 DS F . REGISTER 13 20020000 - 000038 2240 REG14 DS F . REGISTER 14 20030000 - 00003C 2241 REG15 DS F . REGISTER 15 20040000 -0000000 00000 00008 2243 FSB DSECT . FREE STORAGE BLOCK DEFINITIONS 20060000 - 000000 2244 FSBNEXT DS A . NEXT 20070000 - 000004 2245 FSBSIZE DS F . SIZE 20080000 -0000000 00000 00008 2247 SM DSECT . SEMAPHORE DEFINITION 20100000 - 000000 2248 SMVAL DS F . VALUE 20110000 - 000004 2249 SMPTR DS F . PTR 20120000 -0000000 00000 0000C 2251 MSG DSECT . MESSAGE DEFINITION 20140000 - 000000 2252 MSGSENDR DS A . POINTER TO SENDER'S PCB 20150000 - 000004 2253 MSGNEXT DS A . NEXT 20160000 - 000008 2254 MSGSIZE DS F . SIZE 20170000 - 00000C 2255 MSGTEXT DS 0C . TEXT 20180000 - 0000C 2256 LENMSG EQU *-MSG . (LENGTH) 20190000 -0000000 00000 0000C 2258 XAX DSECT . XA ARGUMENT LIST 20210000 - 000000 2259 XAXSIZE DS F . SIZE 20220000 - 000004 2260 XAXADDR DS F . ADDRESS 20230000 - 000008 2261 XAXALGN DS F . ALIGNMENT 20240000 -0000000 00000 00008 2263 XFX DSECT . XF ARGUMENT LIST 20260000 - 000000 2264 XFXSIZE DS F . SIZE 20270000 - 000004 2265 XFXADDR DS F . ADDRESS 20280000 -0000000 00000 00008 2267 XBX DSECT . XB ARGUMENT LIST 20300000 - 000000 2268 XBXSIZE DS F . SIZE 20310000 - 000004 2269 XBXADDR DS F . ADDRESS 20320000 -0000000 00000 00008 2271 XCX DSECT . XC ARGUMENT LIST 20340000 - 000000 2272 XCXNAME DS CL8 . NAME 20350000 -0000000 00000 00008 2274 XDX DSECT . AD ARGUMENT LIST 20370000 - 000000 2275 XDXNAME DS CL8 . NAME 20380000 -0000000 00000 0000C 2277 XNX DSECT . XN ARGUMENT LIST 20400000 - 000000 2278 XNXNAME DS CL8 . NAME 20410000 - 000008 2279 XNXADDR DS A . ADDRESS 20420000 -0000000 00000 0000C 2281 XRX DSECT . XR ARGUMENT LIST 20440000 - 000000 2282 XRXNAME DS CL8 . NAME 20450000 - 000008 2283 XRXSIZE DS F . SIZE 20460000 -1 Sample Operating System Version 2.00 Page 56 - Active Usings: PROGRAM,R0 PROGRAM+X'1676',R1 PCB,R5 SA,R8 -0D-Loc Object Code Addr1 Addr2 Stmt Source Statement HLASM R6.0 2016/08/29 08.42 -000000C 2284 XRXTEXT DS 0C . TEXT 20470000 -0000000 00000 0000C 2286 XSX DSECT . XS ARGUMENT LIST 20490000 - 000000 2287 XSXNAME DS CL8 . NAME 20500000 - 000008 2288 XSXSIZE DS F . SIZE 20510000 - 00000C 2289 XSXTEXT DS 0C . TEXT 20520000 -0000000 00000 0000C 2291 XYX DSECT . XY ARGUMENT LIST 20540000 - 000000 2292 XYXNAME DS CL8 . NAME 20550000 - 000008 2293 XYXADDR DS A . ADDR 20560000 -0000000 00000 00008 2295 XZX DSECT . XZ ARGUMENT LIST 20580000 - 000000 2296 XZXNAME DS CL8 . NAME 20590000 -0000000 00000 00080 2298 RDRHAS DSECT . READER HANDLER AUTOMATIC STORAGE 20610000 - 000000 2299 RDRHCCB DS 2F . CCB 20620000 - 000008 2300 RDRHMSG DS CL8 . MESSAGE BLOCK FOR REQUESTS 20630000 - 000010 2301 DS F'8' 20640000 - 000014 2302 DS CL8 20650000 - 00001C 2303 RDRHTEMP DS CL80 . AREA FOR $JOB IN DATA STREAM 20660000 - 00006C 2304 RDRHM DS CL8 . MESSAGE BLOCK FOR REPLY 20670000 - 000074 2305 DS F'2' 20680000 - 000078 2306 DS CL2 20690000 - 00007A 2307 JOBBIT DS 1C 20700000 - 000080 2308 DS 0D 20710000 - 00080 2309 LENRDRHA EQU *-RDRHAS . (LENGTH) 20720000 -0000000 00000 00030 2311 PRTHAS DSECT . PRINTER HANDLER AUTOMATIC STORAGE 20740000 - 000000 2312 PRTHCCB DS 2F . CCB 20750000 - 000008 2313 PRTHMSG DS CL8 . MESSAGE BLOCK FOR REQUESTS 20760000 - 000010 2314 DS F'2' 20770000 - 000014 2315 DS CL8 20780000 - 00001C 2316 PRTHM DS CL8 . MESSAGE BLOCK FOR REPLY 20790000 - 000024 2317 DS F'2' 20800000 - 000028 2318 DS CL2 20810000 - 000030 2319 DS 0D 20820000 - 00030 2320 LENPRTHA EQU *-PRTHAS . (LENGTH) 20830000 -0000000 00000 00030 2322 EXCPHAS DSECT . EXCP HANDLER AUTOMATIC STORAGE 20850000 - 000000 2323 EXCPHMSG DS CL8 . MESSAGE BLOCK FOR REQUESTS 20860000 - 000008 2324 DS F'12' 20870000 - 00000C 2325 DS CL12 20880000 - 000018 2326 EXCPHM DS CL8 . MESSAGE BLOCK FOR REPLY 20890000 - 000020 2327 DS F'12' 20900000 - 000024 2328 DS CL12 20910000 - 000030 2329 DS 0D 20920000 - 00030 2330 LENEXCPA EQU *-EXCPHAS . (LENGTH) 20930000 -0000000 00000 00020 2332 UCB DSECT . UNIT CONTROL BLOCK DEFINITION 20950000 - 000000 2333 UCBADDR DS F . ADDRESS 20960000 - 000004 2334 UCBUS DS FL8 . USER SEMAPHORE 20970000 - 00000C 2335 UCBWS DS FL8 . WAITER SEMAPHORE 20980000 - 000014 2336 UCBCSW DS FL8 . CHANNEL STATUS WORD 20990000 - 00001C 2337 UCBFPR DS CL1 . FAST PROCESSING REQUIRED 21000000 - 000020 2338 DS 0F 21010000 -1 Sample Operating System Version 2.00 Page 57 - Active Usings: PROGRAM,R0 PROGRAM+X'1676',R1 PCB,R5 SA,R8 -0D-Loc Object Code Addr1 Addr2 Stmt Source Statement HLASM R6.0 2016/08/29 08.42 -0 00020 2339 UCBLENG EQU *-UCB 21020000 -0000000 00000 001E0 2341 JSPAS DSECT . JSP AUTOMATIC STORAGE 21040000 - 000000 2342 LINE DS CL132 . PRINTED LINE 21050000 - 000084 2343 DS 0F 21060000 - 000084 2344 CARD DS CL80 . CARD READ 21070000 - 0000D4 2345 DS 0F 21080000 - 0000D4 2346 RREPLY DS CL8 . MESSAGE BLOCK FOR REPLIES 21090000 - 0000DC 2347 RREPLY1 DS F 21100000 - 0000E0 2348 REPLY DS CL132 21110000 - 000164 2349 TREAD DS 0F . MESSAGE BLOCK FOR READING 21120000 - 000164 2350 DS CL8'*IN' 21130000 - 00016C 2351 DS F'8' 21140000 - 000170 2352 DS CL4'READ' 21150000 - 000174 2353 ACARD DS A(0) 21160000 - 000178 2354 WRITE DS CL8'*OUT' . MESSAGE BLOCK TO PRINT A LINE 21170000 - 000180 2355 DS F'8' 21180000 - 000184 2356 DS CL4'PRIN' 21190000 - 000188 2357 DS A(LINE) 21200000 - 00018C 2358 KEY DS F 21210000 - 000190 2359 USERL DS CL8'USERPROG' . LIST FOR MANIPULATING USERPROG 21220000 - 000198 2360 DS F 21230000 - 00019C 2361 SEQ DS CL8' ' . COMMON ARG LIST FOR I/O PROCESS 21240000 - 0001A4 2362 UNITRTN DS A 21250000 - 0001A8 2363 CORE DS F . MEMORY ALLOCATED AND FREE 21260000 - 0001AC 2364 DS F . SEQUENCE 21270000 - 0001B0 2365 DS F'4096' align to page boundary 21280002 - 0001B4 2366 RLDTEMP DS F 21290000 - 0001B8 2367 TALK DS CL8'USERPROG' . MESSAGE BLOCK FOR MESSAGE FROM 21300000 - 0001C0 2368 DS F'12' . USERPROG 21310000 - 0001C4 2369 DS CL12 21320000 - 0001D0 2370 ANYBACK DS CL8 . MESSAGE BLOCK FOR IGNORING MESS 21330000 - 0001D8 2371 DS F'1' 21340000 - 0001DC 2372 DS CL1 21350000 - 0001DD 2373 LOADED DS C . IS CORE ALLOCATED 21360000 - 0001E0 2374 DS 0D 21370000 - 001E0 2375 LENJSPAS EQU *-JSPAS . (LENGTH) 21380000 -0000000 00000 000A0 2377 DIMAS DSECT . DEVICE INTERFACE MODULE STORAGE 21400000 - 000000 2378 DIMMSG DS CL8 . MESSAGE BLOCK 21410000 - 000008 2379 DS F'132' 21420000 - 00000C 2380 DS CL132 21430000 - 000090 2381 DIMLMS DS CL8 . LAST MESSAGE SENDER 21440000 - 000098 2382 DIMTEMP DS CL8 . TEMPORARY 21450000 - 0000A0 2383 DS 0D 21460000 - 000A0 2384 DIMLEN EQU *-DIMAS . (LENGTH) 21470000 - 2385 END 21480000 -1 Relocation Dictionary Page 58 -- Pos.Id Rel.Id Address Type Action HLASM R6.0 2016/08/29 08.42 -0 00000001 00000001 00000005 A 3 + - 00000001 00000001 0000005D A 3 + - 00000001 00000001 00000065 A 3 + - 00000001 00000001 0000006D A 3 + - 00000001 00000001 00000180 A 4 + - 00000001 00000001 0000042D A 3 + - 00000001 00000001 00000435 A 3 + - 00000001 00000001 0000043D A 3 + - 00000001 00000001 00000445 A 3 + - 00000001 00000001 0000044D A 3 + - 00000001 00000001 00000455 A 3 + - 00000001 00000001 0000045D A 3 + - 00000001 00000001 00000465 A 3 + - 00000001 00000001 0000046D A 3 + - 00000001 00000001 00000475 A 3 + - 00000001 00000001 0000047D A 3 + - 00000001 00000001 00000485 A 3 + - 00000001 00000001 0000048D A 3 + - 00000001 00000001 00000495 A 3 + - 00000001 00000001 0000049D A 3 + - 00000001 00000001 000004A5 A 3 + - 00000001 00000001 000004AD A 3 + - 00000001 00000001 000004B5 A 3 + - 00000001 00000001 000004BD A 3 + - 00000001 00000001 000004C5 A 3 + - 00000001 00000001 000004C8 A 4 + - 00000001 00000001 000004DD A 3 + - 00000001 00000001 0000059D A 3 + - 00000001 00000001 00000E5C A 4 + - 00000001 00000001 00000E90 A 4 + - 00000001 00000001 000010CC A 4 + - 00000001 00000001 000010D0 A 4 + - 00000001 00000001 000010D4 A 4 + - 00000001 00000001 000010D8 A 4 + - 00000001 00000001 000010EC A 4 + - 00000001 00000001 000010F0 A 4 + - 00000001 00000001 000010F4 A 4 + - 00000001 00000001 000010F8 A 4 + - 00000001 00000001 000010FC A 4 + - 00000001 00000001 00001100 A 4 + - 00000001 00000001 00001104 A 4 + - 00000001 00000001 00001108 A 4 + - 00000001 00000001 00001118 A 4 + - 00000001 00000001 0000111C A 4 + - 00000001 00000001 00001120 A 4 + - 00000001 00000001 00001124 A 4 + - 00000001 00000001 000012B9 A 3 + - 00000001 00000001 000012C1 A 3 + - 00000001 00000001 000012C5 A 3 + - 00000001 00000001 000012C9 A 3 + - 00000001 00000001 00001638 A 4 + - 00000001 00000001 00001644 A 4 + - 00000001 00000001 000016F8 A 4 + - 00000001 00000001 000016FC A 4 + - 00000001 00000001 00001720 A 4 + -1 Relocation Dictionary Page 59 -- Pos.Id Rel.Id Address Type Action HLASM R6.0 2016/08/29 08.42 -0 00000001 00000001 00001724 A 4 + - 00000001 00000002 0000007D A 3 + - 00000003 00000001 00001815 A 3 + - 00000003 00000001 00001819 A 3 + - 00000003 00000001 00001821 A 3 + -1 Ordinary Symbol and Literal Cross Reference Page 60 --Symbol Length Value Id R Type Asm Program Defn References HLASM R6.0 2016/08/29 08.42 -0ACARD 4 00000174 FFFFFFEB A A 2353 1859M - ANYBACK 8 000001D0 FFFFFFEB C C 2370 1868M 2034 2038 - ASEXCP 6 00001452 00000001 I 1946 1933B - ASGNUNIT 4 000013DA 00000001 I 1917 1943B 1949B - ASIN 4 0000143A 00000001 I 1940 1929B - ASOUT 4 0000144A 00000001 I 1944 1931B - CARD 80 00000084 FFFFFFEB C C 2344 1858 1888 1897 1904 1971 1973 1975 1979 1981 1985 - 1987 1988 - CARDLDR 1 00001770 00000002 J 43 62 66U - CAW 4 00000048 00000001 F F 142 74M 1369M 1481M 1561M - CAWSEM 4 00000194 00000001 F F 158 1367 1479 1559 - CCBCON1 4 00000C30 00000001 X X 1412 1361 1471 - CCWCHAIN 8 00001810 00000002 D D 123 73 - CMPEXCP 6 00001434 00000001 I 1938 1932X - CMPIN 6 00001428 00000001 I 1936 1928X - CMPOUT 6 0000142E 00000001 I 1937 1930X - CONTINUE 4 000017FC 00000002 F F 119 96M - CORE 4 000001A8 FFFFFFEB F F 2363 1865M 1916M 1951 1954 2064 - COREOK 4 000013D2 00000001 I 1915 1913B - COREPACK 6 00001648 00000001 I 2091 1908X - COREPCKD 8 00001650 00000001 D D 2092 1909 2091M - COREPKLN 4 00001658 00000001 X X 2093 1907 - CORESIZ 4 00001264 00000001 A A 1817 1747 - CORESIZE 1 01000000 00000001 A U 129 1817 2147 - CSW 8 00000040 00000001 D D 141 106 1703 1704 1707 - DIM 1 00001674 00000001 U 2117 2162 - DIMAAS 4 000016C0 00000001 A A 2141 2122 - DIMAS 1 00000000 FFFFFFEA J 2377 2129U 2384 - DIMLEN 1 000000A0 FFFFFFEA A U 2384 2141 - DIMLMS 8 00000090 FFFFFFEA C C 2381 2130M 2136 2138M - DIMLOOP 4 00001696 00000001 I 2132 2139B - DIMMSG 8 00000000 FFFFFFEA C C 2378 2132M 2133 2135 2136M - DIMSEM 4 000016B8 00000001 F F 2140 2120 2127 - DIMTEMP 8 00000098 FFFFFFEA C C 2382 2135M 2138 - EIGHT 4 00001808 00000002 F F 122 89 - ENBLECH0 2 000017EE 00000002 C C 115 72 - ENDADATA 6 00000BFE 00000001 I 1399 1390B - ENDCARD 4 0000153E 00000001 I 2013 1976B - EXCPCOMP 4 00000DB4 00000001 I 1547 1551B - EXCPDONE 4 00000E30 00000001 I 1581 1576B - EXCPFIND 2 00000DCA 00000001 I 1553 1548B - EXCPHAAS 4 00000E44 00000001 A A 1586 1527 - EXCPHAS 1 00000000 FFFFFFED J 2322 1536U 2330 - EXCPHM 8 00000018 FFFFFFED C C 2326 1566M 1567M 1568M 1569 - EXCPHMSG 8 00000000 FFFFFFED C C 2323 1537 1568 1571 - EXCPHNDL 1 00000D74 00000001 U 1521 2163 - EXCPHSEM 4 00000E3C 00000001 F F 1585 1525 1532 - EXCPLOOP 4 00000D92 00000001 I 1537 1542B 1583B - EXCPWAIT 4 00000DF0 00000001 I 1564 1578B - EXINTRPT 4 000012BC 00000001 I 1827 1834 - EXPLOOP 6 0000159E 00000001 I 2044 2052B - EXPNXT 2 000015B4 00000001 I 2050 2047B - EXPUNGE 4 00001596 00000001 I 2041 1921B 1934B - EXTHANDL 1 0000027A 00000001 U 175 146 1832 - EXTHRET 4 000002A8 00000001 I 191 180B 184B -1 Ordinary Symbol and Literal Cross Reference Page 61 --Symbol Length Value Id R Type Asm Program Defn References HLASM R6.0 2016/08/29 08.42 -0EXTNEW 1 00000058 00000001 B B 146 1741M 1781M - EXTOLD 8 00000018 00000001 D D 136 179 187 192 1827 - FETCHPRT 4 00001670 00000001 F F 2098 1957 - FSB 1 00000000 FFFFFFFC J 2243 576U 662U 731U 740U - FSBNEXT 4 00000000 FFFFFFFC A A 2244 589 590 597 665 679 680 734 735 741M - FSBPTR 4 00000180 00000001 A A 155 572 573 660 661 727 728 - FSBSEM 4 00000184 00000001 F F 156 570 616 658 693 - FSBSIZE 4 00000004 FFFFFFFC F F 2245 585 598 669 672 677 732 742M - GWINC 4 00000586 00000001 I 458 455B - GWLOOP 4 00000576 00000001 I 454 460B - GWRUN 6 000005A0 00000001 I 465 457B - IDLE 1 00000598 00000001 B B 463 461 - INSEQ 8 00001630 00000001 C C 2087 1873 - IOBACK 4 00001036 00000001 I 1724 1701B - IOCOMP 6 00000FD2 00000001 I 1696 1700B - IODEVFND 6 00000FEC 00000001 I 1703 1697B - IOHANDL 1 00000FC4 00000001 U 1690 1830 - IOHSAVE 4 000001DC 00000001 F F 161 1691M 1718 1724 - IOINTRPT 1 000017DA 00000002 U 105 70 150 - IOINTRTN 4 000017EA 00000002 I 110 107B - IONEW 1 00000078 00000001 B B 150 71M 448 1740M - IONOFPR 2 00001034 00000001 I 1723 1710B - IOOLD 8 00000038 00000001 D D 140 108M 109M 110 1694M 1696 1717 1725 - IOWAIT 4 0000102C 00000001 I 1720 1714B - IPLAPCBS 4 00001258 00000001 A A 1814 1755 - IPLCL 4 00001066 00000001 I 1748 1752B - IPLEXNEW 3 000012C9 00000001 R A 1834 1741 - IPLLOOP 4 0000107C 00000001 I 1755 1780B - IPLPCB 8 00001110 00000001 C C 1804 1742 1805 - IPLRTN 1 0000103E 00000001 U 1737 133 - IPLTH 2 00001076 00000001 I 1753 1749B - JOB 4 00001384 00000001 I 1894 1889B - JOBBIT 1 0000007A FFFFFFEF C C 2307 1323M 1337 1342M 1403M - JSP 1 000012CC 00000001 U 1842 1825 - JSPAAS 4 00001668 00000001 A A 2096 1847 - JSPAS 1 00000000 FFFFFFEB J 2341 1852U 2375 - JSPNEVER 4 00001618 00000001 F F 2083 1891 - JSPSUSEM 4 00001660 00000001 F F 2095 1845 1853 - KEY 4 0000018C FFFFFFEB F F 2358 1870M 1947 1955 2020 - KEYTAB 1 000010DC 00000001 U 1792 1777 - LENEXCPA 1 00000030 FFFFFFED A U 2330 1586 - LENJSPAS 1 000001E0 FFFFFFEB A U 2375 2096 - LENMSG 1 0000000C FFFFFFFA A U 2256 1073 1127 - LENPCB 1 00000148 FFFFFFFF A U 2218 1595 1814 - LENPRTHA 1 00000030 FFFFFFEE A U 2320 1511 - LENRDRHA 1 00000080 FFFFFFEF A U 2309 1415 - LINE 132 00000000 FFFFFFEB C C 2342 1863 1895M 1896M 1896 1897M 2029M 2030M 2030 2031M 2357 - LOAD 4 00001462 00000001 I 1951 1919B - LOADADDR 4 00001800 00000002 F F 120 76 - LOADCL 4 000015CE 00000001 I 2058 2063B - LOADD 4 000015E0 00000001 I 2064 2060B - LOADED 1 000001DD FFFFFFEB C C 2373 1894M 1953M 2053 - LOADER 8 00001770 00000001 D D 2172 49 50 52 - LOADLOOP 4 00001492 00000001 I 1966 1962B 1977B 1984B 2004B - LOADSK 4 00001480 00000001 I 1960 1965B -1 Ordinary Symbol and Literal Cross Reference Page 62 --Symbol Length Value Id R Type Asm Program Defn References HLASM R6.0 2016/08/29 08.42 -0LOOP 4 00001354 00000001 I 1881 1890B 2054B 2066B - MEMORY 4 0000018C 00000001 F F 157 593 688 - MSG 1 00000000 FFFFFFFA J 2251 839U 1050U 1139U 1147U 2256 - MSGNEXT 4 00000004 FFFFFFFA A A 2253 840 1051 1142 1143 1148M - MSGSENDR 4 00000000 FFFFFFFA A A 2252 1068 1149M - MSGSIZE 4 00000008 FFFFFFFA F F 2254 841 1059 1061 1072 1151M - MSGTEXT 1 0000000C FFFFFFFA C C 2255 1084 1162M - NEXTCARD 2 0000179C 00000002 I 80 88B - NEXTTRY 4 00000274 00000001 A A 166 424M 451 465M 1744M - NEXTTRYM 1 00000278 00000001 C C 167 422 425M 466M 1720M - NOTALGND 6 00001520 00000001 I 2005 1992B - NUMCARDS 4 00001804 00000002 F F 121 75 - OUTSEQ 8 0000163C 00000001 C C 2089 1877 - PAGESIZE 4 0000165C 00000001 F F 2094 1748 1865 1960 2058 - PCB 1 00000000 FFFFFFFF J 2196 182U 222U 317 318 319 373U 380U 419U 453U 473U - 782U 825U 830U 834U 862U 917U 920U 924U 928U 931U - 936U 956U 960U 963U 966U 970U 973U 977U 1003U 1013U - 1070U 1086U 1122U 1164U 1198U 1209U 1248U 1260U 1712U 1761U - 1765U 1769U 2016U 2043U 2218 - PCBAADDR 4 00000048 FFFFFFFF A A 2213 621M 850 - PCBASIZE 4 00000044 FFFFFFFF F F 2212 620M 852 - PCBBLOKT 1 00000019 FFFFFFFF C C 2203 183 383M 421M 454 785 785M 1713 2017M 2024M - PCBFM 4 0000002C FFFFFFFF F F 2208 836 1049 1051M 1137 1138 - PCBFSA 84 000000A0 FFFFFFFF C C 2215 318 - PCBINSMC 1 0000001A FFFFFFFF C C 2204 492 494M 517 519M 1249 - PCBISA 84 0000004C FFFFFFFF C C 2214 185 317 384M 468 785 1199 1715 1770 2021 2022M - 2023M - PCBLPALL 4 00000014 FFFFFFFF F F 2201 918M 921M 957 964M - PCBLPTG 4 0000000C FFFFFFFF F F 2199 929M 932M 967 974M 1763M 1766M - PCBMSA 84 000000F4 FFFFFFFF C C 2216 319 - PCBMSC 8 0000001C FFFFFFFF C C 2206 1047 1135 - PCBMSR 8 00000024 FFFFFFFF C C 2207 1044 1157 - PCBNAME 8 00000000 FFFFFFFF C C 2197 783M 1005 1071 1235 2044 - PCBNPALL 4 00000010 FFFFFFFF F F 2200 458 465 914 915M 922M 958 961M - PCBNPTG 4 00000008 FFFFFFFF F F 2198 925 926M 933M 968 971M 1004 1762M 1767M 2045 - PCBNSW 4 00000030 FFFFFFFF F F 2209 376 377 382M 420 - PCBSES 8 0000003C FFFFFFFF C C 2211 527 - PCBSRS 8 00000034 FFFFFFFF C C 2210 525 1255 - PCBSTOPT 1 00000018 FFFFFFFF C C 2202 456 784M 826 1204M 1251M - PCBSW 1 0000001B FFFFFFFF C C 2205 522 524M 1254M - PGMHANDL 1 000002B0 00000001 U 194 148 - PROGRAM 1 00000000 00000001 J 42 68U 127 2147 - PROTCON1 4 00000C34 00000001 X X 1413 1348 1355 1458 1465 - PROTCON2 4 00000C38 00000001 X X 1414 1351 1358 1461 1468 - PRTHAAS 4 00000D68 00000001 A A 1511 1431 - PRTHANDL 1 00000C48 00000001 U 1425 2090 - PRTHAS 1 00000000 FFFFFFEE J 2311 1440U 2320 - PRTHCCB 4 00000000 FFFFFFEE F F 2312 1441 1472M 1473M 1474M 1476M - PRTHCOMM 4 00000CEC 00000001 I 1479 1475B 1507B - PRTHLOOP 4 00000C6A 00000001 I 1442 1451B 1503B - PRTHM 8 0000001C FFFFFFEE C C 2316 1494M 1496M 1497M 1498M 1501 - PRTHMSG 8 00000008 FFFFFFEE C C 2313 1442 1455 1498 - PRTHNO 6 00000D26 00000001 I 1494 1463B 1470B - PRTHOK 6 00000D30 00000001 I 1496 1493B - PRTHPOK 4 00000CCA 00000001 I 1471 1456B -1 Ordinary Symbol and Literal Cross Reference Page 63 --Symbol Length Value Id R Type Asm Program Defn References HLASM R6.0 2016/08/29 08.42 -0PRTHPRIN 4 00000C92 00000001 I 1453 1448B - PRTHSEM 4 00000D60 00000001 F F 1510 1429 1436 - PRTHSEND 6 00000D36 00000001 I 1497 1495B - PRTHSTC1 6 00000CE0 00000001 I 1476 1450B - PRTHWAIT 4 00000D10 00000001 I 1488 1491B - PTSTATUS 2 00000D52 00000001 I 1504 1486B - QUANTUM 4 000005BC 00000001 X X 471 469 - RDRHAAS 4 00000C3C 00000001 A A 1415 1313 - RDRHANDL 1 00000AC6 00000001 U 1307 2088 - RDRHAS 1 00000000 FFFFFFEF J 2298 1322U 2309 - RDRHCCB 4 00000000 FFFFFFEF F F 2299 1324 1362M 1363M 1364M - RDRHEXC 4 00000BB8 00000001 I 1383 1379B - RDRHLOOP 4 00000AEC 00000001 I 1325 1330B 1398B - RDRHM 8 0000006C FFFFFFEF C C 2304 1385M 1391M 1392M 1393M 1396 1399M - RDRHMORE 4 00000B2E 00000001 I 1345 1338B - RDRHMSG 8 00000008 FFFFFFEF C C 2300 1325 1335 1345 1387 1393 - RDRHNO 6 00000BC0 00000001 I 1385 1340B 1353B 1360B - RDRHOK 4 00000BCA 00000001 I 1387 1382B - RDRHPOK 4 00000B60 00000001 I 1361 1346B 1381B 1408B - RDRHSEM 4 00000C28 00000001 F F 1411 1311 1318 - RDRHSEND 6 00000BE2 00000001 I 1392 1386B 1404B - RDRHSOK 6 00000BDC 00000001 I 1391 1343B 1388B - RDRHTEMP 80 0000001C FFFFFFEF C C 2303 1341 1400M - RDRHWAIT 4 00000B96 00000001 I 1374 1377B 1384B - RDSTATUS 2 00000C1C 00000001 I 1405 1372B - READ 1 000017F0 00000002 X X 116 81 - REGS 1 00000000 FFFFFFFD J 2225 1773U - REG3 4 0000000C FFFFFFFD F F 2229 1776M - REG4 4 00000010 FFFFFFFD F F 2230 1777M - REPLY 132 000000E0 FFFFFFEB C C 2348 1886 - RETURN 1 000004D8 00000001 B B 328 369 416 426 470 495 529 623 696 743 788 - 859 935 976 1011 1082 1160 1205 1253 - RETURNR 1 000004E0 00000001 U 330 328 - RLDCARD 4 000014E0 00000001 I 1987 1974B - RLDCONT 4 00001500 00000001 I 1996 2011B - RLDFINI 2 00001514 00000001 I 2001 1999B - RLDLOOP 4 000014E8 00000001 I 1989 2003B - RLDTEMP 4 000001B4 FFFFFFEB F F 2366 1869M 2005M 2006 2008M 2009 2010M - RREPLY 8 000000D4 FFFFFFEB C C 2346 1884 1900 1969 - RREPLY1 4 000000DC FFFFFFEB F F 2347 1883M 1968M - RUNNING 4 00000270 00000001 A A 165 181 221 381 467M 1711 1743M 2041 2051 - R11 1 0000000B 00000001 A U 2185 67M 68U 111D - R12 1 0000000C 00000001 A U 2186 63M 65M 66U 111D - R2 1 00000002 00000001 A U 2176 64M 65 69M 71 80M 81M 82 83M 84 95M - 96 - R3 1 00000003 00000001 A U 2177 70M 71 75M 88M - R4 1 00000004 00000001 A U 2178 76M 80 86M 86 - R5 1 00000005 00000001 A U 2179 73M 74 82 84 85 87M 87 89M 90 - SA 1 00000000 FFFFFFFE J 2220 186U 230U 1200U 1201 1203 1208U 1716U 1771U - SAPSW 8 00000000 FFFFFFFE D D 2221 187M 231M 331 1201M 1201 1202M 1717M - SAREGS 64 00000008 FFFFFFFE C C 2222 188M 232M 332 1203M 1203 1718M 1772 - SATEMP 12 00000048 FFFFFFFE C C 2223 599 682 768 817 833 854 1115 1190 1239 - SCAN 2 000015EA 00000001 I 2068 1905B 1917B 1927B - SCANLOOP 4 000015EC 00000001 I 2069 2077B - SEQ 8 0000019C FFFFFFEB C C 2361 1922 1923M 1926 1935M 2042 2044M 2046 -1 Ordinary Symbol and Literal Cross Reference Page 64 --Symbol Length Value Id R Type Asm Program Defn References HLASM R6.0 2016/08/29 08.42 -0SETDIM 6 0000143E 00000001 I 1941 1945B - SHORT 4 00001510 00000001 I 2000 1997B - SKIP 8 00001620 00000001 C C 2084 1861 2036 - SM 1 00000000 FFFFFFFB J 2247 363U 411U 687U - SMPTR 4 00000004 FFFFFFFB F F 2249 370 371 417 420M - SMVAL 4 00000000 FFFFFFFB F F 2248 364 366M 412 414M 690 - SOSEXNEW 3 000012C5 00000001 R A 1832 1781 - SOSIONEW 3 000012C1 00000001 R A 1830 1740 - STOP 4 0000137E 00000001 I 1891 1887B - STREAMS 4 000010C8 00000001 F F 1784 1754 - SVCCONST 4 00000314 00000001 F F 241 215 - SVCHANDL 1 000002B2 00000001 U 211 147 - SVCHPROT 4 00000302 00000001 I 235 220B - SVCHTABL 1 00000328 00000001 X X 243 217 244 246 248 250 252 254 256 258 260 - 262 264 266 268 270 272 274 276 278 280 - 282 284 - SVCOK 4 000002D0 00000001 I 221 237B 239B - SVCOLD 8 00000020 00000001 D D 137 216 228 231 235 331M 333 - SVCRTN 8 00000428 00000001 D D 286 218 238 - SVCSAVE 4 000004C8 00000001 F F 315 227 - SVCXPER 4 000002FA 00000001 I 233 229B - SYSSEM 4 000002DE 00000001 I 226 224B - SYSSEMSA 84 0000021C 00000001 C C 163 316 384 - TALK 8 000001B8 FFFFFFEB C C 2367 1866M 1867M 2026 2031 - TEMPLATE 4 00001280 00000001 X X 1822 785 - TIMER 4 00000050 00000001 F F 144 469M - TOKSTART 2 00001610 00000001 I 2078 2071B 2073B 2075B - TRAPSAVE 4 0000019C 00000001 F F 160 176M 188 191 212M 232 - TREAD 4 00000164 FFFFFFEB F F 2349 1855M 1856M 1857M 1881 1966 - TXTCARD 4 000014C6 00000001 I 1979 1972B - TXTMOV 6 000014DA 00000001 I 1985 1983X - TYPLEN 1 00000054 00000001 A U 1826 1759 - TYPPCB 8 00001268 00000001 C C 1820 1759 1826 - UCB 1 00000000 FFFFFFEC J 2332 1308U 1426U 1522U 1702U 2339 - UCBADDR 4 00000000 FFFFFFEC F F 2333 1370 1484 - UCBCSW 8 00000014 FFFFFFEC G F 2336 1365M 1366M 1376 1378 1380 1383M 1482M 1483M 1490 1492 - 1557M 1558M 1566 1703M 1705 1706M 1707M - UCBFPR 1 0000001C FFFFFFEC C C 2337 1709 - UCBLENG 1 00000020 FFFFFFEC A U 2339 1549 1698 - UCBLP1 4 000010EC 00000001 A A 1798 1787 - UCBLP2 4 000010F4 00000001 A A 1799 1788 - UCBLP3 4 000010FC 00000001 A A 1800 1789 - UCBLP4 4 00001104 00000001 A A 1801 1790 - UCBPRT1 4 00000EC4 00000001 X X 1627 1798 - UCBPRT2 4 00000F04 00000001 X X 1641 1799 - UCBPRT3 4 00000F44 00000001 X X 1655 1800 - UCBPRT4 4 00000F84 00000001 X X 1669 1801 - UCBRDR1 4 00000EA4 00000001 X X 1620 1798 - UCBRDR2 4 00000EE4 00000001 X X 1634 1799 - UCBRDR3 4 00000F24 00000001 X X 1648 1800 - UCBRDR4 4 00000F64 00000001 X X 1662 1801 - UCBTAB 1 000010CC 00000001 U 1786 1774 1777 - UCBTABLE 4 00000EA4 00000001 F F 1618 1546 2152 - UCBTBEND 1 00000FC4 00000001 U 1682 1606 2153 - UCBUS 8 00000004 FFFFFFEC G F 2334 1333 1394 1453 1477 1499 1554 1581 -1 Ordinary Symbol and Literal Cross Reference Page 65 --Symbol Length Value Id R Type Asm Program Defn References HLASM R6.0 2016/08/29 08.42 -0UCBWS 8 0000000C FFFFFFEC G F 2335 1374 1406 1488 1505 1564 1708 - UNAMMOV 6 00001422 00000001 I 1935 1924X - UNITRTN 4 000001A4 FFFFFFEB A A 2362 1941M 1946M - USERL 8 00000190 FFFFFFEB C C 2359 1860M 1902 2013 2015 2018M - VERYEND 8 00001740 00000001 D D 2171 155 1745M 2147 - WAITPSWD 4 000017F8 00000002 X X 118 97 - WRITE 8 00000178 FFFFFFEB C C 2354 1861M 1862M 1864M 1898 2032 - XA 1 00000600 00000001 U 557 299 565U 1593 - XABACK 2 000006B0 00000001 I 622 619B - XACOM 2 0000060E 00000001 I 566 560B - XAFOUND 4 00000662 00000001 I 596 588B - XALOOP 2 0000062A 00000001 I 577 591B - XANF 2 00000686 00000001 I 607 603B - XARETURN 4 0000069C 00000001 I 616 611B - XATOP 4 00000616 00000001 I 570 595B - XAUTO 1 00000608 00000001 U 561 313 - XAWAIT 2 00000656 00000001 I 592 578B - XAX 1 00000000 FFFFFFF9 J 2258 568U 776U 1124U 1314U 1432U 1528U 1756U 1848U 2123U - XAXADDR 4 00000004 FFFFFFF9 F F 2260 596M 780 1133 1316 1434 1530 1758 1850 2125 - XAXALGN 4 00000008 FFFFFFF9 F F 2261 574 778M 1131M - XAXSIZE 4 00000000 FFFFFFF9 F F 2259 569 777M 1130M - XB 1 00000744 00000001 U 722 298 - XBINSERT 4 00000770 00000001 I 738 730B 733B - XBLOOP 4 0000075A 00000001 I 732 737B - XBX 1 00000000 FFFFFFF7 J 2267 600U 683U 724U - XBXADDR 4 00000004 FFFFFFF7 F F 2269 604M 612M 685M 726 - XBXSIZE 4 00000000 FFFFFFF7 F F 2268 605M 613M 684M 725 - XC 1 00000780 00000001 U 764 306 - XCERR 2 000007C4 00000001 I 789 773B - XCOM 1 000005D2 00000001 U 514 297 - XCOMRET 4 000005FC 00000001 I 529 521B 523B - XCX 1 00000000 FFFFFFF6 J 2271 767U - XCXNAME 8 00000000 FFFFFFF6 C C 2272 770 783 - XD 1 000007C6 00000001 U 813 310 - XDCHECK 6 0000081A 00000001 I 850 838B - XDERR 2 00000840 00000001 I 860 824B 827B - XDLOOP 2 000007F4 00000001 I 837 849B - XDTHEN 4 0000082E 00000001 I 855 851B - XDX 1 00000000 FFFFFFF5 J 2274 816U - XDXNAME 8 00000000 FFFFFFF5 C C 2275 819 - XEXC 1 000005C0 00000001 U 489 296 - XF 1 000006B6 00000001 U 649 300 - XFBACKUP 2 00000706 00000001 I 678 670B - XFINC 4 00000708 00000001 I 679 674B - XFLINK 4 00000714 00000001 I 682 664B - XFLOOP 2 000006D4 00000001 I 663 681B - XFTHEN 2 000006F0 00000001 I 671 667B - XFVDO 2 0000073E 00000001 I 697 692B - XFVLOOP 4 0000072E 00000001 I 692 698B - XFX 1 00000000 FFFFFFF8 J 2263 653U 844U 1077U - XFXADDR 4 00000004 FFFFFFF8 F F 2265 655 845M 855M 1078M - XFXSIZE 4 00000000 FFFFFFF8 F F 2264 654 846M 856M 1079M - XH 1 00000842 00000001 U 882 312 - XHLOOP 4 00000848 00000001 I 886 888B - XHMSG1 8 00000854 00000001 C C 890 884 -1 Ordinary Symbol and Literal Cross Reference Page 66 --Symbol Length Value Id R Type Asm Program Defn References HLASM R6.0 2016/08/29 08.42 -0XHMSG2 8 0000086C 00000001 C C 893 886 - XI 1 0000087A 00000001 U 912 301 - XJ 1 000008A6 00000001 U 953 302 - XN 1 000008CA 00000001 U 998 307 - XNX 1 00000000 FFFFFFF4 J 2277 769U 818U 1000U 1116U 1191U 1240U - XNXADDR 4 00000008 FFFFFFF4 A A 2279 772 821 1010M 1119 1194 1243 - XNXFOUND 4 000008E4 00000001 I 1010 1006B - XNXLOOP 4 000008CC 00000001 I 1004 1008B - XNXNAME 8 00000000 FFFFFFF4 C C 2278 770M 819M 1005 1117M 1192M 1241M - XP 1 000004EE 00000001 U 361 294 - XPER 1 0000056A 00000001 U 447 189B 303 385B 463 - XPLOOP 2 0000050A 00000001 I 374 378B - XPTHEN 6 0000051C 00000001 I 381 375B - XPWAIT 4 00000502 00000001 I 370 368B - XQUE 1 00000A8E 00000001 U 1279 311 - XQUELOOP 4 00000A94 00000001 I 1283 1285B - XQUEM1 8 00000AA0 00000001 C C 1287 1281 - XQUEM2 8 00000AB8 00000001 C C 1290 1283 - XR 1 000008EC 00000001 U 1040 304 - XRAFT 4 00000938 00000001 I 1066 1064B - XRFILL 6 0000096C 00000001 I 1083 1057X - XRMOVE 6 00000972 00000001 I 1084 1065X - XRNOB 4 0000091C 00000001 I 1058 1056B - XRTHEN 2 0000092E 00000001 I 1063 1060B - XRX 1 00000000 FFFFFFF3 J 2281 1043U 1326U 1336U 1443U 1538U 1572U - XRXNAME 8 00000000 FFFFFFF3 C C 2282 1071M 1339 - XRXSIZE 4 00000008 FFFFFFF3 F F 2283 1053 1067M 1327M 1444M 1539M 1573M - XRXTEXT 1 0000000C FFFFFFF3 C C 2284 1055M 1083M 1083 1084M 1329 1331 1446 1447 1449 1541 - 1543 1544 1575 1577 - XS 1 00000978 00000001 U 1111 305 - XSADD 4 000009D2 00000001 I 1145 1141B - XSAFT 2 000009F4 00000001 I 1156 1154B - XSERR 2 00000A02 00000001 I 1161 1121B - XSLOOP 2 000009C0 00000001 I 1140 1144B - XSMOVE 6 00000A04 00000001 I 1162 1155X - XSX 1 00000000 FFFFFFF2 J 2286 1114U - XSXNAME 8 00000000 FFFFFFF2 C C 2287 1117 - XSXSIZE 4 00000008 FFFFFFF2 F F 2288 1126 1150 - XSXTEXT 1 0000000C FFFFFFF2 C C 2289 1162 - XV 1 00000534 00000001 U 409 295 - XVRET 4 00000566 00000001 I 426 423B - XVWAKEUP 4 00000548 00000001 I 417 415B - XY 1 00000A0A 00000001 U 1186 308 - XYERR 2 00000A40 00000001 I 1206 1196B - XYX 1 00000000 FFFFFFF1 J 2291 1189U - XYXADDR 4 00000008 FFFFFFF1 A A 2293 1202 - XYXNAME 8 00000000 FFFFFFF1 C C 2292 1192 - XZ 1 00000A42 00000001 U 1231 309 - XZERR 2 00000A8C 00000001 I 1258 1238B 1245B - XZFINE 4 00000A54 00000001 I 1239 1236B - XZINSMC 4 00000A7E 00000001 I 1254 1250B - XZSTOP 4 00000A6C 00000001 I 1249 1257B - XZX 1 00000000 FFFFFFF0 J 2295 1234U - XZXNAME 8 00000000 FFFFFFF0 C C 2296 1237 1241 - =A(DIM) 4 00001720 00000001 A 2162 1941 -1 Ordinary Symbol and Literal Cross Reference Page 67 --Symbol Length Value Id R Type Asm Program Defn References HLASM R6.0 2016/08/29 08.42 -0=A(EXCPHNDL) - 4 00001724 00000001 A 2163 1946 - =A(LENPCB) - 4 00000E64 00000001 A 1595 777 856 - =A(UCBTABLE) - 4 000016F8 00000001 A 2152 1695 - =A(UCBTBEND) - 4 00000E90 00000001 A 1606 1550 - =A(UCBTBEND) - 4 000016FC 00000001 A 2153 1699 - =A(XA) 4 00000E5C 00000001 A 1593 564 - =A(0) 4 00000E60 00000001 A 1594 772 850 1148 1365 1366 1482 1483 1557 1558 - =A(0) 4 00001714 00000001 A 2159 1869 - =A(0,CORESIZE-(VERYEND-PROGRAM)) - 4 000016D0 00000001 A 2147 1745 - =C'$JOB,' - 5 00000E98 00000001 C 1609 1389 - =C'$JOB,' - 5 0000172A 00000001 C 2165 1888 - =C'AGAIN' - 5 00000E9D 00000001 C 1610 1577 - =C'END' 3 0000173D 00000001 C 2170 1975 - =C'EXCP ' - 5 00001732 00000001 C 2167 1938 - =C'EXCP' 4 00000E8C 00000001 C 1605 1541 - =C'IN ' 3 0000172F 00000001 C 2166 1936 - =C'NO' 2 00000E94 00000001 C 1607 1385 1399 1494 - =C'OK' 2 00000E96 00000001 C 1608 1391 1496 1575 - =C'OK' 2 00001728 00000001 C 2164 1886 - =C'OUT ' 4 0000171C 00000001 C 2161 1937 - =C'PRIN' 4 00000E7C 00000001 C 1601 1447 - =C'PRIN' 4 00001708 00000001 C 2156 1862 - =C'READ' 4 00000E74 00000001 C 1599 1329 - =C'READ' 4 00001704 00000001 C 2155 1857 - =C'RLD' 3 0000173A 00000001 C 2169 1973 - =C'STC1' 4 00000E80 00000001 C 1602 1449 - =C'TXT' 3 00001737 00000001 C 2168 1971 - =CL8' ' 8 000016E8 00000001 C 2150 1895 1923 2029 - =CL8'*IN' - 8 000016D8 00000001 C 2148 1855 1940 - =CL8'*OUT' - 8 000016F0 00000001 C 2151 1944 - =CL8'USERPROG' - 8 000016E0 00000001 C 2149 1860 1866 - =F'-8' 4 00000E6C 00000001 F 1597 843 1075 1129 - =F'1' 4 00000E58 00000001 F 1592 413 - =F'1' 4 00001710 00000001 F 2158 1868 - =F'12' 4 00000E88 00000001 F 1604 1539 1567 - =F'12' 4 0000170C 00000001 F 2157 1867 - =F'132' 4 00000E84 00000001 F 1603 1474 - =F'132' 4 00001718 00000001 F 2160 1883 1968 - =F'2' 4 00000E70 00000001 F 1598 1054 1392 1497 - =F'8' 4 00000E68 00000001 F 1596 778 1131 1327 1444 1573 - =F'8' 4 00001700 00000001 F 2154 1856 - =F'80' 4 00000E78 00000001 F 1600 1364 -1 Ordinary Symbol and Literal Cross Reference Page 68 --Symbol Length Value Id R Type Asm Program Defn References HLASM R6.0 2016/08/29 08.42 -0=X'8900000020000001' - 8 00000E50 00000001 X 1591 1476 -1 Unreferenced Symbols Defined in CSECTs Page 69 -- Defn Symbol HLASM R6.0 2016/08/29 08.42 -0 50 CCW1 - 52 CCW2 - 47 IPLCARD - 134 IPLCCW1 - 135 IPLCCW2 - 133 IPLPSW - 149 MCHKNEW - 139 MCHKOLD - 148 PGMNEW - 138 PGMOLD - 48 PSWD - 2174 R0 - 2175 R1 - 2184 R10 - 2187 R13 - 2188 R14 - 2189 R15 - 2180 R6 - 2181 R7 - 2182 R8 - 2183 R9 - 147 SVCNEW - 1676 UCBCONS1 - 143 UNUSED0 - 145 UNUSED1 -1 Dsect Cross Reference Page 70 --Dsect Length Id Defn HLASM R6.0 2016/08/29 08.42 -0DIMAS 000000A0 FFFFFFEA 2377 - EXCPHAS 00000030 FFFFFFED 2322 - FSB 00000008 FFFFFFFC 2243 - JSPAS 000001E0 FFFFFFEB 2341 - MSG 0000000C FFFFFFFA 2251 - PCB 00000148 FFFFFFFF 2196 - PRTHAS 00000030 FFFFFFEE 2311 - RDRHAS 00000080 FFFFFFEF 2298 - REGS 00000040 FFFFFFFD 2225 - SA 00000054 FFFFFFFE 2220 - SM 00000008 FFFFFFFB 2247 - UCB 00000020 FFFFFFEC 2332 - XAX 0000000C FFFFFFF9 2258 - XBX 00000008 FFFFFFF7 2267 - XCX 00000008 FFFFFFF6 2271 - XDX 00000008 FFFFFFF5 2274 - XFX 00000008 FFFFFFF8 2263 - XNX 0000000C FFFFFFF4 2277 - XRX 0000000C FFFFFFF3 2281 - XSX 0000000C FFFFFFF2 2286 - XYX 0000000C FFFFFFF1 2291 - XZX 00000008 FFFFFFF0 2295 -1 Using Map Page 71 -- HLASM R6.0 2016/08/29 08.42 - Stmt -----Location----- Action ----------------Using----------------- Reg Max Last Label and Using Text - Count Id Type Value Range Id Disp Stmt -0 66 00001778 00000002 USING ORDINARY 00001770 00001000 00000002 12 000A0 107 CARDLDR,R12 - 68 0000177C 00000002 USING ORDINARY 00000000 00001000 00000001 11 00078 110 PROGRAM,R11 - 111 000017EE 00000002 DROP 11 R11 - 111 000017EE 00000002 DROP 12 R12 - 131 00000000 00000001 USING ORDINARY 00000000 00001000 00000001 0 00C38 2051 *,0 - 178 00000280 00000001 USING ORDINARY 00000280 00001000 00000001 1 002EA 189 *,1 - 182 0000028C 00000001 USING ORDINARY 00000000 00001000 FFFFFFFF 15 0004C 185 PCB,15 - 186 00000298 00000001 USING ORDINARY 00000000 00001000 FFFFFFFE 14 00008 188 SA,14 - 190 000002A8 00000001 DROP 14 14 - 190 000002A8 00000001 DROP 15 15 - 214 000002B8 00000001 USING ORDINARY 000002B8 00001000 00000001 9 00210 239 *,9 - 222 000002D4 00000001 USING ORDINARY 00000000 00001000 FFFFFFFF 15 00000 PCB,15 - 230 000002EE 00000001 USING ORDINARY 00000000 00001000 FFFFFFFE 14 00048 1190 SA,14 - 240 00000314 00000001 DROP 9 9 - 362 000004EE 00000001 USING ORDINARY 000004EE 00001000 00000001 1 0007C 385 *,1 - 363 000004EE 00000001 USING ORDINARY 00000000 00001000 FFFFFFFB 2 00004 371 SM,2 - 372 0000050A 00000001 DROP 15 15 - 373 0000050A 00000001 USING ORDINARY 00000000 00001000 FFFFFFFF 5 00030 377 PCB,5 - 379 0000051C 00000001 DROP 5 5 - 380 0000051C 00000001 USING ORDINARY 00000000 00001000 FFFFFFFF 15 0004C 384 PCB,15 - 386 00000534 00000001 DROP 2 2 - 410 00000534 00000001 USING ORDINARY 00000534 00001000 00000001 1 00924 423 *,1 - 411 00000534 00000001 USING ORDINARY 00000000 00001000 FFFFFFFB 2 00004 420 SM,2 - 418 0000054C 00000001 DROP 15 15 - 419 0000054C 00000001 USING ORDINARY 00000000 00001000 FFFFFFFF 4 00030 421 PCB,4 - 427 0000056A 00000001 DROP 2 2 - 427 0000056A 00000001 DROP 4 4 - 450 00000570 00000001 USING ORDINARY 00000570 00001000 00000001 1 0004C 469 *,1 - 453 00000576 00000001 USING ORDINARY 00000000 00001000 FFFFFFFF 10 0004C 468 PCB,10 - 472 000005C0 00000001 DROP 10 10 - 473 000005C0 00000001 USING ORDINARY 00000000 00001000 FFFFFFFF 15 00048 621 PCB,15 - 490 000005C0 00000001 USING ORDINARY 000005C0 00001000 00000001 1 00000 *,1 - 515 000005D2 00000001 USING ORDINARY 000005D2 00001000 00000001 1 0002A 523 *,1 - 558 00000600 00000001 USING ORDINARY 00000600 00001000 00000001 1 0000E 560 *,1 - 562 00000608 00000001 USING ORDINARY 00000608 00001000 00000001 1 00854 564 *,1 - 565 0000060E 00000001 USING ORDINARY 00000600 00001000 00000001 1 000B0 619 XA,1 - 568 00000612 00000001 USING ORDINARY 00000000 00001000 FFFFFFF9 7 00008 596 XAX,7 - 576 0000062A 00000001 USING ORDINARY 00000000 00001000 FFFFFFFC 4 00004 598 FSB,4 - 600 00000674 00000001 USING ORDINARY 00000000 00001000 FFFFFFF7 2 00004 613 XBX,2 - 615 0000069C 00000001 DROP 2 2 - 624 000006B6 00000001 DROP 4 4 - 624 000006B6 00000001 DROP 7 7 - 650 000006B6 00000001 USING ORDINARY 000006B6 00001000 00000001 1 00088 698 *,1 - 653 000006BA 00000001 USING ORDINARY 00000000 00001000 FFFFFFF8 7 00004 655 XFX,7 - 662 000006D4 00000001 USING ORDINARY 00000000 00001000 FFFFFFFC 6 00004 680 FSB,6 - 683 00000718 00000001 USING ORDINARY 00000000 00001000 FFFFFFF7 2 00004 685 XBX,2 - 687 00000722 00000001 USING ORDINARY 00000000 00001000 FFFFFFFB 2 00000 690 SM,2 - 691 0000072E 00000001 DROP 2 2 - 699 00000744 00000001 DROP 6 6 - 699 00000744 00000001 DROP 7 7 - 723 00000744 00000001 USING ORDINARY 00000744 00001000 00000001 1 0002C 737 *,1 - 724 00000744 00000001 USING ORDINARY 00000000 00001000 FFFFFFF7 2 00004 726 XBX,2 - 731 0000075A 00000001 USING ORDINARY 00000000 00001000 FFFFFFFC 6 00004 735 FSB,6 -1 Using Map Page 72 -- HLASM R6.0 2016/08/29 08.42 - Stmt -----Location----- Action ----------------Using----------------- Reg Max Last Label and Using Text - Count Id Type Value Range Id Disp Stmt -0 739 00000774 00000001 DROP 6 6 - 740 00000774 00000001 USING ORDINARY 00000000 00001000 FFFFFFFC 4 00004 742 FSB,4 - 744 00000780 00000001 DROP 2 2 - 744 00000780 00000001 DROP 4 4 - 765 00000780 00000001 USING ORDINARY 00000780 00001000 00000001 1 00B01 785 *,1 - 767 00000782 00000001 USING ORDINARY 00000000 00001000 FFFFFFF6 7 00000 783 XCX,7 - 769 00000786 00000001 USING ORDINARY 00000000 00001000 FFFFFFF4 2 00008 772 XNX,2 - 775 0000079A 00000001 DROP 2 2 - 776 0000079A 00000001 USING ORDINARY 00000000 00001000 FFFFFFF9 2 00008 780 XAX,2 - 781 000007AC 00000001 DROP 2 2 - 781 000007AC 00000001 DROP 15 15 - 782 000007AC 00000001 USING ORDINARY 00000000 00001000 FFFFFFFF 2 00019 785 PCB,2 - 790 000007C6 00000001 DROP 2 2 - 790 000007C6 00000001 DROP 7 7 - 814 000007C6 00000001 USING ORDINARY 000007C6 00001000 00000001 1 006A6 856 *,1 - 816 000007C8 00000001 USING ORDINARY 00000000 00001000 FFFFFFF5 7 00000 819 XDX,7 - 818 000007CC 00000001 USING ORDINARY 00000000 00001000 FFFFFFF4 2 00008 821 XNX,2 - 822 000007D8 00000001 DROP 2 2 - 825 000007DE 00000001 USING ORDINARY 00000000 00001000 FFFFFFFF 2 00018 826 PCB,2 - 829 000007E8 00000001 DROP 2 2 - 830 000007E8 00000001 USING ORDINARY 00000000 00001000 FFFFFFFF 15 00000 PCB,15 - 834 000007F0 00000001 USING ORDINARY 00000000 00001000 FFFFFFFF 8 00048 852 PCB,8 - 835 000007F0 00000001 DROP 15 15 - 839 000007FA 00000001 USING ORDINARY 00000000 00001000 FFFFFFFA 9 00008 841 MSG,9 - 844 0000080A 00000001 USING ORDINARY 00000000 00001000 FFFFFFF8 2 00004 856 XFX,2 - 861 00000842 00000001 DROP 2 2 - 861 00000842 00000001 DROP 7 7 - 861 00000842 00000001 DROP 8 8 - 861 00000842 00000001 DROP 9 9 - 862 00000842 00000001 USING ORDINARY 00000000 00001000 FFFFFFFF 15 00010 915 PCB,15 - 883 00000842 00000001 USING ORDINARY 00000842 00001000 00000001 1 0002A 888 *,1 - 913 0000087A 00000001 USING ORDINARY 0000087A 00001000 00000001 1 00000 *,1 - 916 00000882 00000001 DROP 15 15 - 917 00000882 00000001 USING ORDINARY 00000000 00001000 FFFFFFFF 10 00014 918 PCB,10 - 919 00000886 00000001 DROP 10 10 - 920 00000886 00000001 USING ORDINARY 00000000 00001000 FFFFFFFF 2 00014 922 PCB,2 - 923 0000088E 00000001 DROP 2 2 - 924 0000088E 00000001 USING ORDINARY 00000000 00001000 FFFFFFFF 15 00008 926 PCB,15 - 927 00000896 00000001 DROP 15 15 - 928 00000896 00000001 USING ORDINARY 00000000 00001000 FFFFFFFF 10 0000C 929 PCB,10 - 930 0000089A 00000001 DROP 10 10 - 931 0000089A 00000001 USING ORDINARY 00000000 00001000 FFFFFFFF 2 0000C 933 PCB,2 - 934 000008A2 00000001 DROP 2 2 - 936 000008A6 00000001 USING ORDINARY 00000000 00001000 FFFFFFFF 15 00000 PCB,15 - 954 000008A6 00000001 USING ORDINARY 000008A6 00001000 00000001 1 00000 *,1 - 955 000008A6 00000001 DROP 15 15 - 956 000008A6 00000001 USING ORDINARY 00000000 00001000 FFFFFFFF 2 00014 958 PCB,2 - 959 000008AE 00000001 DROP 2 2 - 960 000008AE 00000001 USING ORDINARY 00000000 00001000 FFFFFFFF 11 00010 961 PCB,11 - 962 000008B2 00000001 DROP 11 11 - 963 000008B2 00000001 USING ORDINARY 00000000 00001000 FFFFFFFF 10 00014 964 PCB,10 - 965 000008B6 00000001 DROP 10 10 - 966 000008B6 00000001 USING ORDINARY 00000000 00001000 FFFFFFFF 2 0000C 968 PCB,2 -1 Using Map Page 73 -- HLASM R6.0 2016/08/29 08.42 - Stmt -----Location----- Action ----------------Using----------------- Reg Max Last Label and Using Text - Count Id Type Value Range Id Disp Stmt -0 969 000008BE 00000001 DROP 2 2 - 970 000008BE 00000001 USING ORDINARY 00000000 00001000 FFFFFFFF 11 00008 971 PCB,11 - 972 000008C2 00000001 DROP 11 11 - 973 000008C2 00000001 USING ORDINARY 00000000 00001000 FFFFFFFF 10 0000C 974 PCB,10 - 975 000008C6 00000001 DROP 10 10 - 977 000008CA 00000001 USING ORDINARY 00000000 00001000 FFFFFFFF 15 00000 PCB,15 - 999 000008CA 00000001 USING ORDINARY 000008CA 00001000 00000001 1 0001A 1008 *,1 - 1000 000008CA 00000001 USING ORDINARY 00000000 00001000 FFFFFFF4 2 00008 1010 XNX,2 - 1002 000008CC 00000001 DROP 15 15 - 1003 000008CC 00000001 USING ORDINARY 00000000 00001000 FFFFFFFF 10 00008 1005 PCB,10 - 1012 000008EC 00000001 DROP 2 2 - 1012 000008EC 00000001 DROP 10 10 - 1013 000008EC 00000001 USING ORDINARY 00000000 00001000 FFFFFFFF 15 0002C 1051 PCB,15 - 1041 000008EC 00000001 USING ORDINARY 000008EC 00001000 00000001 1 00584 1075 *,1 - 1043 000008EE 00000001 USING ORDINARY 00000000 00001000 FFFFFFF3 7 0000D 1084 XRX,7 - 1050 00000900 00000001 USING ORDINARY 00000000 00001000 FFFFFFFA 5 0000C 1084 MSG,5 - 1069 00000944 00000001 DROP 15 15 - 1070 00000944 00000001 USING ORDINARY 00000000 00001000 FFFFFFFF 10 00000 1071 PCB,10 - 1077 0000095C 00000001 USING ORDINARY 00000000 00001000 FFFFFFF8 2 00004 1079 XFX,2 - 1085 00000978 00000001 DROP 2 2 - 1085 00000978 00000001 DROP 5 5 - 1085 00000978 00000001 DROP 7 7 - 1085 00000978 00000001 DROP 10 10 - 1086 00000978 00000001 USING ORDINARY 00000000 00001000 FFFFFFFF 15 00000 PCB,15 - 1112 00000978 00000001 USING ORDINARY 00000978 00001000 00000001 1 004F4 1155 *,1 - 1114 0000097A 00000001 USING ORDINARY 00000000 00001000 FFFFFFF2 7 0000C 1162 XSX,7 - 1116 0000097E 00000001 USING ORDINARY 00000000 00001000 FFFFFFF4 2 00008 1119 XNX,2 - 1122 00000990 00000001 USING ORDINARY 00000000 00001000 FFFFFFFF 4 0002C 1157 PCB,4 - 1123 00000990 00000001 DROP 2 2 - 1123 00000990 00000001 DROP 15 15 - 1124 00000990 00000001 USING ORDINARY 00000000 00001000 FFFFFFF9 2 00008 1133 XAX,2 - 1134 000009B2 00000001 DROP 2 2 - 1139 000009C0 00000001 USING ORDINARY 00000000 00001000 FFFFFFFA 9 00004 1143 MSG,9 - 1146 000009D6 00000001 DROP 9 9 - 1147 000009D6 00000001 USING ORDINARY 00000000 00001000 FFFFFFFA 5 0000C 1162 MSG,5 - 1163 00000A0A 00000001 DROP 4 4 - 1163 00000A0A 00000001 DROP 5 5 - 1163 00000A0A 00000001 DROP 7 7 - 1164 00000A0A 00000001 USING ORDINARY 00000000 00001000 FFFFFFFF 15 00000 PCB,15 - 1187 00000A0A 00000001 USING ORDINARY 00000A0A 00001000 00000001 1 00036 1196 *,1 - 1189 00000A0C 00000001 USING ORDINARY 00000000 00001000 FFFFFFF1 7 00009 1202 XYX,7 - 1191 00000A10 00000001 USING ORDINARY 00000000 00001000 FFFFFFF4 2 00008 1194 XNX,2 - 1197 00000A22 00000001 DROP 2 2 - 1197 00000A22 00000001 DROP 14 14 - 1197 00000A22 00000001 DROP 15 15 - 1198 00000A22 00000001 USING ORDINARY 00000000 00001000 FFFFFFFF 10 0004C 1204 PCB,10 - 1200 00000A26 00000001 USING ORDINARY 00000000 00001000 FFFFFFFE 13 00008 1203 SA,13 - 1207 00000A42 00000001 DROP 7 7 - 1207 00000A42 00000001 DROP 10 10 - 1207 00000A42 00000001 DROP 13 13 - 1208 00000A42 00000001 USING ORDINARY 00000000 00001000 FFFFFFFE 14 00048 1239 SA,14 - 1209 00000A42 00000001 USING ORDINARY 00000000 00001000 FFFFFFFF 15 00000 1235 PCB,15 - 1232 00000A42 00000001 USING ORDINARY 00000A42 00001000 00000001 1 0004A 1257 *,1 -1 Using Map Page 74 -- HLASM R6.0 2016/08/29 08.42 - Stmt -----Location----- Action ----------------Using----------------- Reg Max Last Label and Using Text - Count Id Type Value Range Id Disp Stmt -0 1234 00000A44 00000001 USING ORDINARY 00000000 00001000 FFFFFFF0 7 00000 1241 XZX,7 - 1240 00000A58 00000001 USING ORDINARY 00000000 00001000 FFFFFFF4 2 00008 1243 XNX,2 - 1247 00000A6C 00000001 DROP 2 2 - 1247 00000A6C 00000001 DROP 15 15 - 1248 00000A6C 00000001 USING ORDINARY 00000000 00001000 FFFFFFFF 10 00034 1255 PCB,10 - 1259 00000A8E 00000001 DROP 10 10 - 1259 00000A8E 00000001 DROP 7 7 - 1260 00000A8E 00000001 USING ORDINARY 00000000 00001000 FFFFFFFF 15 00000 PCB,15 - 1280 00000A8E 00000001 USING ORDINARY 00000A8E 00001000 00000001 1 0002A 1285 *,1 - 1293 00000AC6 00000001 DROP 14 14 - 1293 00000AC6 00000001 DROP 15 15 - 1308 00000AC6 00000001 USING ORDINARY 00000000 00001000 FFFFFFEC 3 00018 1406 UCB,3 - 1310 00000AC8 00000001 USING ORDINARY 00000AC8 00001000 00000001 1 003D0 1408 *,1 - 1314 00000AD2 00000001 USING ORDINARY 00000000 00001000 FFFFFFF9 2 00004 1316 XAX,2 - 1317 00000AD8 00000001 DROP 2 2 - 1322 00000AE4 00000001 USING ORDINARY 00000000 00001000 FFFFFFEF 12 0007A 1403 RDRHAS,12 - 1326 00000AF0 00000001 USING ORDINARY 00000000 00001000 FFFFFFF3 2 00010 1331 XRX,2 - 1332 00000B06 00000001 DROP 2 2 - 1336 00000B10 00000001 USING ORDINARY 00000000 00001000 FFFFFFF3 2 00000 1339 XRX,2 - 1344 00000B2E 00000001 DROP 2 2 - 1409 00000C28 00000001 DROP 3 3 - 1409 00000C28 00000001 DROP 12 12 - 1426 00000C48 00000001 USING ORDINARY 00000000 00001000 FFFFFFEC 3 00018 1505 UCB,3 - 1428 00000C4A 00000001 USING ORDINARY 00000C4A 00001000 00000001 1 0024C 1507 *,1 - 1432 00000C54 00000001 USING ORDINARY 00000000 00001000 FFFFFFF9 2 00004 1434 XAX,2 - 1435 00000C5A 00000001 DROP 2 2 - 1440 00000C66 00000001 USING ORDINARY 00000000 00001000 FFFFFFEE 12 00028 1501 PRTHAS,12 - 1443 00000C6E 00000001 USING ORDINARY 00000000 00001000 FFFFFFF3 2 00010 1449 XRX,2 - 1452 00000C92 00000001 DROP 2 2 - 1508 00000D5E 00000001 DROP 3 3 - 1508 00000D5E 00000001 DROP 12 12 - 1522 00000D74 00000001 USING ORDINARY 00000000 00001000 FFFFFFEC 3 00018 1581 UCB,3 - 1524 00000D76 00000001 USING ORDINARY 00000D76 00001000 00000001 1 0012E 1583 *,1 - 1528 00000D80 00000001 USING ORDINARY 00000000 00001000 FFFFFFF9 2 00004 1530 XAX,2 - 1531 00000D86 00000001 DROP 2 2 - 1536 00000D92 00000001 USING ORDINARY 00000000 00001000 FFFFFFED 12 00024 1571 EXCPHAS,12 - 1538 00000D96 00000001 USING ORDINARY 00000000 00001000 FFFFFFF3 2 00014 1544 XRX,2 - 1545 00000DB0 00000001 DROP 2 2 - 1572 00000E12 00000001 USING ORDINARY 00000000 00001000 FFFFFFF3 2 0000C 1577 XRX,2 - 1580 00000E30 00000001 DROP 2 2 - 1584 00000E3A 00000001 DROP 3 3 - 1584 00000E3A 00000001 DROP 12 12 - 1693 00000FCA 00000001 USING ORDINARY 00000FCA 00001000 00000001 1 00732 1714 *,1 - 1702 00000FEC 00000001 USING ORDINARY 00000000 00001000 FFFFFFEC 6 0001C 1709 UCB,6 - 1712 00001014 00000001 USING ORDINARY 00000000 00001000 FFFFFFFF 15 0004C 1715 PCB,15 - 1716 00001020 00000001 USING ORDINARY 00000000 00001000 FFFFFFFE 13 00008 1718 SA,13 - 1719 0000102C 00000001 DROP 13 13 - 1719 0000102C 00000001 DROP 15 15 - 1726 0000103E 00000001 DROP 1 1 - 1726 0000103E 00000001 DROP 6 6 - 1739 00001040 00000001 USING ORDINARY 00001040 00001000 00000001 1 00700 1781 *,1 - 1756 00001080 00000001 USING ORDINARY 00000000 00001000 FFFFFFF9 2 00004 1758 XAX,2 - 1761 0000108E 00000001 USING ORDINARY 00000000 00001000 FFFFFFFF 2 0000C 1763 PCB,2 -1 Using Map Page 75 -- HLASM R6.0 2016/08/29 08.42 - Stmt -----Location----- Action ----------------Using----------------- Reg Max Last Label and Using Text - Count Id Type Value Range Id Disp Stmt -0 1764 00001096 00000001 DROP 2 2 - 1765 00001096 00000001 USING ORDINARY 00000000 00001000 FFFFFFFF 15 0000C 1767 PCB,15 - 1768 0000109E 00000001 DROP 15 15 - 1769 0000109E 00000001 USING ORDINARY 00000000 00001000 FFFFFFFF 2 0004C 1770 PCB,2 - 1771 000010A2 00000001 USING ORDINARY 00000000 00001000 FFFFFFFE 8 00008 1772 SA,8 - 1773 000010A6 00000001 USING ORDINARY 00000000 00001000 FFFFFFFD 9 00010 1777 REGS,9 - 1778 000010B8 00000001 DROP 9 9 - 1844 000012CE 00000001 USING ORDINARY 000012CE 00001000 00000001 1 0046F 2091 *,1 - 1848 000012D8 00000001 USING ORDINARY 00000000 00001000 FFFFFFF9 2 00004 1850 XAX,2 - 1851 000012DE 00000001 DROP 2 2 - 1852 000012DE 00000001 USING ORDINARY 00000000 00001000 FFFFFFEB 12 001DD 2064 JSPAS,12 - 2016 00001548 00000001 USING ORDINARY 00000000 00001000 FFFFFFFF 4 0004D 2024 PCB,4 - 2025 00001566 00000001 DROP 4 4 - 2043 0000159E 00000001 USING ORDINARY 00000000 00001000 FFFFFFFF 5 00008 2045 PCB,5 - 2119 00001676 00000001 USING ORDINARY 00001676 00001000 00000001 1 0004A 2139 *,1 - 2123 00001680 00000001 USING ORDINARY 00000000 00001000 FFFFFFF9 2 00004 2125 XAX,2 - 2126 00001686 00000001 DROP 2 2 - 2129 0000168C 00000001 USING ORDINARY 00000000 00001000 FFFFFFEA 12 00098 2138 DIMAS,12 - 2144 000016CC 00000001 DROP 12 12 -1 General Purpose Register Cross Reference Page 76 -- Register References (M=modified, B=branch, U=USING, D=DROP, N=index) HLASM R6.0 2016/08/29 08.42 -0 0(0) 131U 176 191M 212 332M 559M 563M 563 618M 618 1691 1724M - 1(1) 176 177M 178U 191M 212 233M 332M 362U 410U 449M 450U 490U 515U 558U 562U 564M 565U 650U - 723U 765U 814U 883U 913U 954U 999U 1041U 1112U 1187U 1232U 1280U 1309M 1310U 1427M 1428U 1523M 1524U - 1691 1692M 1693U 1724M 1726D 1738M 1739U 1843M 1844U 2118M 2119U - 2(2) 64M 65 69M 71 80M 81M 82 83M 84 95M 96 176 191M 212 332M 363U 386D 411U - 427D 525M 527M 567 570M 593M 599M 600U 615D 616M 652 658M 682M 683U 687U 688M 691D 693M - 724U 744D 766 768M 769U 775D 776U 780M 781D 782U 790D 815 817M 818U 821M 822D 823M 823 - 825U 829D 832 833M 844U 852M 854M 861D 884M 886M 915 918 920U 923D 926 929 931U 934D - 956U 959D 966U 969D 1000U 1012D 1042 1044M 1047M 1076M 1077U 1085D 1113 1115M 1116U 1123D 1124U 1134D - 1135M 1157M 1188 1190M 1191U 1197D 1233 1239M 1240U 1247D 1255M 1281M 1283M 1311M 1313M 1314U 1317D 1318M - 1325M 1326U 1332D 1333M 1335M 1336U 1344D 1367M 1374M 1394M 1396M 1406M 1429M 1431M 1432U 1435D 1436M 1442M - 1443U 1452D 1453M 1477M 1479M 1488M 1499M 1501M 1505M 1525M 1527M 1528U 1531D 1532M 1537M 1538U 1545D 1554M - 1559M 1564M 1569M 1571M 1572U 1580D 1581M 1691 1708M 1724M 1747M 1748M 1755M 1756U 1758M 1759 1761U 1762 - 1763 1764D 1769U 1845M 1847M 1848U 1851D 1853M 1858M 1859 1873M 1877M 1881M 1884M 1891M 1898M 1900M 1902M - 1922M 1926M 1951M 1966M 1969M 2013M 2026M 2032M 2034M 2036M 2038M 2042M 2064M 2120M 2122M 2123U 2126D 2127M - 2133M - 3(3) 70M 71 75M 88M 176 191M 212 332M 364M 365M 366 367M 367 412M 413M 414 585M 586M - 587 654M 656 669M 677M 684 725M 732 742 1126M 1127M 1127N 1128M 1128N 1129M 1130 1308U 1409D - 1426U 1508D 1522U 1553M 1584D 1691 1724M 1746M 1871 1872M 1876M 1905M 1917M 1927M 1958M 1959M 1960M 1961 - 2056M 2057M 2058M 2059 2081B - 4(4) 76M 80 86M 86 176 191M 212 332M 370M 376M 381 417M 419U 424 427D 573M 576U 577M - 577 579 584 590M 602 604 624D 655M 657 673 676M 685 726M 738 740U 744D 1119M 1120M - 1120 1122U 1163D 1320M 1352 1359 1438M 1462 1469 1534M 1535M 1556 1691 1724M 1753M 1753 1775 1779M - 1779N 1870 1904M 1918 1955M 1956M 1957M 1998M 2000M 2001 2002 2015M 2016U 2025D 2045M 2050 2055M 2069M - 2069N 2070 2072 2074 2078 - 5(5) 73M 74 82 84 85 87M 87 89M 90 176 191M 212 332M 371M 373U 374M 374 377M - 379D 382 572M 589M 597 656M 657M 666 1049M 1050U 1076 1078 1085D 1133M 1145 1147U 1163D 1331M - 1341 1347 1354N 1361M 1362 1389 1400 1401 1402 1402 1446M 1457 1464N 1471M 1472 1543M 1547 1562 - 1691 1724M 1754M 1780M 1863M 1864 1871M 1872N 1876N 1906M 1907M 1908 1924 1928 1930 1932 2020M 2021M - 2022 2041M 2043U 2050M 2051 2068M 2068 2076M 2076N 2079 2080M - 6(6) 176 191M 212 332M 569M 587 608 610 620 661M 662U 663M 663 666 671 676 678M 680M - 699D 728M 729M 729 731U 735M 736M 736 739D 741 1053M 1054M 1057 1058M 1058N 1059 1061M 1062M - 1063M 1063 1065 1066M 1066N 1067 1072M 1073M 1073N 1074M 1074N 1075M 1079 1150M 1151 1152M 1153M 1153 - 1155 1324M 1369 1441M 1481 1544M 1556M 1561 1691 1695M 1696 1698M 1698N 1699 1702U 1724M 1726D - 7(7) 176 191M 212 332M 567M 568U 624D 652M 653U 699D 766M 767U 790D 815M 816U 861D 1042M 1043U - 1085D 1113M 1114U 1163D 1188M 1189U 1207D 1233M 1234U 1259D 1370M 1371 1484M 1485 1546M 1547N 1549M 1549N - 1550 1553 1691 1704M 1705M 1706 1724M 1993M 1994M 1995 2006M 2007M 2008 - 8(8) 176 191M 212 332M 491M 491 492M 493M 493N 494 516M 516 517M 518M 519 520M 520 574M - 575M 581 660M 668N 675N 678 679M 727M 734M 738N 832M 834U 855 861D 1137M 1142M 1145N 1691 - 1724M 1770M 1771U 1909M 1911M 1914M 1914 1915M 1916 1959 2057 2131M 2132 - 9(9) 176 191M 212 213M 214U 240D 332M 583M 584M 586 665M 668 675 836M 837M 837 839U 845 - 848M 861D 1138M 1139U 1140M 1140 1143M 1146D 1691 1724M 1772M 1773U 1778D 1910M 1910 1911M 1912M 1912 - 1920 1935 1936 1937 1938 1954M 1958 1961 1980 1990 1994 2007 2018 2056 2059 2078M 2079M 2091 - 10(A) 176 191M 212 215M 216M 217M 217N 218M 218N 219 223 226N 233N 234 238M 332M 451M 452 - 453U 458M 459 467 472D 601M 602M 605 609 671M 672M 673 840M 848 914M 917U 919D 922 - 925M 928U 930D 933 958M 961 963U 965D 968M 971 973U 975D 1001M 1003U 1004M 1007 1009M 1010 - 1012D 1068M 1070U 1085D 1194M 1195M 1195 1198U 1207D 1243M 1244M 1244 1248U 1259D 1321M 1321 1351M 1352 - 1358M 1359 1439M 1439 1461M 1462 1468M 1469 1691 1724M 1774M 1775M 1776 1777 1979M 1980M 1985 1989M - 1990M 1993N 1995N 2005 2009 - 11(B) 67M 68U 111D 176 191M 212 215M 226M 227N 332M 452M 459 607M 608M 612 689M 690M 692M - 841M 842M 842N 843M 846 957M 960U 962D 964 967M 970U 972D 974 1347M 1348M 1354M 1355M 1457M - 1458M 1464M 1465M 1534 1691 1724M 1940M 1944M 1947M 1981M 1982M 1983 1987M 2002M 2130 - 12(C) 63M 65M 66U 111D 176 191M 212 215M 235M 236M 332M 598M 609M 610M 613 1316M 1322U 1409D - 1434M 1440U 1508D 1530M 1536U 1584D 1691 1724M 1850M 1852U 2125M 2129U 2144D - 13(D) 176 191M 212 215M 236 332M 579M 580M 581M 582M 582N 583 596 601 607 621 1199M 1200U -1 General Purpose Register Cross Reference Page 77 -- Register References (M=modified, B=branch, U=USING, D=DROP, N=index) HLASM R6.0 2016/08/29 08.42 -0 1207D 1691 1715M 1716U 1719D 1724M 1988M 1989N 1991 1996 2001M - 14(E) 176 185M 186U 190D 191M 212 215M 225M 227M 230U 332M 468M 1197D 1201 1203 1208U 1293D 1691 - 1724M - 15(F) 176 181M 182U 190D 191M 212 221M 222U 225 332M 372D 380U 418D 473U 781D 830U 835D 862U - 916D 921 924U 927D 932 936U 955D 977U 1001 1002D 1007 1013U 1069D 1086U 1123D 1149 1164U 1197D - 1209U 1247D 1260U 1293D 1691 1711M 1712U 1719D 1724M 1742M 1743 1744 1765U 1766 1767 1768D -1 Diagnostic Cross Reference and Assembler Summary Page 78 -- HLASM R6.0 2016/08/29 08.42 -0Statements Flagged -0 178(P1,178), 214(P1,214), 362(P1,362), 410(P1,410), 450(P1,450), 490(P1,490), 515(P1,515), 558(P1,558), - 562(P1,562), 565(P1,565), 650(P1,650), 723(P1,723), 765(P1,765), 814(P1,814), 834(P1,834), 883(P1,883), 913(P1,913), - 954(P1,954), 999(P1,999), 1041(P1,1041), 1112(P1,1112), 1122(P1,1122), 1187(P1,1187), 1232(P1,1232), 1280(P1,1280), - 1310(P1,1310), 1428(P1,1428), 1524(P1,1524), 1693(P1,1673) - - 29 Statements Flagged in this Assembly 4 was Highest Severity Code -0HIGH LEVEL ASSEMBLER, 5696-234, RELEASE 6.0, PTF UK37157 -0SYSTEM: z/OS 01.10.00 JOBNAME: IBMUSER7 STEPNAME: *OMVSEX PROCSTEP: (NOPROC) -0Data Sets Allocated for this Assembly - Con DDname Data Set Name Volume Member - P1 SYSIN /mbhfs/sos4k.asm - L1 SYSLIB CEE.SCEEMAC ZAPRD2 - L2 SYS1.MACLIB ZARES1 - L3 SYS1.MODGEN ZARES1 - SYSLIN /mbhfs/sos4k.o - SYSPRINT /dev/fd1 - SYSTERM /dev/fd2 - - 1028584K allocated to Buffer Pool Storage required 360K - 2341 Primary Input Records Read 0 Library Records Read 0 Work File Reads - 0 ASMAOPT Records Read 3473 Primary Print Records Written 0 Work File Writes - 137 Object Records Written 0 ADATA Records Written -0Assembly Start Time: 08.42.21 Stop Time: 08.42.22 Processor Time: 00.00.00.3254 - Return Code 004 diff --git a/SOS_OS/source/sosouput.txt b/SOS_OS/source/sosouput.txt deleted file mode 100644 index bd125de..0000000 --- a/SOS_OS/source/sosouput.txt +++ /dev/null @@ -1,3473 +0,0 @@ -1 High Level Assembler Option Summary (PTF UK37157) Page 1 -- HLASM R6.0 2016/08/29 08.42 -0 No Overriding ASMAOPT Parameters - Overriding Parameters- OBJECT,ESD,RXREF,RLD,XREF(SHORT,UNREFS),DXREF,LIST,TERM,ASA - No Process Statements - - - Options for this Assembly -0 NOADATA - ALIGN - 3 ASA - BATCH - CODEPAGE(047C) - NOCOMPAT - NODBCS - NODECK - 3 DXREF - 3 ESD - NOEXIT - FLAG(0,ALIGN,CONT,EXLITW,NOIMPLEN,NOPAGE0,PUSH,RECORD,NOSUBSTR,USING0) - NOFOLD - NOGOFF - NOINFO - LANGUAGE(EN) - NOLIBMAC - LINECOUNT(60) - 3 LIST(121) - MACHINE(,NOLIST) - MXREF(SOURCE) - 3 OBJECT - OPTABLE(UNI,NOLIST) - NOPCONTROL - NOPESTOP - NOPROFILE - NORA2 - NORENT - 3 RLD - 3 RXREF - SECTALGN(8) - SIZE(MAX) - NOSUPRWARN - SYSPARM() - 3 TERM(WIDE) - NOTEST - THREAD - NOTRANSLATE - TYPECHECK(MAGNITUDE,REGISTER) - USING(NOLIMIT,MAP,WARN(15)) - NOWORKFILE - 3 XREF(SHORT,UNREFS) - - Standard DD Names- SYSLIN SYSLIB SYSIN SYSPRINT SYSPUNCH SYSUT1 SYSTERM SYSADATA ASMAOPT - Overriding DD Names- SYS00013 SYS00005 SYS00011 SYS00012 SYS00010 -1 External Symbol Dictionary Page 2 --Symbol Type Id Address Length Owner Id Flags Alias-of HLASM R6.0 2016/08/29 08.42 -0PROGRAM SD 00000001 00000000 00001770 00 - CARDLDR SD 00000002 00001770 000000A0 00 - IPLCARD SD 00000003 00001810 00000050 00 -1 Sample Operating System Version 2.00 Page 3 - Active Usings: None -0 Loc Object Code Addr1 Addr2 Stmt Source Statement HLASM R6.0 2016/08/29 08.42 -0 2 *********************************************************************** 00020000 - 3 * * 00030000 - 4 * ***************************************************************** * 00040000 - 5 * * * * 00050000 - 6 * * Sample Operating System * * 00060002 - 7 * * Version 2.00 * * 00067002 - 8 * * Developed at MIT 1973 * * 00074002 - 9 * * * * 00090000 - 10 * ***************************************************************** * 00100000 - 11 * * 00100602 - 12 * Update 2015/10/31 Juergen Winkelmann, e-mail winkelmann@id.ethz.ch * 00101202 - 13 * * 00101802 - 14 * - change storage protection alignments to 4K \ * 00102402 - 15 * - replace SSK/ISK instructions with SSKE/ISKE > 4K support * 00103002 - 16 * - minor changes in storage protection logic / * 00103602 - 17 * - change number of parallel processing streams to 4 * 00104202 - 18 * - change core size to 16M * 00104802 - 19 * - replace table of valid $JOB card core requests with general * 00105402 - 20 * logic rounding up any none full page request entered to next * 00106002 - 21 * full page * 00106602 - 22 * - add IPL card and two card loader for one stop creation of an * 00107202 - 23 * IPLable card deck * 00107802 - 24 * - ignore external interrupts during initialization to avoid * 00108402 - 25 * IPLRTN getting interrupted by the interval timer * 00109002 - 26 * * 00109103 - 27 * Update 2015/11/05 Juergen Winkelmann, e-mail winkelmann@id.ethz.ch * 00109203 - 28 * * 00109303 - 29 * - allow reloading card readers without needing to re-IPL the * 00109403 - 30 * system. This functionality relies on Hercules' card reader * 00109503 - 31 * behavior with the EOF initialization in place. It will not * 00109603 - 32 * work in INTR mode. * 00109703 - 33 * * 00109744 - 34 * Update 2015/11/13 Juergen Winkelmann, e-mail winkelmann@id.ethz.ch * 00109784 - 35 * * 00109824 - 36 * - add UCB to support a console at 009 using the EXCP device * 00109864 - 37 * handler. * 00109904 - 38 * * 00110000 - 39 *********************************************************************** 00120000 -- - 41 PRINT ON,NODATA,GEN 00140000 - 000000 00000 01770 42 PROGRAM CSECT , sample operating system starts at zero 00150002 - 001770 01770 000A0 43 CARDLDR CSECT , two card loader follows at the end 00150102 - 44 *** 00150202 - 45 *** IPL card 00150302 - 46 *** 00150402 - 001810 01810 00050 47 IPLCARD CSECT , IPLable deck must begin with this card 00150502 - 001810 0000000000 48 PSWD DC F'0',X'00' initial program status word, disabled 00150602 - 001815 001770 49 DC AL3(LOADER) start execution at load address 00150702 - 001818 02001770 50 CCW1 DC X'02',AL3(LOADER) read 1st card to load address 00150802 - 00181C 40000050 51 DC XL4'40000050' chain, read length = 80 00150902 - 001820 020017C0 52 CCW2 DC X'02',AL3(LOADER+80) read 2nd card to load addr + 80 00151002 - 001824 00000050 53 DC XL4'00000050' read length = 80 00151102 - 001828 E2819497938540D6 54 DC C'Sample Operating System Version 2.00' eye catcher 00151202 -1 Sample Operating System Version 2.00 Page 4 - Active Usings: None -0 Loc Object Code Addr1 Addr2 Stmt Source Statement HLASM R6.0 2016/08/29 08.42 -0001850 0000000000000000 55 DC 16X'00' pad to card length 00151302 - 56 *** 00151402 - 57 *** loader 00151502 - 58 *** 00151602 - 59 * 00151702 - 60 * Initialize 00151802 - 61 * 00151902 - 001770 01770 000A0 62 CARDLDR CSECT , two card loader must follow IPL card 00152002 - 001770 05C0 63 BALR R12,0 establish .. 00152102 - 001772 4120 0002 00002 64 LA R2,2 .. base .. 00152202 - 001776 1BC2 65 SR R12,R2 .. register 00152302 - R:C 01770 66 USING CARDLDR,R12 tell assembler 00152402 - 001778 41B0 0000 00000 67 LA R11,0 addressability of .. 00152502 - R:B 00000 68 USING PROGRAM,R11 .. sample operating system 00152602 - 00177C 4120 0000 00000 69 LA R2,0 I/O .. 00152702 - 001780 4130 C06A 017DA 70 LA R3,IOINTRPT .. new PSWD 00152802 - 001784 9023 B078 00078 71 STM R2,R3,IONEW store I/O new PSWD 00152902 - 001788 8000 C07E 017EE 72 SSM ENBLECH0 enable interrupts from channel 0 00153002 - 00178C 4150 C0A0 01810 73 LA R5,CCWCHAIN address of card reader CCW chain 00153102 - 001790 5050 B048 00048 74 ST R5,CAW store address in CAW 00153202 - 001794 5830 C094 01804 75 L R3,NUMCARDS number of cards to read 00153302 - 001798 5840 C090 01800 76 L R4,LOADADDR target address of loaded code 00153402 - 77 * 00153502 - 78 * create CCW chain 00153602 - 79 * 00153702 - 00179C 1824 80 NEXTCARD LR R2,R4 load next card here 00153802 - 00179E BF28 C080 017F0 81 ICM R2,B'1000',READ insert write command 00153902 - 0017A2 5020 5000 00000 82 ST R2,0(,R5) store CCW 00154002 - 0017A6 4120 0050 00050 83 LA R2,80 length of card 00154102 - 0017AA 5020 5004 00004 84 ST R2,4(,R5) store length in CCW, zero all flags 00154202 - 0017AE 9640 5004 00004 85 OI 4(R5),X'40' indicate command chaining 00154302 - 0017B2 4140 4050 00050 86 LA R4,80(,R4) increment target address 00154402 - 0017B6 4150 5008 00008 87 LA R5,8(,R5) point to next CCW 00154502 - 0017BA 4630 C02C 0179C 88 BCT R3,NEXTCARD read next card 00154602 - 0017BE 5B50 C098 01808 89 S R5,EIGHT point to previous CCW 00154702 - 0017C2 94BF 5004 00004 90 NI 4(R5),X'BF' clear command chaining flag 00154802 - 91 * 00154902 - 92 * read cards and wait for completion 00155002 - 93 * 00155102 - 0017C6 9C00 000C 0000C 94 SIO 12(0) read cards 00155202 - 0017CA 4120 C066 017D6 95 LA R2,*+12 continue here after I/O completion 00155302 - 0017CE 5020 C08C 017FC 96 ST R2,CONTINUE store continue address in PSWD skeleton 00155402 - 0017D2 8200 C088 017F8 97 LPSW WAITPSWD wait for I/O completion 00155502 - 98 * 00155602 - 99 * "IPL" the Sample Operating System 00155702 - 100 * 00155802 - 0017D6 8200 0000 00000 101 LPSW 0 transfer control 00155902 - 102 * 00156002 - 103 * I/O interrupt handler 00156102 - 104 * 00156202 - 017DA 105 IOINTRPT EQU * 00156302 - 0017DA 9104 B044 00044 106 TM CSW+4,X'04' device end received? 00156402 - 0017DE 47E0 C07A 017EA 107 BNO IOINTRTN -> no, keep waiting 00156502 - 0017E2 94FD B039 00039 108 NI IOOLD+1,X'FD' -> yes, terminate wait state and .. 00156602 - 0017E6 947F B038 00038 109 NI IOOLD,X'7F' .. and disable channel 0 interrupts 00156702 -1 Sample Operating System Version 2.00 Page 5 - Active Usings: PROGRAM,R11 CARDLDR,R12 -0 Loc Object Code Addr1 Addr2 Stmt Source Statement HLASM R6.0 2016/08/29 08.42 -00017EA 8200 B038 00038 110 IOINTRTN LPSW IOOLD return to mainline 00156802 - 111 DROP R11,R12 no longer needed 00156902 - 112 * 00157002 - 113 * Data area 00157102 - 114 * 00157202 - 0017EE F8F0 115 ENBLECH0 DC C'80' mask to enable channel 0 interrupts 00157302 - 0017F0 02 116 READ DC X'02' read a card 00157402 - 0017F8 117 DS 0D align 00157502 - 0017F8 80020000 118 WAITPSWD DC X'80020000' wait with channel 0 interrupts enabled 00157602 - 0017FC 119 CONTINUE DS F continue here after wait 00157702 - 001800 00000000 120 LOADADDR DC F'0' code is to be loaded here 00157802 - 001804 0000004B 121 NUMCARDS DC F'75' number of cards to read 00157904 - 001808 00000008 122 EIGHT DC F'8' CCW length 00158002 - 001810 123 CCWCHAIN DS 0D start of card reader CCW chain 00158102 - 124 *** 00158202 - 125 *** Sample Operating System code begins here 00158302 - 126 *** 00158402 - 000000 00000 01770 127 PROGRAM CSECT , sample OS must follow loader cards 00158502 -0 000000 129 CORESIZE EQU 16777216 bytes of core in object machine 00170002 -0 R:0 00000 131 USING *,0 COMMUNICATIONS AREA 00190000 -0000000 000000000000103E 133 IPLPSW DC B'00000000',B'00000000',X'0000',X'00',AL3(IPLRTN) 00210000 - 000008 134 IPLCCW1 DS D . IPL CCW #1 00220000 - 000010 135 IPLCCW2 DS D . IPL CCW #2 00230000 - 000018 136 EXTOLD DS D . EXTERNAL OLD PSW 00240000 - 000020 137 SVCOLD DS D . SVC OLD PSW 00250000 - 000028 138 PGMOLD DS D . PROGRAM INTERRUPT OLD PSW 00260000 - 000030 139 MCHKOLD DS D . MACHINE CHECK OLD PSW 00270000 - 000038 140 IOOLD DS D . I/O INTERRUPT OLD PSW 00280000 - 000040 141 CSW DS D . CHANNEL STATUS WORD 00290000 - 000048 142 CAW DS F . CHANNEL ADDRESS WORD 00300000 - 00004C 143 UNUSED0 DS F . 00310000 - 000050 FFFFFFFF 144 TIMER DC F'-1' . TIMER 00320000 - 000054 00000000 145 UNUSED1 DC F'0' . 00330000 - 000058 000000000000027A 146 EXTNEW DC B'00000000',B'00000000',X'0000',X'00',AL3(EXTHANDL) 00340000 - 000060 00000000000002B2 147 SVCNEW DC B'00000000',B'00000000',X'0000',X'00',AL3(SVCHANDL) 00350000 - 000068 00000000000002B0 148 PGMNEW DC B'00000000',B'00000000',X'0000',X'00',AL3(PGMHANDL) 00360000 - 000070 0002000000000000 149 MCHKNEW DC B'00000000',B'00000010',X'0000',X'00',AL3(0) 00370000 - 000078 00000000000017DA 150 IONEW DC B'00000000',B'00000000',X'0000',X'00',AL3(IOINTRPT) <-+ 00380002 - 151 *** | 00382002 - 152 *** IOINTRPT will be replaced with IOHANDL after IPL by IPLRTN -----+ 00384002 - 153 *** 00386002 - 000080 00080 00180 154 ORG *+X'100' SPACE OVER STAND ALONE DUMP AREA 00390000 - 000180 00001740 155 FSBPTR DC A(VERYEND) . FSB POINTER 00400000 - 000184 0000000100000000 156 FSBSEM DC F'1,0' . FSB SEMAPHORE 00410000 - 00018C 0000000000000000 157 MEMORY DC F'0,0' . MEMORY SEMAPHORE 00420000 - 000194 0000000100000000 158 CAWSEM DC F'1,0' . CAW SEMAPHORE 00430000 -000019C 160 TRAPSAVE DS 16F . STORAGE FOR EXTERNAL INTERRUPTS 00450000 - 0001DC 161 IOHSAVE DS 16F . STORAGE FOR I/O INTERRUPTS 00460000 -000021C 163 SYSSEMSA DS CL84 . SYSTEM SEMAPHORE SAVE AREA 00480000 -1 Sample Operating System Version 2.00 Page 6 - Active Usings: PROGRAM,R0 -0 Loc Object Code Addr1 Addr2 Stmt Source Statement HLASM R6.0 2016/08/29 08.42 -0000270 165 RUNNING DS A . RUNNING 00500000 - 000274 166 NEXTTRY DS A . NEXTTRY 00510000 - 000278 167 NEXTTRYM DS C,0H . NEXTTRY MODIFIED 00520000 -1 Sample Operating System Version 2.00 Page 7 - Active Usings: PROGRAM,R0 -0 Loc Object Code Addr1 Addr2 Stmt Source Statement HLASM R6.0 2016/08/29 08.42 -0 169 *********************************************************************** 00540000 - 170 * * 00550000 - 171 * EXTERNAL, PROGRAM, AND SVC INTERRUPT HANDLERS * 00560000 - 172 * * 00570000 - 173 *********************************************************************** 00580000 -0 0027A 175 EXTHANDL EQU * . EXTERNAL INTERRUPT HANDLER 00600000 - 00027A 900F 019C 0019C 176 STM 0,15,TRAPSAVE . SAVE REGISTERS 00610000 - 00027E 0510 177 BALR 1,0 . ESTABLISH ADDRESSING 00620000 - R:1 00280 178 USING *,1 00630000 - ** ASMA303W Multiple address resolutions may result from this USING and the USING on statement number 131 - ** ASMA435I Record 178 in /mbhfs/sos4k.asm on volume: - 000280 9580 001B 0001B 179 CLI EXTOLD+3,X'80' . SEE IF TIMER TRAP 00640000 - 000284 4770 1028 002A8 180 BNE EXTHRET . IF NOT, IGNORE 00650000 - 000288 58F0 0270 00270 181 L 15,RUNNING . SET UP REGISTERS FOR TRAFFIC 00660000 - R:F 00000 182 USING PCB,15 . CONTROLLER (XPER) 00670000 - 00028C 95FF F019 00019 183 CLI PCBBLOKT,X'FF' . IF BLOCKED, NO PROCESS IS 00680000 - 000290 4780 1028 002A8 184 BE EXTHRET . RUNNABLE, SO RETURN 00690000 - 000294 41E0 F04C 0004C 185 LA 14,PCBISA . GET SAVE AREA 00700000 - R:E 00000 186 USING SA,14 00710000 - 000298 D207 E000 0018 00000 00018 187 MVC SAPSW,EXTOLD . AND STORE OLD STUFF INTO IT 00720000 - 00029E D23F E008 019C 00008 0019C 188 MVC SAREGS,TRAPSAVE 00730000 - 0002A4 47F0 12EA 0056A 189 B XPER . THEN GO TO TRAFFIC SCHEDULER 00740000 - 190 DROP 14,15 00750000 - 0002A8 980F 019C 0019C 191 EXTHRET LM 0,15,TRAPSAVE . TO IGNORE AN INTERRUPT, RELOAD 00760000 - 0002AC 8200 0018 00018 192 LPSW EXTOLD . AND TRANSFER BACK 00770000 -0 002B0 194 PGMHANDL EQU * . PROGRAM INTERRUPT HANDLER 00790000 - 0002B0 0A6F 195 SVC C'?' . IN ANY CASE, AN ERROR 00800000 -1 Sample Operating System Version 2.00 Page 8 - Active Usings: PROGRAM,R0 PROGRAM+X'280',R1 -0 Loc Object Code Addr1 Addr2 Stmt Source Statement HLASM R6.0 2016/08/29 08.42 -0 197 *********************************************************************** 00820000 - 198 * * 00830000 - 199 * SVC INTERRUPT HANDLER * 00840000 - 200 * * 00850000 - 201 * FOR ALL ROUTINES ENTERED BY SVC INTERRUPT, THE * 00860000 - 202 * FOLLOWING REGISTERS CONTAIN THIS INFORMATION: * 00870000 - 203 * * 00880000 - 204 * REGISTER 1 - BASE REGISTER FOR ROUTINE * 00890000 - 205 * REGISTER 2 - POINTER TO ARGUMENT LIST (IF ANY) * 00900000 - 206 * REGISTER 14 - POINTER TO SAVEAREA USED FOR THIS SVC * 00910000 - 207 * REGISTER 15 - POINTER TO PCB PRESENTLY RUNNING * 00920000 - 208 * * 00930000 - 209 *********************************************************************** 00940000 -0 002B2 211 SVCHANDL EQU * . SVC HANDLER 00960000 - 0002B2 900F 019C 0019C 212 STM 0,15,TRAPSAVE . SAVE REGISTERS 00970000 - 0002B6 0590 213 BALR 9,0 . ESTABLISH ADDRESSING 00980000 - R:9 002B8 214 USING *,9 00990000 - ** ASMA303W Multiple address resolutions may result from this USING and the USING on statement number 131 - ** ASMA303W Multiple address resolutions may result from this USING and the USING on statement number 178 - ** ASMA435I Record 214 in /mbhfs/sos4k.asm on volume: - 0002B8 98AE 905C 00314 215 LM 10,14,SVCCONST . INITIALIZE REGISTERS 01000000 - 0002BC 43A0 0023 00023 216 IC 10,SVCOLD+3 . GET SVC CODE 01010000 - 0002C0 43AA 9070 00328 217 IC 10,SVCHTABL(10) . TRANSLATE INTO TABLE OFFSET 01020000 - 0002C4 41AA 9170 00428 218 LA 10,SVCRTN(10) . REG 10 -> THE CORRECT PSW 01030000 - 0002C8 9500 A002 00002 219 CLI 2(10),X'00' . IS THIS CALL PROTECTED? 01040000 - 0002CC 4780 904A 00302 220 BE SVCHPROT . THEN SEE IF WE CAN CALL IT 01050000 - 0002D0 58F0 0270 00270 221 SVCOK L 15,RUNNING . GET PCB POINTER 01060000 - R:F 00000 222 USING PCB,15 01070000 - 0002D4 9500 A003 00003 223 CLI 3(10),X'00' . IS IT A SYSTEM SAVEAREA? 01080000 - 0002D8 4780 9026 002DE 224 BE SYSSEM . DON'T USE REG 14 AS PCB POINTER 01090000 - 0002DC 18EF 225 LR 14,15 . ELSE, SET UP PCB POINTER 01100000 - 0002DE 43BA 0003 00003 226 SYSSEM IC 11,3(10) . GET POINTER TO SAVE AREA OFFSET 01110000 - 0002E2 5AEB 9210 004C8 227 A 14,SVCSAVE(11) . REG 14 -> SAVE AREA 01120000 - 0002E6 954B 0023 00023 228 CLI SVCOLD+3,C'.' . ARE WE CALLING XPER? 01130000 - 0002EA 4780 9042 002FA 229 BE SVCXPER . IF SO, DON'T SAVE RETURN STATUS 01140000 - R:E 00000 230 USING SA,14 01150000 - 0002EE D207 E000 0020 00000 00020 231 MVC SAPSW,SVCOLD . SAVE PSW 01160000 - 0002F4 D23F E008 019C 00008 0019C 232 MVC SAREGS,TRAPSAVE . SAVE REGISTERS 01170000 - 0002FA 581A 0004 00004 233 SVCXPER L 1,4(10) . MAKE ADDRESSING EASY WITHIN 01180000 - 0002FE 8200 A000 00000 234 LPSW 0(10) . ROUTINE, AND GO THERE 01190000 - 000302 58C0 0020 00020 235 SVCHPROT L 12,SVCOLD . GET PROTECTION KEY 01200000 - 000306 14CD 236 NR 12,13 . IS IT A USER? 01210000 - 000308 4780 9018 002D0 237 BZ SVCOK . IF NO, THAT'S FINE 01220000 - 00030C 41A0 91F8 004B0 238 LA 10,SVCRTN+136 . ELSE SET UP CALL TO XQUE 01230000 - 000310 47F0 9018 002D0 239 B SVCOK . 01240000 - 240 DROP 9 01250000 - 000314 0000000000000000 241 SVCCONST DC 3F'0',X'00F00000',F'0' 01260000 -0000328 8484848484848484 243 SVCHTABL DC 256X'84' . TABLE OF PSW OFFSETS 01280000 - 000428 00428 003FF 244 ORG SVCHTABL+C'P' 01290000 - 0003FF 00 245 DC AL1(0) 01300000 - 000400 00400 0040D 246 ORG SVCHTABL+C'V' 01310000 - 00040D 08 247 DC AL1(8) 01320000 - 00040E 0040E 00382 248 ORG SVCHTABL+C'!' 01330000 -1 Sample Operating System Version 2.00 Page 9 - Active Usings: PROGRAM,R0 PROGRAM+X'280',R1 SA,R14 PCB,R15 -0 Loc Object Code Addr1 Addr2 Stmt Source Statement HLASM R6.0 2016/08/29 08.42 -0000382 10 249 DC AL1(16) 01340000 - 000383 00383 00393 250 ORG SVCHTABL+C',' 01350000 - 000393 18 251 DC AL1(24) 01360000 - 000394 00394 003EA 252 ORG SVCHTABL+C'B' 01370000 - 0003EA 20 253 DC AL1(32) 01380000 - 0003EB 003EB 003E9 254 ORG SVCHTABL+C'A' 01390000 - 0003E9 28 255 DC AL1(40) 01400000 - 0003EA 003EA 003EE 256 ORG SVCHTABL+C'F' 01410000 - 0003EE 30 257 DC AL1(48) 01420000 - 0003EF 003EF 003F1 258 ORG SVCHTABL+C'I' 01430000 - 0003F1 38 259 DC AL1(56) 01440000 - 0003F2 003F2 003F9 260 ORG SVCHTABL+C'J' 01450000 - 0003F9 40 261 DC AL1(64) 01460000 - 0003FA 003FA 00373 262 ORG SVCHTABL+C'.' 01470000 - 000373 48 263 DC AL1(72) 01480000 - 000374 00374 00401 264 ORG SVCHTABL+C'R' 01490000 - 000401 50 265 DC AL1(80) 01500000 - 000402 00402 0040A 266 ORG SVCHTABL+C'S' 01510000 - 00040A 58 267 DC AL1(88) 01520000 - 00040B 0040B 003EB 268 ORG SVCHTABL+C'C' 01530000 - 0003EB 60 269 DC AL1(96) 01540000 - 0003EC 003EC 003FD 270 ORG SVCHTABL+C'N' 01550000 - 0003FD 68 271 DC AL1(104) 01560000 - 0003FE 003FE 00410 272 ORG SVCHTABL+C'Y' 01570000 - 000410 70 273 DC AL1(112) 01580000 - 000411 00411 00411 274 ORG SVCHTABL+C'Z' 01590000 - 000411 78 275 DC AL1(120) 01600000 - 000412 00412 003EC 276 ORG SVCHTABL+C'D' 01610000 - 0003EC 80 277 DC AL1(128) 01620000 - 0003ED 003ED 00397 278 ORG SVCHTABL+C'?' 01630000 - 000397 88 279 DC AL1(136) 01640000 - 000398 00398 003F0 280 ORG SVCHTABL+C'H' 01650000 - 0003F0 90 281 DC AL1(144) 01660000 - 0003F1 003F1 003ED 282 ORG SVCHTABL+C'E' 01670000 - 0003ED 98 283 DC AL1(152) 01680000 - 0003EE 003EE 00428 284 ORG SVCHTABL+256 01690000 -0000428 286 SVCRTN DS 0D . THE PSWS 01710000 - 287 * IN THE FOLLOWING PSWS, THE THIRD BYTE INDICATES * 01720000 - 288 * WHETHER THE SVC IS RESTRICTED: * 01730000 - 289 * X'00' -> OPERATING SYSTEM ONLY * 01740000 - 290 * X'FF' -> AVAILABLE TO USER ALSO * 01750000 - 291 * * 01760000 - 292 * THE FOURTH BYTE INDICATES WHICH SAVE AREA TO USE; * 01770000 - 293 * SVCSAVE BELOW SHOWS THE CODE VALUES. * 01780000 - 000428 00000000000004EE 294 DC B'00000000',B'00000000',X'0000',X'00',AL3(XP) 01790000 - 000430 0000000000000534 295 DC B'00000000',B'00000000',X'0000',X'00',AL3(XV) 01800000 - 000438 00000004000005C0 296 DC B'00000000',B'00000000',X'0004',X'00',AL3(XEXC) 01810000 - 000440 00000004000005D2 297 DC B'00000000',B'00000000',X'0004',X'00',AL3(XCOM) 01820000 - 000448 0000000400000744 298 DC B'00000000',B'00000000',X'0004',X'00',AL3(XB) 01830000 - 000450 FF00000C00000600 299 DC B'11111111',B'00000000',X'000C',X'00',AL3(XA) 01840000 - 000458 FF00000C000006B6 300 DC B'11111111',B'00000000',X'000C',X'00',AL3(XF) 01850000 - 000460 000000040000087A 301 DC B'00000000',B'00000000',X'0004',X'00',AL3(XI) 01860000 - 000468 00000004000008A6 302 DC B'00000000',B'00000000',X'0004',X'00',AL3(XJ) 01870000 - 000470 000000040000056A 303 DC B'00000000',B'00000000',X'0004',X'00',AL3(XPER) 01880000 -1 Sample Operating System Version 2.00 Page 10 - Active Usings: PROGRAM,R0 PROGRAM+X'280',R1 SA,R14 PCB,R15 -0 Loc Object Code Addr1 Addr2 Stmt Source Statement HLASM R6.0 2016/08/29 08.42 -0000478 FF00FF08000008EC 304 DC B'11111111',B'00000000',X'FF08',X'00',AL3(XR) 01890000 - 000480 FF00FF0800000978 305 DC B'11111111',B'00000000',X'FF08',X'00',AL3(XS) 01900000 - 000488 FF00FF0800000780 306 DC B'11111111',B'00000000',X'FF08',X'00',AL3(XC) 01910000 - 000490 0000FF04000008CA 307 DC B'00000000',B'00000000',X'FF04',X'00',AL3(XN) 01920000 - 000498 0000FF0800000A0A 308 DC B'00000000',B'00000000',X'FF08',X'00',AL3(XY) 01930000 - 0004A0 FF00FF0800000A42 309 DC B'11111111',B'00000000',X'FF08',X'00',AL3(XZ) 01940000 - 0004A8 FF00FF08000007C6 310 DC B'11111111',B'00000000',X'FF08',X'00',AL3(XD) 01950000 - 0004B0 0000FF0400000A8E 311 DC B'00000000',B'00000000',X'FF04',X'00',AL3(XQUE) 01960000 - 0004B8 FF00FF0800000842 312 DC B'11111111',B'00000000',X'FF08',X'00',AL3(XH) 01970000 - 0004C0 FF00000C00000608 313 DC B'11111111',B'00000000',X'000C',X'00',AL3(XAUTO) 01980000 -00004C8 315 SVCSAVE DS 0F . THE SAVE AREA OFFSETS 02000000 - 0004C8 0000021C 316 DC A(SYSSEMSA) . CODE 00 -> SYSSEMSA 02010000 - 0004CC 0000004C 317 DC A(PCBISA-PCB) . CODE 04 -> INTERRUPT SAVE AREA 02020000 - 0004D0 000000A0 318 DC A(PCBFSA-PCB) . CODE 08 -> FAULT SAVE AREA 02030000 - 0004D4 000000F4 319 DC A(PCBMSA-PCB) . CODE 0C -> MEMORY SAVE AREA 02040000 -- - 321 *********************************************************************** 02060000 - 322 * * 02070000 - 323 * RETURN SEQUENCE FOR REQUEST DRIVEN ROUTINES AND TRAFFIC CONTROLLER * 02080000 - 324 * * 02090000 - 325 *********************************************************************** 02100000 -00004D8 327 DS 0D 02120000 - 0004D8 00000000000004E0 328 RETURN DC B'00000000',B'00000000',X'0000',X'00',AL3(RETURNR) 02130000 -0 004E0 330 RETURNR EQU * . RETURN ROUTINE FOR SVC'S AND XPER 02150000 - 0004E0 D207 0020 E000 00020 00000 331 MVC SVCOLD,SAPSW . SAVE PSW IN A SAFE PLACE 02160000 - 0004E6 980F E008 00008 332 LM 0,15,SAREGS . RELOAD REGISTERS 02170000 - 0004EA 8200 0020 00020 333 LPSW SVCOLD . AND RETURN 02180000 -1 Sample Operating System Version 2.00 Page 11 - Active Usings: PROGRAM,R0 PROGRAM+X'280',R1 SA,R14 PCB,R15 -0 Loc Object Code Addr1 Addr2 Stmt Source Statement HLASM R6.0 2016/08/29 08.42 -0 335 *********************************************************************** 02200000 - 336 * * 02210000 - 337 * REQUEST DRIVEN ROUTINES * 02220000 - 338 * * 02230000 - 339 *********************************************************************** 02240000 -- - 341 *********************************************************************** 02260000 - 342 * * 02270000 - 343 * XP ROUTINE * 02280000 - 344 * * 02290000 - 345 * FUNCTION: TO IMPLEMENT "P" PRIMITIVE FOR SEMAPHORES * 02300000 - 346 * DATABASES: UPON ENTRY, REGISTER 2 CONTAINS ADDRESS SM * 02310000 - 347 * SM DS 0D SEMAPHORE DEFINITION * 02320000 - 348 * SMVAL DS F VALUE * 02330000 - 349 * SMPTR DS A POINTER TO FIRST WAITER * 02340000 - 350 * ROUTINES USED: XPER * 02350000 - 351 * PROCEDURE: SUBTRACT ONE FROM SMVAL; IF NON-NEGATIVE, RETURN. * 02360000 - 352 * IF NEGATIVE, PLACE RUNNING PROCESS AT END OF LIST * 02370000 - 353 * OF PRECESSES WAITING ON SM. BLOCK CALLING PROCESS; * 02380000 - 354 * ENTER TRAFFIC CONTROLLER. * 02390000 - 355 * ERROR CHECKS: NONE * 02400000 - 356 * INTERRUPTS: OFF * 02410000 - 357 * USER ACCESS: NO * 02420000 - 358 * * 02430000 - 359 *********************************************************************** 02440000 -0 004EE 361 XP EQU * . THE XP ROUTINE 02460000 - R:1 004EE 362 USING *,1 02470000 - ** ASMA303W Multiple address resolutions may result from this USING and the USING on statement number 131 - ** ASMA435I Record 362 in /mbhfs/sos4k.asm on volume: - R:2 00000 363 USING SM,2 . ARGUMENT IS A SEMAPHORE 02480000 - 0004EE 5830 2000 00000 364 L 3,SMVAL . GET THE VALUE 02490000 - 0004F2 0630 365 BCTR 3,0 . SUBTRACT ONE 02500000 - 0004F4 5030 2000 00000 366 ST 3,SMVAL . AND STORE IT BACK 02510000 - 0004F8 1233 367 LTR 3,3 . SET CONDITION CODE 02520000 - 0004FA 4740 1014 00502 368 BM XPWAIT . IF IT'S NEGATIVE, MUST WAIT 02530000 - 0004FE 8200 04D8 004D8 369 LPSW RETURN . ELSE RETURN NOW 02540000 - 000502 4140 2004 00004 370 XPWAIT LA 4,SMPTR . START GOING DOWN 02550000 - 000506 5850 2004 00004 371 L 5,SMPTR . CHAIN OF POINTERS 02560000 - 372 DROP 15 02570000 - R:5 00000 373 USING PCB,5 02580000 - 00050A 1255 374 XPLOOP LTR 5,5 . IF REACHED END 02590000 - 00050C 4780 102E 0051C 375 BZ XPTHEN . ADD OUR PCB ON. ELSE, 02600000 - 000510 4140 5030 00030 376 LA 4,PCBNSW . INCREMENT POINTERS 02610000 - 000514 5850 5030 00030 377 L 5,PCBNSW 02620000 - 000518 47F0 101C 0050A 378 B XPLOOP . AND TRY AGAIN 02630000 - 379 DROP 5 02640000 - R:F 00000 380 USING PCB,15 02650000 - 00051C D203 4000 0270 00000 00270 381 XPTHEN MVC 0(4,4),RUNNING . WE'RE AT THE END 02660000 - 000522 5050 F030 00030 382 ST 5,PCBNSW . STORE NULL POINTER 02670000 - 000526 92FF F019 00019 383 MVI PCBBLOKT,X'FF' . AND WE'RE BLOCKED 02680000 - 00052A D253 F04C 021C 0004C 0021C 384 MVC PCBISA,SYSSEMSA . SWITCH SAVE AREAS 02690000 - 000530 47F0 107C 0056A 385 B XPER . SO RUN SOMEONE ELSE 02700000 -1 Sample Operating System Version 2.00 Page 12 - Active Usings: PROGRAM,R0 PROGRAM+X'4EE',R1 SA,R14 PCB,R15 -0 Loc Object Code Addr1 Addr2 Stmt Source Statement HLASM R6.0 2016/08/29 08.42 -0 386 DROP 2 02710000 -1 Sample Operating System Version 2.00 Page 13 - Active Usings: PROGRAM,R0 PROGRAM+X'4EE',R1 SA,R14 PCB,R15 -0 Loc Object Code Addr1 Addr2 Stmt Source Statement HLASM R6.0 2016/08/29 08.42 -0 388 *********************************************************************** 02730000 - 389 * * 02740000 - 390 * XV ROUTINE * 02750000 - 391 * * 02760000 - 392 * FUNCTION: TO IMPLEMENT "V" PRIMITIVE FOR SEMAPHORES * 02770000 - 393 * DATABASES: UPON ENTRY, REGISTER 2 CONTAINS ADDRESS SM * 02780000 - 394 * SM DS 0D SEMAPHORE DEFINITION * 02790000 - 395 * SMVAL DS F VALUE * 02800000 - 396 * SMPTR DS A POINTER TO FIRST WAITER * 02810000 - 397 * ROUTINES USED: NONE * 02820000 - 398 * PROCEDURE: ADD ONE TO SMVAL; IF > ZERO, RETURN. IF ZERO OR * 02830000 - 399 * LESS, REMOVE FIRST PROCESS FROM WAITER CHAIN; * 02840000 - 400 * UNBLOCK IT; IF NEXTTRYM NOT SET, SET IT AND SET * 02850000 - 401 * NEXTTRY TO THAT PROCESS; RETURN; IF NEXTTRYM SET, * 02860000 - 402 * RETURN. * 02870000 - 403 * ERROR CHECKS: NONE * 02880000 - 404 * INTERRUPTS: OFF * 02890000 - 405 * USER ACCESS: NO * 02900000 - 406 * * 02910000 - 407 *********************************************************************** 02920000 -0 00534 409 XV EQU * . THE XV ROUTINE 02940000 - R:1 00534 410 USING *,1 02950000 - ** ASMA303W Multiple address resolutions may result from this USING and the USING on statement number 131 - ** ASMA435I Record 410 in /mbhfs/sos4k.asm on volume: - R:2 00000 411 USING SM,2 . ARGUMENT IS A SEMAPHORE 02960000 - 000534 5830 2000 00000 412 L 3,SMVAL . GET THE VALUE 02970000 - 000538 5A30 1924 00E58 413 A 3,=F'1' . ADD ONE 02980000 - 00053C 5030 2000 00000 414 ST 3,SMVAL . AND STORE IT BACK 02990000 - 000540 47D0 1014 00548 415 BNP XVWAKEUP . IF <=0, SOMEONE'S WAITING 03000000 - 000544 8200 04D8 004D8 416 LPSW RETURN . ELSE RETURN 03010000 - 000548 5840 2004 00004 417 XVWAKEUP L 4,SMPTR . GET THE FIRST OF THE GUYS 03020000 - 418 DROP 15 03030000 - R:4 00000 419 USING PCB,4 03040000 - 00054C D203 2004 4030 00004 00030 420 MVC SMPTR,PCBNSW . REMEMBER THE REST 03050000 - 000552 9200 4019 00019 421 MVI PCBBLOKT,X'00' . WE'RE NO LONGER BLOCKING HIM 03060000 - 000556 95FF 0278 00278 422 CLI NEXTTRYM,X'FF' . IS NEXT TRY MODIFIED? 03070000 - 00055A 4780 1032 00566 423 BE XVRET . IF SO, WELL OK 03080000 - 00055E 5040 0274 00274 424 ST 4,NEXTTRY ELSE MODIFY NEXTTRY 03090000 - 000562 92FF 0278 00278 425 MVI NEXTTRYM,X'FF' . AND SAY SO 03100000 - 000566 8200 04D8 004D8 426 XVRET LPSW RETURN . GET BACK 03110000 - 427 DROP 2,4 03120000 -1 Sample Operating System Version 2.00 Page 14 - Active Usings: PROGRAM,R0 PROGRAM+X'534',R1 SA,R14 -0 Loc Object Code Addr1 Addr2 Stmt Source Statement HLASM R6.0 2016/08/29 08.42 -0 429 *********************************************************************** 03140000 - 430 * * 03150000 - 431 * XPER ROUTINE (TRAFFIC CONTROLLER) * 03160000 - 432 * * 03170000 - 433 * FUNCTION: TO IMPLEMENT MULTIPROGRAMMING * 03180000 - 434 * DATABASES: NONE * 03190000 - 435 * ROUTINES USED: NONE * 03200000 - 436 * PROCEDURE: STARTING WITH NEXTTRY, SEARCH FOR PROCESS ON ALL * 03210000 - 437 * PCB CHAIN NOT BLOCKED OR STOPPED; IF FOUND, USE AS * 03220000 - 438 * NEW RUNNING, FOR 50 MS OF TIME AND RETURN. ELSE, * 03230000 - 439 * ENTER WAIT STATE WITH INTERRUPTS ON, AND TRY TO * 03240000 - 440 * SCHEDULE AGAIN AFTER INTERRUPT; RETURN. * 03250000 - 441 * ERROR CHECKS: NONE * 03260000 - 442 * INTERRUPTS: OFF * 03270000 - 443 * USER ACCESS: NO * 03280000 - 444 * * 03290000 - 445 *********************************************************************** 03300000 -0 0056A 447 XPER EQU * . ROUTINE XPER: TRAFFIC SCHEDULER 03320000 - 00056A 8000 0078 00078 448 SSM IONEW . MASK OFF INTERRUPTS 03330000 - 00056E 0510 449 BALR 1,0 03340000 - R:1 00570 450 USING *,1 03350000 - ** ASMA303W Multiple address resolutions may result from this USING and the USING on statement number 131 - ** ASMA435I Record 450 in /mbhfs/sos4k.asm on volume: - 000570 58A0 0274 00274 451 L 10,NEXTTRY . START LOOKING AT NEXTTRY 03360000 - 000574 18BA 452 LR 11,10 . REMEMBER WHICH THAT WAS 03370000 - R:A 00000 453 USING PCB,10 03380000 - 000576 95FF A019 00019 454 GWLOOP CLI PCBBLOKT,X'FF' . IF IT'S BLOCKED 03390000 - 00057A 4780 1016 00586 455 BE GWINC . IGNORE 03400000 - 00057E 95FF A018 00018 456 CLI PCBSTOPT,X'FF' . ELSE, IF IT'S NOT STOPPED 03410000 - 000582 4770 1030 005A0 457 BNE GWRUN . WE CAN RUN IT 03420000 - 000586 58A0 A010 00010 458 GWINC L 10,PCBNPALL . ELSE, GO TO THE NEXT 03430000 - 00058A 19AB 459 CR 10,11 . IF WE'VE SEEN ALL, QUIT 03440000 - 00058C 4770 1006 00576 460 BNE GWLOOP . ELSE TRY AGAIN 03450000 - 000590 8200 1028 00598 461 LPSW IDLE . SIT AND WAIT 03460000 - 000598 462 DS 0D 03470000 - 000598 FE0200000000056A 463 IDLE DC B'11111110',B'00000010',X'0000',X'00',AL3(XPER) 03480000 -00005A0 D203 0274 A010 00274 00010 465 GWRUN MVC NEXTTRY,PCBNPALL . GET A NEW NEXTTRY 03500000 - 0005A6 9200 0278 00278 466 MVI NEXTTRYM,X'00' . NOT MODIFIED 03510000 - 0005AA 50A0 0270 00270 467 ST 10,RUNNING . GET A NEW RUNNING 03520000 - 0005AE 41E0 A04C 0004C 468 LA 14,PCBISA 03530000 - 0005B2 D203 0050 104C 00050 005BC 469 MVC TIMER,QUANTUM . INTERRUPT AFTER 50 MS 03540000 - 0005B8 8200 04D8 004D8 470 LPSW RETURN . AND GO TO RETURNR 03550000 - 0005BC 00000F00 471 QUANTUM DC X'00000F00' . QUANTUM OF TIME 03560000 - 472 DROP 10 03570000 - R:F 00000 473 USING PCB,15 03580000 -1 Sample Operating System Version 2.00 Page 15 - Active Usings: PROGRAM,R0 PROGRAM+X'570',R1 SA,R14 PCB,R15 -0 Loc Object Code Addr1 Addr2 Stmt Source Statement HLASM R6.0 2016/08/29 08.42 -0 475 *********************************************************************** 03600000 - 476 * * 03610000 - 477 * XEXC ROUTINE * 03620000 - 478 * * 03630000 - 479 * FUNCTION: TO ENTER SMC SECTION * 03640000 - 480 * DATABASES: NONE * 03650000 - 481 * ROUTINES USED: NONE * 03660000 - 482 * PROCEDURE: INCREMENT SMC BYTE IN PCB BY ONE; RETURN. * 03670000 - 483 * ERROR CHECKS: NONE * 03680000 - 484 * INTERRUPTS: OFF * 03690000 - 485 * USER ACCESS: NO * 03700000 - 486 * * 03710000 - 487 *********************************************************************** 03720000 -0 005C0 489 XEXC EQU * . ROUTINE XEXC: ENTER SMC SECTION 03740000 - R:1 005C0 490 USING *,1 03750000 - ** ASMA303W Multiple address resolutions may result from this USING and the USING on statement number 131 - ** ASMA435I Record 490 in /mbhfs/sos4k.asm on volume: - 0005C0 1B88 491 SR 8,8 03760000 - 0005C2 4380 F01A 0001A 492 IC 8,PCBINSMC 03770000 - 0005C6 4188 0001 00001 493 LA 8,1(8) . ADD ONE TO SMC BYTE 03780000 - 0005CA 4280 F01A 0001A 494 STC 8,PCBINSMC 03790000 - 0005CE 8200 04D8 004D8 495 LPSW RETURN . AND LEAVE 03800000 -0 497 *********************************************************************** 03820000 - 498 * * 03830000 - 499 * XCOM ROUTINE * 03840000 - 500 * * 03850000 - 501 * FUNCTION: TO LEAVE SMC SECTION * 03860000 - 502 * DATABASES: NONE * 03870000 - 503 * ROUTINES USED: XP, XV * 03880000 - 504 * PROCEDURE: DECREMENT SMC BYTE IN PCB BY ONE; IF NOT ZERO, * 03890000 - 505 * RETURN. ELSE, CHECK FOR STOP WAITING; IF STOP * 03900000 - 506 * WAITING, ALLOW STOP AND BLOCK SELF; RETURN. IF NO * 03910000 - 507 * STOP WAITING, RETURN. * 03920000 - 508 * ERROR CHECKS: NONE * 03930000 - 509 * INTERRUPTS: OFF * 03940000 - 510 * USER ACCESS: NO * 03950000 - 511 * * 03960000 - 512 *********************************************************************** 03970000 -0 005D2 514 XCOM EQU * . ROUTINE XCOM: LEAVE SMC 03990000 - R:1 005D2 515 USING *,1 04000000 - ** ASMA303W Multiple address resolutions may result from this USING and the USING on statement number 131 - ** ASMA435I Record 515 in /mbhfs/sos4k.asm on volume: - 0005D2 1B88 516 SR 8,8 04010000 - 0005D4 4380 F01A 0001A 517 IC 8,PCBINSMC 04020000 - 0005D8 0680 518 BCTR 8,0 . SUBTRACT ONE FROM IN SMC BYTE 04030000 - 0005DA 4280 F01A 0001A 519 STC 8,PCBINSMC 04040000 - 0005DE 1288 520 LTR 8,8 . IS IT ZERO? 04050000 - 0005E0 4770 102A 005FC 521 BNZ XCOMRET . NO, THEN GET BACK, OTHERWISE 04060000 - 0005E4 9500 F01B 0001B 522 CLI PCBSW,X'00' . IS STOP WAITING? 04070000 - 0005E8 4780 102A 005FC 523 BE XCOMRET . IF NOT, RETURN 04080000 - 0005EC 9200 F01B 0001B 524 MVI PCBSW,X'00' . STOPS NOT WAITING AFTER THIS 04090000 - 0005F0 4120 F034 00034 525 LA 2,PCBSRS . WE'LL "V" THE STOPPER, 04100000 -1 Sample Operating System Version 2.00 Page 16 - Active Usings: PROGRAM,R0 PROGRAM+X'5D2',R1 SA,R14 PCB,R15 -0 Loc Object Code Addr1 Addr2 Stmt Source Statement HLASM R6.0 2016/08/29 08.42 -00005F4 0AE5 526 SVC C'V' 04110000 - 0005F6 4120 F03C 0003C 527 LA 2,PCBSES . AND "P" THE STOPPEE. 04120000 - 0005FA 0AD7 528 SVC C'P' 04130000 - 0005FC 8200 04D8 004D8 529 XCOMRET LPSW RETURN . AND HERE (IF EVER) WE RETURN 04140000 -1 Sample Operating System Version 2.00 Page 17 - Active Usings: PROGRAM,R0 PROGRAM+X'5D2',R1 SA,R14 PCB,R15 -0 Loc Object Code Addr1 Addr2 Stmt Source Statement HLASM R6.0 2016/08/29 08.42 -0 531 *********************************************************************** 04160000 - 532 * * 04170000 - 533 * XA ROUTINE * 04180000 - 534 * XAUTO ROUTINE * 04190000 - 535 * * 04200000 - 536 * FUNCTION: TO ALLOCATE MEMORY * 04210000 - 537 * DATABASES: UPON ENTRY, REGISTER 2 CONTAINS ADDRESS XAX: * 04220000 - 538 * XAX DS 0D * 04230000 - 539 * XAXSIZE DS F SIZE OF BLOCK TO BE ALLOCATED * 04240000 - 540 * XAXADDR DS A ADDRESS OF FIRST BYTE OF BLOCK* 04250000 - 541 * XAXALGN DS F ALIGNMENT OF BLOCK * 04260000 - 542 * ROUTINES USED: XEXC, XCOM, XP, XV, XB * 04270000 - 543 * PROCEDURE: LOCK FSB SEMAPHORE; SEARCH FREE STORAGE FOR LARGE * 04280000 - 544 * ENOUGH MEMORY BLOCK; ALIGN BOUNDARY; USE XB TO * 04290000 - 545 * CHAIN ANY LEFTOVER BLOCKS TO FREE STORAGE LIST; * 04300000 - 546 * PLACE ADDRESS OF ALLOCATED BLOCK IN XAXADDR; UNLOCK* 04310000 - 547 * FSB SEMAPHORE; RETURN. IF CAN'T SATISFY REQUEST, * 04320000 - 548 * UNLOCK FSB SEMAPHORE, APPLY XP ROUTINE TO MEMORY * 04330000 - 549 * SEMAPHORE, BLOCKING PROCESS RUNNING UNTIL MEMORY * 04340000 - 550 * FREED; THEN UNBLOCK; TRY TO SATISFY REQUEST AGAIN. * 04350000 - 551 * ERROR CHECKS: NONE * 04360000 - 552 * INTERRUPTS: ON * 04370000 - 553 * USER ACCESS: NO * 04380000 - 554 * * 04390000 - 555 *********************************************************************** 04400000 -0 00600 557 XA EQU * . THE XA ROUTINE, TO ALLOCATE 04420000 - R:1 00600 558 USING *,1 04430000 - ** ASMA303W Multiple address resolutions may result from this USING and the USING on statement number 131 - ** ASMA435I Record 558 in /mbhfs/sos4k.asm on volume: - 000600 4100 0001 00001 559 LA 0,1 . SET REGISTER ZERO TO ONE TO 04440000 - 000604 47F0 100E 0060E 560 B XACOM . INDICATE C'A' CALL 04450000 - 00608 561 XAUTO EQU * . AUTO STORAGE ENTRY POINT 04460000 - R:1 00608 562 USING *,1 04470000 - ** ASMA303W Multiple address resolutions may result from this USING and the USING on statement number 131 - ** ASMA435I Record 562 in /mbhfs/sos4k.asm on volume: - 000608 1B00 563 SR 0,0 . REG0=0 INDICATES C'E' CALL 04480000 - 00060A 5810 1854 00E5C 564 L 1,=A(XA) . RESET BASE REGISTER PROPERLY 04490000 - R:1 00600 565 USING XA,1 04500000 - ** ASMA303W Multiple address resolutions may result from this USING and the USING on statement number 131 - ** ASMA435I Record 565 in /mbhfs/sos4k.asm on volume: - 00060E 0A5A 566 XACOM SVC C'!' . ENTER SMC 04510000 - 000610 1872 567 LR 7,2 04520000 - R:7 00000 568 USING XAX,7 . ARGUMENT LIST 04530000 - 000612 5860 7000 00000 569 L 6,XAXSIZE . GET THE SIZE REQUESTED 04540000 - 000616 4120 0184 00184 570 XATOP LA 2,FSBSEM . LOCK THE FSB SEMAPHORE 04550000 - 00061A 0AD7 571 SVC C'P' . 04560000 - 00061C 4150 0180 00180 572 LA 5,FSBPTR . START LOOKING DOWN 04570000 - 000620 5840 0180 00180 573 L 4,FSBPTR . THE FREE STORAGE LIST 04580000 - 000624 5880 7008 00008 574 L 8,XAXALGN . WE WOULD HAVE TO START AT WITH 04590000 - 000628 0680 575 BCTR 8,0 . THIS CONSTANT TO FIND ALIGNMENT 04600000 - R:4 00000 576 USING FSB,4 04610000 - 00062A 1244 577 XALOOP LTR 4,4 . IF AT THE END 04620000 - 00062C 4780 1056 00656 578 BZ XAWAIT . WAIT UNTIL A "FREE" OP 04630000 - 000630 18D4 579 LR 13,4 . FIND THE LOCATION 04640000 -1 Sample Operating System Version 2.00 Page 18 - Active Usings: PROGRAM,R0 XA,R1 FSB,R4 XAX,R7 SA,R14 PCB,R15 -0 Loc Object Code Addr1 Addr2 Stmt Source Statement HLASM R6.0 2016/08/29 08.42 -0000632 06D0 580 BCTR 13,0 . IN THIS BLOCK WITH THIS 04650000 - 000634 16D8 581 OR 13,8 . ALIGNMENT 04660000 - 000636 41DD 0001 00001 582 LA 13,1(13) . THAT'S IT 04670000 - 00063A 189D 583 LR 9,13 . AND NOW GET IN REG 9 04680000 - 00063C 1B94 584 SR 9,4 . WHAT IS WASTED AT THE FRONT 04690000 - 00063E 5830 4004 00004 585 L 3,FSBSIZE . GET SIZE MINUS WASTE AT 04700000 - 000642 1B39 586 SR 3,9 . FRONT, LEAVING EFFECTIVE SIZE 04710000 - 000644 1963 587 CR 6,3 . IS IT ENOUGH? 04720000 - 000646 47D0 1062 00662 588 BNP XAFOUND . EUREKA! 04730000 - 00064A 4150 4000 00000 589 LA 5,FSBNEXT . OH WELL, GET THE NEXT FREE 04740000 - 00064E 5840 4000 00000 590 L 4,FSBNEXT . STORAGE BLOCK ON THE CHAIN 04750000 - 000652 47F0 102A 0062A 591 B XALOOP . BETTER LUCK NEXT TIME 04760000 - 000656 0AE5 592 XAWAIT SVC C'V' . NEED TO WAIT 04770000 - 000658 4120 018C 0018C 593 LA 2,MEMORY . SO WE LET OTHER PEOPLE GET IN 04780000 - 00065C 0AD7 594 SVC C'P' . SO THEY'LL WAKE US UP 04790000 - 00065E 47F0 1016 00616 595 B XATOP . AND THEN WE'LL TRY AGAIN 04800000 - 000662 50D0 7004 00004 596 XAFOUND ST 13,XAXADDR . WE'VE NOW GOT THE ADDRESS 04810000 - 000666 D203 5000 4000 00000 00000 597 MVC 0(4,5),FSBNEXT . UNLINK THE BLOCK OUT 04820000 - 00066C 58C0 4004 00004 598 L 12,FSBSIZE . GET THE WHOLE BLOCK SIZE 04830000 - 000670 4120 E048 00048 599 LA 2,SATEMP . START MAKING UP ARG LISTS 04840000 - R:2 00000 600 USING XBX,2 . FOR THE XB ROUTINE 04850000 - 000674 18AD 601 LR 10,13 . THE STARTING LOCATION 04860000 - 000676 1BA4 602 SR 10,4 . MINUS THE START OF THE BLOCK 04870000 - 000678 4780 1086 00686 603 BZ XANF . IF NONE WASTED AT THE FRONT, SKIP 04880000 - 00067C 5040 2004 00004 604 ST 4,XBXADDR . ELSE FREE, STARTING THERE 04890000 - 000680 50A0 2000 00000 605 ST 10,XBXSIZE . UP TO THE BEGINNING OF THE 04900000 - 000684 0AC2 606 SVC C'B' . ALLOCATION; INSERT IT IN THE CHAIN 04910000 - 000686 18BD 607 XANF LR 11,13 . THE STARTING ADDR PLUS THE SIZE 04920000 - 000688 1AB6 608 AR 11,6 . GIVES THE FIRST UNUSED ADDR 04930000 - 00068A 1BCA 609 SR 12,10 . MINUS THE WASTE AT FRONT, 04940000 - 00068C 1BC6 610 SR 12,6 . MINUS THE PART ALLOCATED. IF 04950000 - 00068E 4780 109C 0069C 611 BZ XARETURN . NONE LEFT OVER, GOOD 04960000 - 000692 50B0 2004 00004 612 ST 11,XBXADDR . ELSE STORE ADDRESS AND 04970000 - 000696 50C0 2000 00000 613 ST 12,XBXSIZE . SIZE, AND LINK ONTO 04980000 - 00069A 0AC2 614 SVC C'B' . FREE STORAGE LIST 04990000 - 615 DROP 2 05000000 - 00069C 4120 0184 00184 616 XARETURN LA 2,FSBSEM . WE ARE DONE, SO NOW SOMEONE 05010000 - 0006A0 0AE5 617 SVC C'V' . ELSE CAN COME IN 05020000 - 0006A2 1200 618 LTR 0,0 . IS THIS FOR AUTOMATIC STORAGE? 05030000 - 0006A4 4770 10B0 006B0 619 BNZ XABACK . IF NOT, RETURN NOW 05040000 - 0006A8 5060 F044 00044 620 ST 6,PCBASIZE . OTHERWISE STORE SIZE AND 05050000 - 0006AC 50D0 F048 00048 621 ST 13,PCBAADDR . ADDRESS OF AUTOMATIC STORAGE 05060000 - 0006B0 0A6B 622 XABACK SVC C',' . LEAVE SMC SECTION 05070000 - 0006B2 8200 04D8 004D8 623 LPSW RETURN . GET BACK JOJO 05080000 - 624 DROP 4,7 05090000 -1 Sample Operating System Version 2.00 Page 19 - Active Usings: PROGRAM,R0 XA,R1 SA,R14 PCB,R15 -0 Loc Object Code Addr1 Addr2 Stmt Source Statement HLASM R6.0 2016/08/29 08.42 -0 626 *********************************************************************** 05110000 - 627 * * 05120000 - 628 * XF ROUTINE * 05130000 - 629 * * 05140000 - 630 * FUNCTION: TO FREE MEMORY * 05150000 - 631 * DATABASES: UPON ENTRY, REGISTER 2 CONTAINS ADDRESS XFX: * 05160000 - 632 * XFX DS 0D * 05170000 - 633 * XFXSIZE DS F SIZE OF BLOCK TO BE FREED * 05180000 - 634 * XFXADDR DS A ADDRESS OF FIRST BYTE OF BLOCK* 05190000 - 635 * ROUTINES USED: XEXC, XP, XV, XB, XCOM * 05200000 - 636 * PROCEDURE: LOCK FSB SEMAPHORE; SEARCH FREE STORAGE LIST TO * 05210000 - 637 * FIND IF ANY FREE BLOCK CONTIGUOUSLY FOLLOWS OR * 05220000 - 638 * PRECEDES BLOCK TO BE FREED; IF THERE IS ANY, * 05230000 - 639 * COMPACT THEM INTO A SINGLE BLOCK OF COMBINED SIZE; * 05240000 - 640 * USE XB TO CHAIN COMPACTED BLOCK ONTO FREE STORAGE * 05250000 - 641 * LIST; WAKEUP ALL PROCESSES WAITING ON MEMORY * 05260000 - 642 * SEMAPHORE; UNLOCK FSB SEMAPHORE; RETURN * 05270000 - 643 * ERROR CHECKS: NONE * 05280000 - 644 * INTERRUPTS: ON * 05290000 - 645 * USER ACCESS: NO * 05300000 - 646 * * 05310000 - 647 *********************************************************************** 05320000 -0 006B6 649 XF EQU * . THE XF ROUTINE, TO FREE STORAGE 05340000 - R:1 006B6 650 USING *,1 05350000 - ** ASMA303W Multiple address resolutions may result from this USING and the USING on statement number 131 - ** ASMA435I Record 650 in /mbhfs/sos4k.asm on volume: - 0006B6 0A5A 651 SVC C'!' . ENTER SMC SECTION 05360000 - 0006B8 1872 652 LR 7,2 05370000 - R:7 00000 653 USING XFX,7 . THE ARGUMENT LIST 05380000 - 0006BA 5830 7000 00000 654 L 3,XFXSIZE . GET THE SIZE 05390000 - 0006BE 5840 7004 00004 655 L 4,XFXADDR . AND THE ADDRESS 05400000 - 0006C2 1853 656 LR 5,3 . GET THE ADDRESS OF THE END OF THE 05410000 - 0006C4 1A54 657 AR 5,4 . BLOCK TO BE FREED 05420000 - 0006C6 4120 0184 00184 658 LA 2,FSBSEM . LOCK FSBSEM 05430000 - 0006CA 0AD7 659 SVC C'P' 05440000 - 0006CC 4180 0180 00180 660 LA 8,FSBPTR . START LOOKING DOWN THE FREE 05450000 - 0006D0 5860 0180 00180 661 L 6,FSBPTR . STORAGE LIST, FOR COMPACTION 05460000 - R:6 00000 662 USING FSB,6 05470000 - 0006D4 1266 663 XFLOOP LTR 6,6 . ARE WE THROUGH? 05480000 - 0006D6 4780 105E 00714 664 BZ XFLINK . IF SO, JUST ADD IT ON 05490000 - 0006DA 5890 6000 00000 665 L 9,FSBNEXT . IF NOT. GET THE NEXT PTR 05500000 - 0006DE 1965 666 CR 6,5 . IS THIS BLOCK RIGHT AFTER OURS? 05510000 - 0006E0 4770 103A 006F0 667 BNE XFTHEN . IF NOT, OK. BUT IF IT IS, 05520000 - 0006E4 5098 0000 00000 668 ST 9,0(8) . WE CAN COMPACT, SO UNCHAIN IT 05530000 - 0006E8 5A30 6004 00004 669 A 3,FSBSIZE . AND REMEMBER THE NEW SIZE 05540000 - 0006EC 47F0 1050 00706 670 B XFBACKUP . AND ON TO THE NEXT 05550000 - 0006F0 18A6 671 XFTHEN LR 10,6 . MAYBE IT'S RIGHT BEFORE OURS 05560000 - 0006F2 5AA0 6004 00004 672 A 10,FSBSIZE . GET ENDING ADDRESS OF FREE BLOCK 05570000 - 0006F6 19A4 673 CR 10,4 . IS IT RIGHT BEFORE OURS? 05580000 - 0006F8 4770 1052 00708 674 BNE XFINC . OH FUDGE! NO! 05590000 - 0006FC 5098 0000 00000 675 ST 9,0(8) . IF SO, UNLINK IT 05600000 - 000700 1846 676 LR 4,6 . GET THE NEW BEGINNING LOCATION 05610000 - 000702 5A30 6004 00004 677 A 3,FSBSIZE . AND NEW SIZE OF FREE BLOCK 05620000 - 000706 1868 678 XFBACKUP LR 6,8 . BACK UP ONE FSB 05630000 -1 Sample Operating System Version 2.00 Page 20 - Active Usings: PROGRAM,R0 PROGRAM+X'6B6',R1 FSB,R6 XFX,R7 SA,R14 PCB,R15 -0 Loc Object Code Addr1 Addr2 Stmt Source Statement HLASM R6.0 2016/08/29 08.42 -0000708 4180 6000 00000 679 XFINC LA 8,FSBNEXT . ON TO THE NEXT FSB 05640000 - 00070C 5860 6000 00000 680 L 6,FSBNEXT 05650000 - 000710 47F0 101E 006D4 681 B XFLOOP . TRY, TRY AGAIN 05660000 - 000714 4120 E048 00048 682 XFLINK LA 2,SATEMP . START TO CALL XB 05670000 - R:2 00000 683 USING XBX,2 05680000 - 000718 5030 2000 00000 684 ST 3,XBXSIZE . STORE SIZE 05690000 - 00071C 5040 2004 00004 685 ST 4,XBXADDR . AND ADDRESS 05700000 - 000720 0AC2 686 SVC C'B' . LINK IT ONTO THE FSB CHAIN 05710000 - R:2 00000 687 USING SM,2 05720000 - 000722 4120 018C 0018C 688 LA 2,MEMORY . GET VALUE OF MEMORY SEMAPHORE 05730000 - 000726 41B0 0001 00001 689 LA 11,1(0,0) . SUBTRACT FROM ONE, IT'S A HANDLE 05740000 - 00072A 5BB0 2000 00000 690 S 11,SMVAL . ON THE # OF PEOPLE WAITING 05750000 - 691 DROP 2 05760000 - 00072E 46B0 1088 0073E 692 XFVLOOP BCT 11,XFVDO . LOOP IF ANYONE ELSE IS WAITING 05770000 - 000732 4120 0184 00184 693 LA 2,FSBSEM . WE'RE THROUGH, SO 05780000 - 000736 0AE5 694 SVC C'V' . UNBLOCK FSBSEM 05790000 - 000738 0A6B 695 SVC C',' . LEAVE SMC 05800000 - 00073A 8200 04D8 004D8 696 LPSW RETURN . RETURN 05810000 - 00073E 0AE5 697 XFVDO SVC C'V' . WAKE SOMEONE UP 05820000 - 000740 47F0 1078 0072E 698 B XFVLOOP . TRY AGAIN FOR ANOTHER 05830000 - 699 DROP 6,7 05840000 -1 Sample Operating System Version 2.00 Page 21 - Active Usings: PROGRAM,R0 PROGRAM+X'6B6',R1 SA,R14 PCB,R15 -0 Loc Object Code Addr1 Addr2 Stmt Source Statement HLASM R6.0 2016/08/29 08.42 -0 701 *********************************************************************** 05860000 - 702 * * 05870000 - 703 * XB ROUTINE * 05880000 - 704 * * 05890000 - 705 * FUNCTION: TO CHAIN A STORAGE BLOCK ONTO FREE STORAGE LIST * 05900000 - 706 * DATABASES: UPON ENTRY, REGISTER 2 CONTAINS ADDRESS XBX: * 05910000 - 707 * XBX DS 0D * 05920000 - 708 * XBXSIZE DS F SIZE OF BLOCK * 05930000 - 709 * XBXADDR DS A ADDRESS OF FIRST BYTE OF BLOCK* 05940000 - 710 * ROUTINES USED: NONE * 05950000 - 711 * PROCEDURE: SEARCH FREE STORAGE LIST TO FIND WHERE TO INSERT * 05960000 - 712 * FREE BLOCK IN ORDER OF INCREASING SIZE; FORMAT * 05970000 - 713 * BLOCK LIKE AN FSB; INSERT; RETURN. * 05980000 - 714 * ERROR CHECKS: NONE * 05990000 - 715 * INTERRUPTS: OFF * 06000000 - 716 * USER ACCESS: NO * 06010000 - 717 * COMMENTS: SINCE XB ROUTINE ONLY CALLED BY XA AND XF, FSB * 06020000 - 718 * SEMAPHORE IS ALREADY LOCKED. * 06030000 - 719 * * 06040000 - 720 *********************************************************************** 06050000 -0 00744 722 XB EQU * 06070000 - R:1 00744 723 USING *,1 06080000 - ** ASMA303W Multiple address resolutions may result from this USING and the USING on statement number 131 - ** ASMA435I Record 723 in /mbhfs/sos4k.asm on volume: - R:2 00000 724 USING XBX,2 . ARGUMENT LIST 06090000 - 000744 5830 2000 00000 725 L 3,XBXSIZE . GET THE SIZE 06100000 - 000748 5840 2004 00004 726 L 4,XBXADDR . AND THE ADDRESS 06110000 - 00074C 4180 0180 00180 727 LA 8,FSBPTR . START LOOKING DOWN THE CHAIN 06120000 - 000750 5860 0180 00180 728 L 6,FSBPTR 06130000 - 000754 1266 729 LTR 6,6 . IF ZERO POINTER, WE ARE AT 06140000 - 000756 4780 102C 00770 730 BZ XBINSERT . END OF CHAIN ALREADY 06150000 - R:6 00000 731 USING FSB,6 06160000 - 00075A 5930 6004 00004 732 XBLOOP C 3,FSBSIZE . IF THE SIZE OF OURS IS LESS, 06170000 - 00075E 47D0 102C 00770 733 BNP XBINSERT . TIME TO INSERT 06180000 - 000762 4180 6000 00000 734 LA 8,FSBNEXT . ELSE GO ON TO THE NEXT 06190000 - 000766 5860 6000 00000 735 L 6,FSBNEXT 06200000 - 00076A 1266 736 LTR 6,6 . IF NOT ALREADY THROUGH 06210000 - 00076C 4770 1016 0075A 737 BNZ XBLOOP . BRANCH BACK 06220000 - 000770 5048 0000 00000 738 XBINSERT ST 4,0(8) . NOW, LINK OURS ON 06230000 - 739 DROP 6 06240000 - R:4 00000 740 USING FSB,4 06250000 - 000774 5060 4000 00000 741 ST 6,FSBNEXT . MAKE OURS POINT TO THE NEXT 06260000 - 000778 5030 4004 00004 742 ST 3,FSBSIZE . WITH THE RIGHT SIZE 06270000 - 00077C 8200 04D8 004D8 743 LPSW RETURN . AND RETURN 06280000 - 744 DROP 2,4 06290000 -1 Sample Operating System Version 2.00 Page 22 - Active Usings: PROGRAM,R0 PROGRAM+X'744',R1 SA,R14 PCB,R15 -0 Loc Object Code Addr1 Addr2 Stmt Source Statement HLASM R6.0 2016/08/29 08.42 -0 746 *********************************************************************** 06310000 - 747 * * 06320000 - 748 * XC ROUTINE * 06330000 - 749 * * 06340000 - 750 * FUNCTION: TO CREATE A PROCESS * 06350000 - 751 * DATABASES: UPON ENTRY, REGISTER 2 CONTAINS ADDRESS XCX: * 06360000 - 752 * XCX DS 0D * 06370000 - 753 * XCXNAME DS CL8 NAME OF PROCESS TO BE CREATED * 06380000 - 754 * ROUTINES USED: XEXC, XCOM, XN, XA, XI, XQUE * 06390000 - 755 * PROCEDURE: USE XA TO ALLOCATE NEW PCB; PLACE XCXNAME IN PCB; * 06400000 - 756 * INITIALIZE SEMAPHORES; STOP; BLOCK; OUT OF SMC; * 06410000 - 757 * CALL XI TO LINK PCB ONTO PCB CHAINS; RETURN. * 06420000 - 758 * ERROR CHECKS: IF NAME ALREADY USED IN THIS GROUP, XQUE ENTERED. * 06430000 - 759 * INTERRUPTS: ON * 06440000 - 760 * USER ACCESS: YES * 06450000 - 761 * * 06460000 - 762 *********************************************************************** 06470000 -0 00780 764 XC EQU * . THE XC ROUTINE: CREATE A PROCESS 06490000 - R:1 00780 765 USING *,1 06500000 - ** ASMA303W Multiple address resolutions may result from this USING and the USING on statement number 131 - ** ASMA435I Record 765 in /mbhfs/sos4k.asm on volume: - 000780 1872 766 LR 7,2 06510000 - R:7 00000 767 USING XCX,7 . ARGUMENT LIST 06520000 - 000782 4120 E048 00048 768 LA 2,SATEMP . READY TO MAKE CALLS OUT 06530000 - R:2 00000 769 USING XNX,2 . A XN-LIKE ARGUMENT LIST 06540000 - 000786 D207 2000 7000 00000 00000 770 MVC XNXNAME,XCXNAME . GET THE NAME 06550000 - 00078C 0AD5 771 SVC C'N' . AND CALL TO FIND THE PCB 06560000 - 00078E D503 2008 16E0 00008 00E60 772 CLC XNXADDR,=A(0) . SEE IF THERE 06570000 - 000794 4770 1044 007C4 773 BNE XCERR . IF ALREADY EXISTS, BAD 06580000 - 000798 0A5A 774 SVC C'!' . ENTER SMC SECTION 06590000 - 775 DROP 2 06600000 - R:2 00000 776 USING XAX,2 . READY TO CALL XA 06610000 - 00079A D203 2000 16E4 00000 00E64 777 MVC XAXSIZE,=A(LENPCB) . WE KNOW THE SIZE 06620000 - 0007A0 D203 2008 16E8 00008 00E68 778 MVC XAXALGN,=F'8' . AND THE ALIGNMENT 06630000 - 0007A6 0AC1 779 SVC C'A' . SO CALL 06640000 - 0007A8 5820 2004 00004 780 L 2,XAXADDR . FIND THE ADDRESS 06650000 - 781 DROP 2,15 06660000 - R:2 00000 782 USING PCB,2 . FILL IN THE PCB 06670000 - 0007AC D207 2000 7000 00000 00000 783 MVC PCBNAME,XCXNAME . GIVE IT A NAME 06680000 - 0007B2 92FF 2018 00018 784 MVI PCBSTOPT,X'FF' . IT'S STOPPED 06690000 - 0007B6 D232 2019 1B01 00019 01281 785 MVC PCBBLOKT(PCBISA-PCBBLOKT),TEMPLATE+1 INITIALIZE PCB 06700000 - 0007BC 0AC9 786 SVC C'I' . THREAD IT ON 06710000 - 0007BE 0A6B 787 SVC C',' . LEAVE SMC SECTION 06720000 - 0007C0 8200 04D8 004D8 788 LPSW RETURN . AND RETURN 06730000 - 0007C4 0A6F 789 XCERR SVC C'?' . IF ALREADY EXISTS,KERROR 06740000 - 790 DROP 2,7 06750000 -1 Sample Operating System Version 2.00 Page 23 - Active Usings: PROGRAM,R0 PROGRAM+X'780',R1 SA,R14 -0 Loc Object Code Addr1 Addr2 Stmt Source Statement HLASM R6.0 2016/08/29 08.42 -0 792 *********************************************************************** 06770000 - 793 * * 06780000 - 794 * XD ROUTINE * 06790000 - 795 * * 06800000 - 796 * FUNCTION: TO DESTROY A PROCESS * 06810000 - 797 * DATABASES: UPON ENTRY, REGISTER 2 CONTAINS ADDRESS XDX: * 06820000 - 798 * XDX DS 0D * 06830000 - 799 * XDXNAME DS CL8 NAME OF PROCESS TO BE DESTROYED* 06840000 - 800 * ROUTINES USED: XEXC, XJ, XS, XN, XF, XCOM, XQUE * 06850000 - 801 * PROCEDURE: USE XN TO FIND PCB FOR PROCESS TO BE DESTROYED; * 06860000 - 802 * USE XJ TO UNLOCK PCB FROM PROCESS CHAINS; IF ANY * 06870000 - 803 * MESSAGES FOR THIS PROCESS, FREE STORAGE FOR THEM; * 06880000 - 804 * IF THERE IS ANY AUTOMATIC STORAGE, FREE IT; * 06890000 - 805 * FREE STORAGE FOR PCB; RETURN. * 06900000 - 806 * ERROR CHECKS: IF NAME DOESN'T EXIST OR PROCESS NOT STOPPED, * 06910000 - 807 * XQUE ENTERED. * 06920000 - 808 * INTERRUPTS: ON * 06930000 - 809 * USER ACCESS: YES * 06940000 - 810 * * 06950000 - 811 *********************************************************************** 06960000 -0 007C6 813 XD EQU * . XD ROUTINE: DESTROY A PROCESS 06980000 - R:1 007C6 814 USING *,1 06990000 - ** ASMA303W Multiple address resolutions may result from this USING and the USING on statement number 131 - ** ASMA435I Record 814 in /mbhfs/sos4k.asm on volume: - 0007C6 1872 815 LR 7,2 07000000 - R:7 00000 816 USING XDX,7 . ARG LIST 07010000 - 0007C8 4120 E048 00048 817 LA 2,SATEMP . READY TO CALL OUT 07020000 - R:2 00000 818 USING XNX,2 . WILL CALL XN 07030000 - 0007CC D207 2000 7000 00000 00000 819 MVC XNXNAME,XDXNAME . GET NAME 07040000 - 0007D2 0AD5 820 SVC C'N' . AND CALL 07050000 - 0007D4 5820 2008 00008 821 L 2,XNXADDR . GET ADDRESS 07060000 - 822 DROP 2 07070000 - 0007D8 1222 823 LTR 2,2 . IF ADDRESS IS NULL, 07080000 - 0007DA 4780 107A 00840 824 BZ XDERR . IT'S AN ERROR 07090000 - R:2 00000 825 USING PCB,2 07100000 - 0007DE 95FF 2018 00018 826 CLI PCBSTOPT,X'FF' . IF NOT STOPPED 07110000 - 0007E2 4770 107A 00840 827 BNE XDERR . IT'S AN ERROR 07120000 - 0007E6 0A5A 828 SVC C'!' . ENTER SMC SECTION 07130000 - 829 DROP 2 07140000 - R:F 00000 830 USING PCB,15 07150000 - 0007E8 0AD1 831 SVC C'J' . ELSE UNTHREAD THE ENTRY 07160000 - 0007EA 1882 832 LR 8,2 . REMEMBER THE PCB POINTER 07170000 - 0007EC 4120 E048 00048 833 LA 2,SATEMP . READY TO CALL OUT AGAIN 07180000 - R:8 00000 834 USING PCB,8 07190000 - ** ASMA300W USING overridden by a prior active USING on statement number 830 - ** ASMA435I Record 834 in /mbhfs/sos4k.asm on volume: - 835 DROP 15 07200000 - 0007F0 5890 802C 0002C 836 L 9,PCBFM . GET FIRST MESSAGE 07210000 - 0007F4 1299 837 XDLOOP LTR 9,9 . ANY MORE MESSAGES? 07220000 - 0007F6 4780 1054 0081A 838 BZ XDCHECK . IF NOT, FINISH UP 07230000 - R:9 00000 839 USING MSG,9 07240000 - 0007FA 58A0 9004 00004 840 L 10,MSGNEXT . ELSE REMEMBER NEXT 07250000 - 0007FE 58B0 9008 00008 841 L 11,MSGSIZE . GET THE SIZE 07260000 - 000802 41BB 000F 0000F 842 LA 11,15(11) . AND MAKE IT SOME NUMBER 07270000 -1 Sample Operating System Version 2.00 Page 24 - Active Usings: PROGRAM,R0 PROGRAM+X'7C6',R1 XDX,R7 PCB,R8 MSG,R9 SA,R14 -0 Loc Object Code Addr1 Addr2 Stmt Source Statement HLASM R6.0 2016/08/29 08.42 -0000806 54B0 16A6 00E6C 843 N 11,=F'-8' . OF DOUBLEWORDS 07280000 - R:2 00000 844 USING XFX,2 07290000 - 00080A 5090 2004 00004 845 ST 9,XFXADDR . FREE THE LOCATION 07300000 - 00080E 50B0 2000 00000 846 ST 11,XFXSIZE . THE NUMBER OF WORDS 07310000 - 000812 0AC6 847 SVC C'F' . DO IT 07320000 - 000814 189A 848 LR 9,10 . ON TO THE NEXT 07330000 - 000816 47F0 102E 007F4 849 B XDLOOP . GET THE NEXT MESSAGE 07340000 - 00081A D503 8048 169A 00048 00E60 850 XDCHECK CLC PCBAADDR(4),=A(0) . HAS AUTOMATIC STORAGE BEEN 07350000 - 000820 4780 1068 0082E 851 BE XDTHEN . ALLOCATED? IF NOT, GO FINISH UP 07360000 - 000824 4120 8044 00044 852 LA 2,PCBASIZE . SET UP THE ARGUMENT LIST 07370000 - 000828 0AC6 853 SVC C'F' . FREE IT 07380000 - 00082A 4120 E048 00048 854 LA 2,SATEMP . RESET REGISTER 2 07390000 - 00082E 5080 2004 00004 855 XDTHEN ST 8,XFXADDR . READY TO FREE THE PCB 07400000 - 000832 D203 2000 169E 00000 00E64 856 MVC XFXSIZE,=A(LENPCB) . THE SIZE 07410000 - 000838 0AC6 857 SVC C'F' . FREE IT 07420000 - 00083A 0A6B 858 SVC C',' . LEAVE SMC 07430000 - 00083C 8200 04D8 004D8 859 LPSW RETURN . AND RETURN 07440000 - 000840 0A6F 860 XDERR SVC C'?' . IF PROCESS DOES NOT EXIST 07450000 - 861 DROP 2,7,8,9 07460000 - R:F 00000 862 USING PCB,15 07470000 -- - 864 *********************************************************************** 07490000 - 865 * * 07500000 - 866 * XH ROUTINE * 07510000 - 867 * * 07520000 - 868 * FUNCTION: TO HALT A JOB * 07530000 - 869 * DATABASES: NONE * 07540000 - 870 * ROUTINES USED: XS, XR * 07550000 - 871 * PROCEDURE: SEND MESSAGE TO SUPERVISOR PROCESS FOR THIS JOB * 07560000 - 872 * INDICATING NORMAL TERMINATION; TRIES TO READ * 07570000 - 873 * MESSAGES FOREVER LOOPING; BLOCKS ITSELF, THEREBY * 07580000 - 874 * NEVER RETURNING. * 07590000 - 875 * ERROR CHECKS: NONE * 07600000 - 876 * INTERRUPTS: ON * 07610000 - 877 * USER ACCESS: YES * 07620000 - 878 * COMMENTS: USER NORMALLY USES THIS ROUTINE TO END A JOB. * 07630000 - 879 * * 07640000 - 880 *********************************************************************** 07650000 -0 00842 882 XH EQU * . THE XH ROUTINE: HALT A JOB 07670000 - R:1 00842 883 USING *,1 07680000 - ** ASMA303W Multiple address resolutions may result from this USING and the USING on statement number 131 - ** ASMA435I Record 883 in /mbhfs/sos4k.asm on volume: - 000842 4120 1012 00854 884 LA 2,XHMSG1 . SEND A MESSAGE TO *IBSUP 07690000 - 000846 0AE2 885 SVC C'S' . SEND IT 07700000 - 000848 4120 102A 0086C 886 XHLOOP LA 2,XHMSG2 . READY TO READ A REPLY 07710000 - 00084C 0AD9 887 SVC C'R' . WHICH NEVER COMES 07720000 - 00084E 47F0 1006 00848 888 B XHLOOP . BUT IF IT DOES WERE READY 07730000 - 000854 889 DS 0F 07740000 - 000854 5CC9C2E2E4D74040 890 XHMSG1 DC CL8'*IBSUP' . SAY TO *IBSUP 07750000 - 00085C 0000000C 891 DC F'12' . TWELVE CHARACTERS 07760000 - 000860 D7D9D6C7D9C1D440 892 DC C'PROGRAM HALT' . SAYING WERE OK 07770000 - 00086C 893 XHMSG2 DS CL8 . WHO SENDS US A MESSAGE 07780000 -1 Sample Operating System Version 2.00 Page 25 - Active Usings: PROGRAM,R0 PROGRAM+X'842',R1 SA,R14 PCB,R15 -0 Loc Object Code Addr1 Addr2 Stmt Source Statement HLASM R6.0 2016/08/29 08.42 -0000874 00000001 894 DC F'1' . ONE CHARACTER 07790000 - 000878 895 DS CL1,0H . WHICH GOES HERE 07800000 -1 Sample Operating System Version 2.00 Page 26 - Active Usings: PROGRAM,R0 PROGRAM+X'842',R1 SA,R14 PCB,R15 -0 Loc Object Code Addr1 Addr2 Stmt Source Statement HLASM R6.0 2016/08/29 08.42 -0 897 *********************************************************************** 07820000 - 898 * * 07830000 - 899 * XI ROUTINE * 07840000 - 900 * * 07850000 - 901 * FUNCTION: TO CHAIN A PCB ONTO PROCESS CHAINS * 07860000 - 902 * DATABASES: UPON ENTRY, REGISTER 2 CONTAINS ADDRESS OF A PCB * 07870000 - 903 * ROUTINES USED: NONE * 07880000 - 904 * PROCEDURE: POINTER USED TO CHAIN PCB INTO ALL PCB CHAIN AND * 07890000 - 905 * THIS GROUP CHAIN RIGHT AFTER RUNNING PCB; RETURN. * 07900000 - 906 * ERROR CHECKS: NONE * 07910000 - 907 * INTERRUPTS: OFF * 07920000 - 908 * USER ACCESS: NO * 07930000 - 909 * * 07940000 - 910 *********************************************************************** 07950000 -0 0087A 912 XI EQU * . THE XI ROUTINE: THREAD IN A PCB 07970000 - R:1 0087A 913 USING *,1 07980000 - ** ASMA303W Multiple address resolutions may result from this USING and the USING on statement number 131 - ** ASMA435I Record 913 in /mbhfs/sos4k.asm on volume: - 00087A 58A0 F010 00010 914 L 10,PCBNPALL . GET THE NEXT 'ALL' PCB 07990000 - 00087E 5020 F010 00010 915 ST 2,PCBNPALL . STORE THIS PCB RIGNT AFTER MINE 08000000 - 916 DROP 15 08010000 - R:A 00000 917 USING PCB,10 08020000 - 000882 5020 A014 00014 918 ST 2,PCBLPALL . THE NEXT ONE DOWN POINTS BACK 08030000 - 919 DROP 10 08040000 - R:2 00000 920 USING PCB,2 08050000 - 000886 50F0 2014 00014 921 ST 15,PCBLPALL . THIS PCB POINTS BACK 08060000 - 00088A 50A0 2010 00010 922 ST 10,PCBNPALL . AND FORWARD 08070000 - 923 DROP 2 08080000 - R:F 00000 924 USING PCB,15 08090000 - 00088E 58A0 F008 00008 925 L 10,PCBNPTG . GET NEXT "THIS GROUP" PCB 08100000 - 000892 5020 F008 00008 926 ST 2,PCBNPTG . RUNNING PCB POINTS TO NEW MEMBER 08110000 - 927 DROP 15 . OF PROCESS GROUP 08120000 - R:A 00000 928 USING PCB,10 08130000 - 000896 5020 A00C 0000C 929 ST 2,PCBLPTG . NEXT PCB DOWN POINTS BACK 08140000 - 930 DROP 10 08150000 - R:2 00000 931 USING PCB,2 08160000 - 00089A 50F0 200C 0000C 932 ST 15,PCBLPTG . AND WE POINT BACKWARD 08170000 - 00089E 50A0 2008 00008 933 ST 10,PCBNPTG . AND FORWARD 08180000 - 934 DROP 2 08190000 - 0008A2 8200 04D8 004D8 935 LPSW RETURN . RETURN 08200000 - R:F 00000 936 USING PCB,15 08210000 -1 Sample Operating System Version 2.00 Page 27 - Active Usings: PROGRAM,R0 PROGRAM+X'87A',R1 SA,R14 PCB,R15 -0 Loc Object Code Addr1 Addr2 Stmt Source Statement HLASM R6.0 2016/08/29 08.42 -0 938 *********************************************************************** 08230000 - 939 * * 08240000 - 940 * XJ ROUTINE * 08250000 - 941 * * 08260000 - 942 * FUNCTION: TO UNCHAIN A PCB FROM PROCESS CHAINS * 08270000 - 943 * DATABASES: UPON ENTRY, REGISTER 2 CONTAINS ADDRESS OF A PCB * 08280000 - 944 * ROUTINES USED: NONE * 08290000 - 945 * PROCEDURE: POINTERS TO PCB IN ALL PCB CHAIN AND THIS GROUP * 08300000 - 946 * CHAIN MODIFIED WITHOUT FREEING STORAGE; RETURN. * 08310000 - 947 * ERROR CHECKS: NONE * 08320000 - 948 * INTERRUPTS: OFF * 08330000 - 949 * USER ACCESS: NO * 08340000 - 950 * * 08350000 - 951 *********************************************************************** 08360000 -0 008A6 953 XJ EQU * . THE XJ ROUTINE: UNTHREAD A PCB 08380000 - R:1 008A6 954 USING *,1 08390000 - ** ASMA303W Multiple address resolutions may result from this USING and the USING on statement number 131 - ** ASMA435I Record 954 in /mbhfs/sos4k.asm on volume: - 955 DROP 15 08400000 - R:2 00000 956 USING PCB,2 08410000 - 0008A6 58B0 2014 00014 957 L 11,PCBLPALL . GET PRECEDING PCB 08420000 - 0008AA 58A0 2010 00010 958 L 10,PCBNPALL . AND FOLLOWING ONE IN "ALL" 08430000 - 959 DROP 2 . CHAIN 08440000 - R:B 00000 960 USING PCB,11 08450000 - 0008AE 50A0 B010 00010 961 ST 10,PCBNPALL . LAST POINTS TO NEXT 08460000 - 962 DROP 11 08470000 - R:A 00000 963 USING PCB,10 08480000 - 0008B2 50B0 A014 00014 964 ST 11,PCBLPALL . NEXT POINTS TO LAST 08490000 - 965 DROP 10 08500000 - R:2 00000 966 USING PCB,2 08510000 - 0008B6 58B0 200C 0000C 967 L 11,PCBLPTG . REDO FOR THIS GROUP PCB CHAIN 08520000 - 0008BA 58A0 2008 00008 968 L 10,PCBNPTG 08530000 - 969 DROP 2 08540000 - R:B 00000 970 USING PCB,11 08550000 - 0008BE 50A0 B008 00008 971 ST 10,PCBNPTG . LAST POINTS TO NEXT 08560000 - 972 DROP 11 08570000 - R:A 00000 973 USING PCB,10 08580000 - 0008C2 50B0 A00C 0000C 974 ST 11,PCBLPTG . NEXT POINTS TO LAST 08590000 - 975 DROP 10 08600000 - 0008C6 8200 04D8 004D8 976 LPSW RETURN . AND RETURN 08610000 - R:F 00000 977 USING PCB,15 08620000 -1 Sample Operating System Version 2.00 Page 28 - Active Usings: PROGRAM,R0 PROGRAM+X'8A6',R1 SA,R14 PCB,R15 -0 Loc Object Code Addr1 Addr2 Stmt Source Statement HLASM R6.0 2016/08/29 08.42 -0 979 *********************************************************************** 08640000 - 980 * * 08650000 - 981 * XN ROUTINE * 08660000 - 982 * * 08670000 - 983 * FUNCTION: TO FIND THE PCB FOR A PROCESS GIVEN ITS NAME ONLY * 08680000 - 984 * DATABASES: UPON ENTRY, REGISTER 2 CONTAINS ADDRESS XNX * 08690000 - 985 * XNX DS 0D * 08700000 - 986 * XNXNAME DS CL8 NAME OF PROCESS * 08710000 - 987 * XNXADDR DS A ADDRESS OF PCB * 08720000 - 988 * ROUTINES USED: NONE * 08730000 - 989 * PROCEDURE: SEARCH THIS GROUP PCB CHAIN FOR NAME; IF FOUND, * 08740000 - 990 * STORE POINTER IN XNXADDR. IF NOT FOUND, STORE * 08750000 - 991 * ZERO IN XNXADDR; RETURN. * 08760000 - 992 * ERROR CHECKS: NONE * 08770000 - 993 * INTERRUPTS: OFF * 08780000 - 994 * USER ACCESS: YES * 08790000 - 995 * * 08800000 - 996 *********************************************************************** 08810000 -0 008CA 998 XN EQU * . THE XN ROUTINE: FIND A NAMED PCB 08830000 - R:1 008CA 999 USING *,1 08840000 - ** ASMA303W Multiple address resolutions may result from this USING and the USING on statement number 131 - ** ASMA435I Record 999 in /mbhfs/sos4k.asm on volume: - R:2 00000 1000 USING XNX,2 . THE ARG LIST 08850000 - 0008CA 18AF 1001 LR 10,15 . FIRST PCB TO LOOK AT IS OURS 08860000 - 1002 DROP 15 08870000 - R:A 00000 1003 USING PCB,10 08880000 - 0008CC 58A0 A008 00008 1004 XNXLOOP L 10,PCBNPTG . LOOK AT NEXT PCB 08890000 - 0008D0 D507 A000 2000 00000 00000 1005 CLC PCBNAME,XNXNAME . HAS IT THE RIGHT NAME? 08900000 - 0008D6 4780 101A 008E4 1006 BE XNXFOUND . IF YES, OH JOY. 08910000 - 0008DA 19AF 1007 CR 10,15 . IF NOT, ARE WE THROUGH? 08920000 - 0008DC 4770 1002 008CC 1008 BNE XNXLOOP . IF NOT, TRY THE NEXT PCB 08930000 - 0008E0 41A0 0000 00000 1009 LA 10,0 . ELSE, IT'S NOT HERE 08940000 - 0008E4 50A0 2008 00008 1010 XNXFOUND ST 10,XNXADDR . FOUND IT. SAY WHERE. 08950000 - 0008E8 8200 04D8 004D8 1011 LPSW RETURN . AND RETURN 08960000 - 1012 DROP 2,10 08970000 - R:F 00000 1013 USING PCB,15 08980000 -1 Sample Operating System Version 2.00 Page 29 - Active Usings: PROGRAM,R0 PROGRAM+X'8CA',R1 SA,R14 PCB,R15 -0 Loc Object Code Addr1 Addr2 Stmt Source Statement HLASM R6.0 2016/08/29 08.42 -0 1015 *********************************************************************** 09000000 - 1016 * * 09010000 - 1017 * XR ROUTINE * 09020000 - 1018 * * 09030000 - 1019 * FUNCTION: TO READ A MESSAGE * 09040000 - 1020 * DATABASES: UPON ENTRY, REGISTER 2 CONTAINS ADDRESS XRX * 09050000 - 1021 * XRX DS 0D * 09060000 - 1022 * XRXNAME DS CL8 NAME OF SENDER PROCESS * 09070000 - 1023 * XRXSIZE DS F SIZE OF MESSAGE TEXT * 09080000 - 1024 * XRXTEXT DS C TEXT OF MESSAGE * 09090000 - 1025 * ROUTINES USED: XP, XEXC, XN, XCOM, XF * 09100000 - 1026 * PROCEDURE: USE XP ON MESSAGE SEMAPHORE RECEIVER TO SEE IF ANY * 09110000 - 1027 * MESSAGES WAITING; IF NONE, PROCESS BLOCKED UNTIL * 09120000 - 1028 * THERE IS ONE; LOCK MESSAGE CHAIN; REMOVE A MESSAGE * 09130000 - 1029 * FROM CHAIN AND UNLOCK IT; MOVE TEXT OF MESSAGE, * 09140000 - 1030 * PADDING WITH BLANKS OR TRUNCATING AS NECESSARY; * 09150000 - 1031 * INDICATE CORRECT MESSAGE LENGTH AND NAME OF * 09160000 - 1032 * MESSAGE SENDER; FREE STORAGE USED TO HOLD MESSAGE, * 09170000 - 1033 * AND RETURN. * 09180000 - 1034 * ERROR CHECKS: NONE * 09190000 - 1035 * INTERRUPTS: ON * 09200000 - 1036 * USER ACCESS: YES * 09210000 - 1037 * * 09220000 - 1038 *********************************************************************** 09230000 -0 008EC 1040 XR EQU * . THE XR ROUTINE: READ A MESSAGE 09250000 - R:1 008EC 1041 USING *,1 09260000 - ** ASMA303W Multiple address resolutions may result from this USING and the USING on statement number 131 - ** ASMA435I Record 1041 in /mbhfs/sos4k.asm on volume: - 0008EC 1872 1042 LR 7,2 09270000 - R:7 00000 1043 USING XRX,7 . ARG LIST 09280000 - 0008EE 4120 F024 00024 1044 LA 2,PCBMSR . SEE IF MESSAGES WAITING 09290000 - 0008F2 0AD7 1045 SVC C'P' 09300000 - 0008F4 0A5A 1046 SVC C'!' . ENTER SMC SECTION 09310000 - 0008F6 4120 F01C 0001C 1047 LA 2,PCBMSC . THEN LOCK THE MESSAGE CHAIN 09320000 - 0008FA 0AD7 1048 SVC C'P' 09330000 - 0008FC 5850 F02C 0002C 1049 L 5,PCBFM . GET THE FIRST MESSAGE 09340000 - R:5 00000 1050 USING MSG,5 09350000 - 000900 D203 F02C 5004 0002C 00004 1051 MVC PCBFM,MSGNEXT . REMEMBER THE NEXT 09360000 - 000906 0AE5 1052 SVC C'V' . UNLOCK THE MESSAGE CHAIN 09370000 - 000908 5860 7008 00008 1053 L 6,XRXSIZE . GET THE BUFFER CAPACITY 09380000 - 00090C 5B60 1584 00E70 1054 S 6,=F'2' . MINUS 1, MINUS 1 09390000 - 000910 9240 700C 0000C 1055 MVI XRXTEXT,C' ' . MOVE IN A BLANK 09400000 - 000914 4740 1030 0091C 1056 BM XRNOB 09410000 - 000918 4460 1080 0096C 1057 EX 6,XRFILL . THEN FILL THE REST WITH BLANKS 09420000 - 00091C 4166 0001 00001 1058 XRNOB LA 6,1(6) . THEN GET PROPER BUFFER COUNT 09430000 - 000920 5960 5008 00008 1059 C 6,MSGSIZE . COMPARE WITH MESSAGE LENGTH 09440000 - 000924 4740 1042 0092E 1060 BL XRTHEN . IF LESS, HANDLE ACCORDINGLY 09450000 - 000928 5860 5008 00008 1061 L 6,MSGSIZE . ELSE COUNT FOR MVC IS MESSAGE 09460000 - 00092C 0660 1062 BCTR 6,0 . SIZE MINUS ONE 09470000 - 00092E 1266 1063 XRTHEN LTR 6,6 . ANY CHARACTERS TO MOVE? 09480000 - 000930 4740 104C 00938 1064 BM XRAFT . IF NOT, DON'T 09490000 - 000934 4460 1086 00972 1065 EX 6,XRMOVE . ELSE MOVE THEM 09500000 - 000938 4166 0001 00001 1066 XRAFT LA 6,1(6) . THEN GET LENGTH 09510000 - 00093C 5060 7008 00008 1067 ST 6,XRXSIZE . STORE IT 09520000 -1 Sample Operating System Version 2.00 Page 30 - Active Usings: PROGRAM,R0 PROGRAM+X'8EC',R1 MSG,R5 XRX,R7 SA,R14 PCB,R15 -0 Loc Object Code Addr1 Addr2 Stmt Source Statement HLASM R6.0 2016/08/29 08.42 -0000940 58A0 5000 00000 1068 L 10,MSGSENDR . GET SENDER'S PCB 09530000 - 1069 DROP 15 09540000 - R:A 00000 1070 USING PCB,10 09550000 - 000944 D207 7000 A000 00000 00000 1071 MVC XRXNAME,PCBNAME . AND STORE SENDER'S NAME 09560000 - 00094A 5860 5008 00008 1072 L 6,MSGSIZE . GET SIZE OF MESSAGE TEXT 09570000 - 00094E 4166 000C 0000C 1073 LA 6,LENMSG(6) . ADD SIZE OF MESSAGE BLOCK 09580000 - 000952 4166 0007 00007 1074 LA 6,7(6) . AND TRUNCATE 09590000 - 000956 5460 1580 00E6C 1075 N 6,=F'-8' . UP 09600000 - 00095A 1825 1076 LR 2,5 . SET UP POINTER TO XFX 09610000 - R:2 00000 1077 USING XFX,2 09620000 - 00095C 5050 2004 00004 1078 ST 5,XFXADDR . STORE ADDRESS 09630000 - 000960 5060 2000 00000 1079 ST 6,XFXSIZE . STORE SIZE 09640000 - 000964 0AC6 1080 SVC C'F' . AND FREE THE MESSAGE BLOCK 09650000 - 000966 0A6B 1081 SVC C',' . LEAVE SMC 09660000 - 000968 8200 04D8 004D8 1082 LPSW RETURN . AND RETURN 09670000 - 00096C D200 700D 700C 0000D 0000C 1083 XRFILL MVC XRXTEXT+1,XRXTEXT . FILL WITH BLANKS 09680000 - 000972 D200 700C 500C 0000C 0000C 1084 XRMOVE MVC XRXTEXT,MSGTEXT . MOVE TEXT 09690000 - 1085 DROP 2,5,7,10 09700000 - R:F 00000 1086 USING PCB,15 09710000 -- - 1088 *********************************************************************** 09730000 - 1089 * * 09740000 - 1090 * XS ROUTINE * 09750000 - 1091 * * 09760000 - 1092 * FUNCTION: TO SEND A MESSAGE * 09770000 - 1093 * DATABASES: UPON ENTRY, REGISTER 2 CONTAINS ADDRESS XSX * 09780000 - 1094 * XSX DS 0D * 09790000 - 1095 * XSXNAME DS CL8 NAME OF TARGET PROCESS * 09800000 - 1096 * XSXSIZE DS F SIZE OF TEXT * 09810000 - 1097 * XSXTEXT DS C TEXT OF MESSAGE * 09820000 - 1098 * ROUTINES USED: XP, XV, XEXC, XCOM, XA, XQUE * 09830000 - 1099 * PROCEDURE: USE XN TO GET POINTER TO PCB OF TARGET PROCESS; * 09840000 - 1100 * USE LENGTH OF MESSAGE AND XA TO ALLOCATE BLOCK FOR * 09850000 - 1101 * MESSAGE; LOCK MESSAGE CHAIN OF TARGET PROCESS; * 09860000 - 1102 * PUT MESSAGE BLOCK AT END OF CHAIN; STORE SENDER * 09870000 - 1103 * NAME, SIZE, AND TEXT OF MESSAGE; UNLOCK CHAIN; * 09880000 - 1104 * INDICATE MESSAGE CHAIN IS ONE LONGER; RETURN. * 09890000 - 1105 * ERROR CHECKS: IF NO PROCESS BY GIVEN NAME, ENTER XQUE. * 09900000 - 1106 * INTERRUPTS: ON * 09910000 - 1107 * USER ACCESS: YES * 09920000 - 1108 * * 09930000 - 1109 *********************************************************************** 09940000 -0 00978 1111 XS EQU * . THE XS ROUTINE: SEND MESSAGES 09960000 - R:1 00978 1112 USING *,1 09970000 - ** ASMA303W Multiple address resolutions may result from this USING and the USING on statement number 131 - ** ASMA435I Record 1112 in /mbhfs/sos4k.asm on volume: - 000978 1872 1113 LR 7,2 09980000 - R:7 00000 1114 USING XSX,7 . ARG LIST 09990000 - 00097A 4120 E048 00048 1115 LA 2,SATEMP . READY TO CALL OUT 10000000 - R:2 00000 1116 USING XNX,2 . ABOUT TO CALL XN 10010000 - 00097E D207 2000 7000 00000 00000 1117 MVC XNXNAME,XSXNAME . GIVE NAME OF TARGET PROCESS 10020000 - 000984 0AD5 1118 SVC C'N' . SEE WHERE IT IS 10030000 -1 Sample Operating System Version 2.00 Page 31 - Active Usings: PROGRAM,R0 PROGRAM+X'978',R1 XNX,R2 XSX,R7 SA,R14 PCB,R15 -0 Loc Object Code Addr1 Addr2 Stmt Source Statement HLASM R6.0 2016/08/29 08.42 -0000986 5840 2008 00008 1119 L 4,XNXADDR . GET THE POINTER 10040000 - 00098A 1244 1120 LTR 4,4 . IS THERE INDEED ONE? 10050000 - 00098C 4780 108A 00A02 1121 BZ XSERR . IF NOT, ERROR 10060000 - R:4 00000 1122 USING PCB,4 10070000 - ** ASMA300W USING overridden by a prior active USING on statement number 1086 - ** ASMA435I Record 1122 in /mbhfs/sos4k.asm on volume: - 1123 DROP 2,15 10080000 - R:2 00000 1124 USING XAX,2 . READY TO CALL XA 10090000 - 000990 0A5A 1125 SVC C'!' . ENTERING SMC SECTION 10100000 - 000992 5830 7008 00008 1126 L 3,XSXSIZE . GET THE STATED SIZE 10110000 - 000996 4133 000C 0000C 1127 LA 3,LENMSG(3) . PLUS THE AMOUNT OF OVERHEAD 10120000 - 00099A 4133 0007 00007 1128 LA 3,7(3) . AND TRUNCATE 10130000 - 00099E 5430 14F4 00E6C 1129 N 3,=F'-8' . UP 10140000 - 0009A2 5030 2000 00000 1130 ST 3,XAXSIZE . THAT'S THE SIZE OF THE REGION TO 10150000 - 0009A6 D203 2008 14F0 00008 00E68 1131 MVC XAXALGN,=F'8' . ALLOCATE, ON A DOUBLEWORD BOUND 10160000 - 0009AC 0AC1 1132 SVC C'A' . SO ALLOCATE ALREADY 10170000 - 0009AE 5850 2004 00004 1133 L 5,XAXADDR . GET THE ADDRESS 10180000 - 1134 DROP 2 10190000 - 0009B2 4120 401C 0001C 1135 LA 2,PCBMSC . GET THE MESSAGE CHAIN SEMAPHORE 10200000 - 0009B6 0AD7 1136 SVC C'P' . AND LOCK IT 10210000 - 0009B8 4180 402C 0002C 1137 LA 8,PCBFM . THEN START DOWN THE MESSAGE 10220000 - 0009BC 5890 402C 0002C 1138 L 9,PCBFM . CHAIN 10230000 - R:9 00000 1139 USING MSG,9 10240000 - 0009C0 1299 1140 XSLOOP LTR 9,9 . ARE WE THROUGH? 10250000 - 0009C2 4780 105A 009D2 1141 BZ XSADD . IF SO ADD IT ON 10260000 - 0009C6 4180 9004 00004 1142 LA 8,MSGNEXT . IF NOT, ON TO THE NEXT 10270000 - 0009CA 5890 9004 00004 1143 L 9,MSGNEXT 10280000 - 0009CE 47F0 1048 009C0 1144 B XSLOOP . AND TRY AGAIN 10290000 - 0009D2 5058 0000 00000 1145 XSADD ST 5,0(8) . CHAIN OURS ON THE END 10300000 - 1146 DROP 9 10310000 - R:5 00000 1147 USING MSG,5 10320000 - 0009D6 D203 5004 14E8 00004 00E60 1148 MVC MSGNEXT,=A(0) . SET NEXT POINTER NULL 10330000 - 0009DC 50F0 5000 00000 1149 ST 15,MSGSENDR . STORE THE SENDER 10340000 - 0009E0 5860 7008 00008 1150 L 6,XSXSIZE . GET THE TEXT LENGTH 10350000 - 0009E4 5060 5008 00008 1151 ST 6,MSGSIZE . AND STORE IT 10360000 - 0009E8 0660 1152 BCTR 6,0 . ONE LESS 10370000 - 0009EA 1266 1153 LTR 6,6 . TEST LENGTH 10380000 - 0009EC 4740 107C 009F4 1154 BM XSAFT . IF ZERO, NOTHING TO MOVE 10390000 - 0009F0 4460 108C 00A04 1155 EX 6,XSMOVE . ELSE, MOVE IT 10400000 - 0009F4 0AE5 1156 XSAFT SVC C'V' . UNLOCK THE MESSAGE CHAIN 10410000 - 0009F6 4120 4024 00024 1157 LA 2,PCBMSR . THEN SAY THERE'S 10420000 - 0009FA 0AE5 1158 SVC C'V' . ONE MORE MESSAGE 10430000 - 0009FC 0A6B 1159 SVC C',' . LEAVE SMC SECTION 10440000 - 0009FE 8200 04D8 004D8 1160 LPSW RETURN . AND RETURN 10450000 - 000A02 0A6F 1161 XSERR SVC C'?' 10460000 - 000A04 D200 500C 700C 0000C 0000C 1162 XSMOVE MVC MSGTEXT,XSXTEXT . THE MOVE FOR THE TEXT 10470000 - 1163 DROP 4,5,7 10480000 - R:F 00000 1164 USING PCB,15 10490000 -1 Sample Operating System Version 2.00 Page 32 - Active Usings: PROGRAM,R0 PROGRAM+X'978',R1 SA,R14 PCB,R15 -0 Loc Object Code Addr1 Addr2 Stmt Source Statement HLASM R6.0 2016/08/29 08.42 -0 1166 *********************************************************************** 10510000 - 1167 * * 10520000 - 1168 * XY ROUTINE * 10530000 - 1169 * * 10540000 - 1170 * FUNCTION: TO START A PROCESS * 10550000 - 1171 * DATABASES: UPON ENTRY, REGISTER 2 CONTAINS ADDRESS XYX * 10560000 - 1172 * XYX DS 0D * 10570000 - 1173 * XYXNAME DS CL8 NAME OF PROCESS TO BE STARTED * 10580000 - 1174 * XYXADDR DS A STARTING ADDRESS OF PROCESS * 10590000 - 1175 * ROUTINES USED: XN, XEXC, XCOM, XQUE * 10600000 - 1176 * PROCEDURE: USE XN TO GET POINTER TO THE PCB OF PROCESS TO BE * 10610000 - 1177 * STARTED; STORE IN PCB INTERRUPT SAVE AREA REGISTERS* 10620000 - 1178 * AND PSW WITH STARTING ADDRESS AS SENT FROM STARTING* 10630000 - 1179 * PROCESS; STOPPED BIT TURNED OFF; RETURN. * 10640000 - 1180 * ERROR CHECKS: IF NO PROCESS BY GIVEN NAME, XQUE ENTERED. * 10650000 - 1181 * INTERRUPTS: OFF * 10660000 - 1182 * USER ACCESS: YES * 10670000 - 1183 * * 10680000 - 1184 *********************************************************************** 10690000 -0 00A0A 1186 XY EQU * . THE XY ROUTINE: START A PROCESS 10710000 - R:1 00A0A 1187 USING *,1 10720000 - ** ASMA303W Multiple address resolutions may result from this USING and the USING on statement number 131 - ** ASMA435I Record 1187 in /mbhfs/sos4k.asm on volume: - 000A0A 1872 1188 LR 7,2 10730000 - R:7 00000 1189 USING XYX,7 . THE ARG LIST 10740000 - 000A0C 4120 E048 00048 1190 LA 2,SATEMP . READY TO CALL OUT 10750000 - R:2 00000 1191 USING XNX,2 10760000 - 000A10 D207 2000 7000 00000 00000 1192 MVC XNXNAME,XYXNAME . GIVE XN A NAME 10770000 - 000A16 0AD5 1193 SVC C'N' . CALL XN 10780000 - 000A18 58A0 2008 00008 1194 L 10,XNXADDR . WHERE IS THE PCB? 10790000 - 000A1C 12AA 1195 LTR 10,10 . OR IS THERE ONE? 10800000 - 000A1E 4780 1036 00A40 1196 BZ XYERR . IF NOT, OH HISS BOO 10810000 - 1197 DROP 2,14,15 10820000 - R:A 00000 1198 USING PCB,10 10830000 - 000A22 41D0 A04C 0004C 1199 LA 13,PCBISA . GET INTO THAT PCB'S ISA 10840000 - R:D 00000 1200 USING SA,13 10850000 - 000A26 D207 D000 E000 00000 00000 1201 MVC SAPSW,(SAPSW-SA)(14) . GIVE IT THE CALLER'S PSW 10860000 - 000A2C D202 D005 7009 00005 00009 1202 MVC SAPSW+5(3),XYXADDR+1 . BUT AT THE REQUESTED ADDRESS 10870000 - 000A32 D23F D008 E008 00008 00008 1203 MVC SAREGS,(SAREGS-SA)(14) .GIVE IT HIS REGISTERS 10880000 - 000A38 9200 A018 00018 1204 MVI PCBSTOPT,X'00' . IT'S NO LONGER STOPPED 10890000 - 000A3C 8200 04D8 004D8 1205 LPSW RETURN . AND RETURN 10900000 - 000A40 0A6F 1206 XYERR SVC C'?' . WE DONE BAD 10910000 - 1207 DROP 7,10,13 10920000 - R:E 00000 1208 USING SA,14 10930000 - R:F 00000 1209 USING PCB,15 10940000 -1 Sample Operating System Version 2.00 Page 33 - Active Usings: PROGRAM,R0 PROGRAM+X'A0A',R1 SA,R14 PCB,R15 -0 Loc Object Code Addr1 Addr2 Stmt Source Statement HLASM R6.0 2016/08/29 08.42 -0 1211 *********************************************************************** 10960000 - 1212 * * 10970000 - 1213 * XZ ROUTINE * 10980000 - 1214 * * 10990000 - 1215 * FUNCTION: TO STOP A PROCESS * 11000000 - 1216 * DATABASES: UPON ENTRY, REGISTER 2 CONTAINS ADDRESS XZX * 11010000 - 1217 * XZX DS 0D * 11020000 - 1218 * XZXNAME DS CL8 NAME OF PROCESS TO BE STOPPED * 11030000 - 1219 * ROUTINES USED: XN, XEXC, XCOM, XQUE, XP * 11040000 - 1220 * PROCEDURE: CHECK THAT USER PROCESS CAN'T STOP SYSTEM * 11050000 - 1221 * PROCESS; USE XN TO GET PCB POINTER; IF IN SMC, SET * 11060000 - 1222 * STOP WAITING BIT AND BLOCK SELF UNTIL STOP * 11070000 - 1223 * PERFORMED; ELSE SET STOPPED BIT, AND RETURN. * 11080000 - 1224 * ERROR CHECKS: IF NO PROCESS BY GIVEN NAME OR USER TRIES TO * 11090000 - 1225 * STOP A SYSTEM PROCESS, XQUE ENTERED. * 11100000 - 1226 * INTERRUPTS: ON * 11110000 - 1227 * USER ACCESS: YES * 11120000 - 1228 * * 11130000 - 1229 *********************************************************************** 11140000 -0 00A42 1231 XZ EQU * . THE XZ ROUTINE: STOP A PROCESS 11160000 - R:1 00A42 1232 USING *,1 11170000 - ** ASMA303W Multiple address resolutions may result from this USING and the USING on statement number 131 - ** ASMA435I Record 1232 in /mbhfs/sos4k.asm on volume: - 000A42 1872 1233 LR 7,2 11180000 - R:7 00000 1234 USING XZX,7 . ARG LIST 11190000 - 000A44 955C F000 00000 1235 CLI PCBNAME,C'*' . IS STOPPER A * PROCESS 11200000 - 000A48 4780 1012 00A54 1236 BE XZFINE . THAT'S OK 11210000 - 000A4C 955C 7000 00000 1237 CLI XZXNAME,C'*' . IF NOT, IS STOPPEE A * ? 11220000 - 000A50 4780 104A 00A8C 1238 BE XZERR . CAN'T DO THAT 11230000 - 000A54 4120 E048 00048 1239 XZFINE LA 2,SATEMP . READY TO CALL OUT 11240000 - R:2 00000 1240 USING XNX,2 . WILL CALL XN 11250000 - 000A58 D207 2000 7000 00000 00000 1241 MVC XNXNAME,XZXNAME . GIVE IT THE NAME 11260000 - 000A5E 0AD5 1242 SVC C'N' . AND DO THE CALL 11270000 - 000A60 58A0 2008 00008 1243 L 10,XNXADDR . GET THE PCB'S ADDRESS 11280000 - 000A64 12AA 1244 LTR 10,10 . SEE IF NULL 11290000 - 000A66 4780 104A 00A8C 1245 BZ XZERR . IF SO, ERROR 11300000 - 000A6A 0A5A 1246 SVC C'!' . ENTER SMC 11310000 - 1247 DROP 2,15 11320000 - R:A 00000 1248 USING PCB,10 11330000 - 000A6C 9500 A01A 0001A 1249 XZSTOP CLI PCBINSMC,X'00' . SEE IF IN SMC 11340000 - 000A70 4770 103C 00A7E 1250 BNE XZINSMC . IF SO, BAD 11350000 - 000A74 92FF A018 00018 1251 MVI PCBSTOPT,X'FF' . ELSE JUST STOP IT 11360000 - 000A78 0A6B 1252 SVC C',' . LEAVE SMC 11370000 - 000A7A 8200 04D8 004D8 1253 LPSW RETURN . AND RETURN 11380000 - 000A7E 92FF A01B 0001B 1254 XZINSMC MVI PCBSW,X'FF' . IF IN SMC, SAY STOP WAITING 11390000 - 000A82 4120 A034 00034 1255 LA 2,PCBSRS . AND STOP OURSELVES AGAINST 11400000 - 000A86 0AD7 1256 SVC C'P' . A SEMAPHORE 11410000 - 000A88 47F0 102A 00A6C 1257 B XZSTOP . THEN WE CAN REALLY STOP IT 11420000 - 000A8C 0A6F 1258 XZERR SVC C'?' . AN ERROR 11430000 - 1259 DROP 10,7 11440000 - R:F 00000 1260 USING PCB,15 11450000 -1 Sample Operating System Version 2.00 Page 34 - Active Usings: PROGRAM,R0 PROGRAM+X'A42',R1 SA,R14 PCB,R15 -0 Loc Object Code Addr1 Addr2 Stmt Source Statement HLASM R6.0 2016/08/29 08.42 -0 1262 *********************************************************************** 11470000 - 1263 * * 11480000 - 1264 * XQUE ROUTINE * 11490000 - 1265 * * 11500000 - 1266 * FUNCTION: TO SIGNAL ERROR CONDITION * 11510000 - 1267 * DATABASES: NONE * 11520000 - 1268 * ROUTINES USED: XR, XS * 11530000 - 1269 * PROCEDURE: SEND MESSAGE TO SUPERVISOR PROCESS FOR THIS JOB * 11540000 - 1270 * INDICATING ABNORMAL TERMINATION; TRY TO READ * 11550000 - 1271 * MESSAGES, FOREVER LOOPING; BLOCK ITSELF, THEREBY * 11560000 - 1272 * NEVER RETURNING. * 11570000 - 1273 * ERROR CHECKS: NONE * 11580000 - 1274 * INTERRUPTS: OFF * 11590000 - 1275 * USER ACCESS: YES * 11600000 - 1276 * * 11610000 - 1277 *********************************************************************** 11620000 -0 00A8E 1279 XQUE EQU * . THE XQUE ROUTINE: ERROR! 11640000 - R:1 00A8E 1280 USING *,1 11650000 - ** ASMA303W Multiple address resolutions may result from this USING and the USING on statement number 131 - ** ASMA435I Record 1280 in /mbhfs/sos4k.asm on volume: - 000A8E 4120 1012 00AA0 1281 LA 2,XQUEM1 . SEND AN ERROR MESSAGE TO *IBSUP 11660000 - 000A92 0AE2 1282 SVC C'S' 11670000 - 000A94 4120 102A 00AB8 1283 XQUELOOP LA 2,XQUEM2 . WAIT FOR REPLY 11680000 - 000A98 0AD9 1284 SVC C'R' 11690000 - 000A9A 47F0 1006 00A94 1285 B XQUELOOP . BUT IGNORE IT 11700000 - 000AA0 1286 DS 0F 11710000 - 000AA0 5CC9C2E2E4D74040 1287 XQUEM1 DC CL8'*IBSUP' 11720000 - 000AA8 0000000C 1288 DC F'12' 11730000 - 000AAC D7D9D6C7D9C1D440 1289 DC CL12'PROGRAM FLOP' 11740000 - 000AB8 1290 XQUEM2 DS CL8 11750000 - 000AC0 00000001 1291 DC F'1' 11760000 - 000AC4 1292 DS CL1,0H 11770000 - 1293 DROP 14,15 11780000 -1 Sample Operating System Version 2.00 Page 35 - Active Usings: PROGRAM,R0 PROGRAM+X'A8E',R1 -0 Loc Object Code Addr1 Addr2 Stmt Source Statement HLASM R6.0 2016/08/29 08.42 -0 1295 *********************************************************************** 11800000 - 1296 * * 11810000 - 1297 * INPUT/OUTPUT ROUTINES * 11820000 - 1298 * * 11830000 - 1299 *********************************************************************** 11840000 -0 1301 *********************************************************************** 11860000 - 1302 * * 11870000 - 1303 * SYSTEM SUPPLIED DEVICE HANDLER FOR READERS * 11880000 - 1304 * * 11890000 - 1305 *********************************************************************** 11900000 -0 00AC6 1307 RDRHANDL EQU * . THE READER HANDLER 11920000 - R:3 00000 1308 USING UCB,3 . STARTED WITH REG3 -> UCB 11930000 - 000AC6 0510 1309 BALR 1,0 11940000 - R:1 00AC8 1310 USING *,1 . ESTABLISH ADDRESSING 11950000 - ** ASMA303W Multiple address resolutions may result from this USING and the USING on statement number 131 - ** ASMA435I Record 1310 in /mbhfs/sos4k.asm on volume: - 000AC8 4120 1160 00C28 1311 LA 2,RDRHSEM . LOCK OURSELVES UNTIL WE SET UP 11960000 - 000ACC 0AD7 1312 SVC C'P' . AN AUTOMATIC STORAGE AREA 11970000 - 000ACE 4120 1174 00C3C 1313 LA 2,RDRHAAS . READY TO ALLOCATE 11980000 - R:2 00000 1314 USING XAX,2 11990000 - 000AD2 0AC5 1315 SVC C'E' . ALLOCATE 12000000 - 000AD4 58C0 2004 00004 1316 L 12,XAXADDR . GET A PTR 12010000 - 1317 DROP 2 12020000 - 000AD8 4120 1160 00C28 1318 LA 2,RDRHSEM . AND UNBLOCK OURSELVES 12030000 - 000ADC 0AE5 1319 SVC C'V' 12040000 - 000ADE 8840 0010 00010 1320 SRL 4,16 . SHIFT KEY 12050000 - 000AE2 1BAA 1321 SR 10,10 . CLEAR REG 10 12060000 - R:C 00000 1322 USING RDRHAS,12 . AUTOMATIC AREA 12070000 - 000AE4 9200 C07A 0007A 1323 MVI JOBBIT,X'00' . INITIALIZE 12080000 - 000AE8 4160 C000 00000 1324 LA 6,RDRHCCB . GET PTR TO CCB 12090000 - 000AEC 4120 C008 00008 1325 RDRHLOOP LA 2,RDRHMSG . TRY TO READ A MESSAGE 12100000 - R:2 00000 1326 USING XRX,2 12110000 - 000AF0 D203 2008 13A0 00008 00E68 1327 MVC XRXSIZE,=F'8' . WE CAN TAKE 8 CHARS 12120000 - 000AF6 0AD9 1328 SVC C'R' . READ IT 12130000 - 000AF8 D503 13AC 200C 00E74 0000C 1329 CLC =C'READ',XRXTEXT . IF FIRST WORD IS READ, OK 12140000 - 000AFE 4770 1024 00AEC 1330 BNE RDRHLOOP . ELSE IGNORE 12150000 - 000B02 5850 2010 00010 1331 L 5,XRXTEXT+4 . GET 2ND WORD OF TEXT 12160000 - 1332 DROP 2 12170000 - 000B06 4120 3004 00004 1333 LA 2,UCBUS . LOCK THE UCB AND IT'S UNIT 12180000 - 000B0A 0AD7 1334 SVC C'P' 12190000 - 000B0C 4120 C008 00008 1335 LA 2,RDRHMSG . RESET ADDRESSING POINTER 12200000 - R:2 00000 1336 USING XRX,2 12210000 - 000B10 95FF C07A 0007A 1337 CLI JOBBIT,X'FF' . HAVE WE JUST READ $JOB CARD? 12220000 - 000B14 4770 1066 00B2E 1338 BNE RDRHMORE . IF NO, GO CHECK PROTECTION, ELSE 12230000 - 000B18 955C 2000 00000 1339 CLI XRXNAME,C'*' . IS JSP CALLING US? 12240000 - 000B1C 4770 10F8 00BC0 1340 BNE RDRHNO . IF NOT, TELL HIM NO. 12250000 - 000B20 D24F 5000 C01C 00000 0001C 1341 MVC 0(80,5),RDRHTEMP . IF IT IS, GIVE JSP THE $JOB CARD 12260000 - 000B26 9200 C07A 0007A 1342 MVI JOBBIT,X'00' . SAY WE DON'T HAVE $JOB WAITING 12270000 - 000B2A 47F0 1114 00BDC 1343 B RDRHSOK . AND SEND MESSAGE BACK 12280000 - 1344 DROP 2 12290000 - 000B2E 955C C008 00008 1345 RDRHMORE CLI RDRHMSG,C'*' . IS SYSTEM CALLING? 12300000 - 000B32 4780 1098 00B60 1346 BE RDRHPOK . THEN PROTECTION OK, ELSE 12310000 - 000B36 18B5 1347 LR 11,5 . GET ADDRESS THAT'S TO HOLD CARD, 12320000 -1 Sample Operating System Version 2.00 Page 36 - Active Usings: PROGRAM,R0 PROGRAM+X'AC8',R1 UCB,R3 RDRHAS,R12 -0 Loc Object Code Addr1 Addr2 Stmt Source Statement HLASM R6.0 2016/08/29 08.42 -0000B38 54B0 116C 00C34 1348 N 11,PROTCON1 . get the page boundary 12330002 - 1349 * ISKE 10,11 . find storage key 12334002 - 000B3C B22900AB 1350 DC X'B22900AB' Assembler (XF) doesn't support ISKE 12338002 - 000B40 54A0 1170 00C38 1351 N 10,PROTCON2 . ignore low order bits 12342002 - 000B44 19A4 1352 CR 10,4 . DOES IT MATCH OURS? 12350000 - 000B46 4770 10F8 00BC0 1353 BNE RDRHNO . IF NOT, TELL HIM NO 12360000 - 000B4A 41B5 004F 0004F 1354 LA 11,79(5) . CHECK LAST BYTE ADDR OF CARD 12370000 - 000B4E 54B0 116C 00C34 1355 N 11,PROTCON1 . get the page boundary 12380002 - 1356 * ISKE 10,11 . find storage key 12384002 - 000B52 B22900AB 1357 DC X'B22900AB' Assembler (XF) doesn't support ISKE 12388002 - 000B56 54A0 1170 00C38 1358 N 10,PROTCON2 . ignore low order bits 12392002 - 000B5A 19A4 1359 CR 10,4 . DOES IT MATCH OURS? 12400000 - 000B5C 4770 10F8 00BC0 1360 BNE RDRHNO . IF NOT, TELL HIM NO 12410000 - 000B60 5450 1168 00C30 1361 RDRHPOK N 5,CCBCON1 . MAKE ADDRESS INTO 12420000 - 000B64 5050 C000 00000 1362 ST 5,RDRHCCB . A CCW (OR CCB) 12430000 - 000B68 9602 C000 00000 1363 OI RDRHCCB,X'02' 12440000 - 000B6C D203 C004 13B0 00004 00E78 1364 MVC RDRHCCB+4,=F'80' . WE'LL READ EIGHTY CHARACTERS 12450000 - 000B72 D203 3014 1398 00014 00E60 1365 MVC UCBCSW(4),=A(0) . CLEAR THE LAST CSW THERE 12460000 - 000B78 D203 3018 1398 00018 00E60 1366 MVC UCBCSW+4(4),=A(0) 12470000 - 000B7E 4120 0194 00194 1367 LA 2,CAWSEM . LOCK THE CAW 12480000 - 000B82 0AD7 1368 SVC C'P' 12490000 - 000B84 5060 0048 00048 1369 ST 6,CAW . THAT'S THE CAW 12500000 - 000B88 5870 3000 00000 1370 L 7,UCBADDR . GET THE UNIT ADDRESS 12510000 - 000B8C 9C00 7000 00000 1371 SIO 0(7) . START THE I/O 12520000 - 000B90 4770 1154 00C1C 1372 BNZ RDSTATUS . BRANCH IF SIO UNSUCCESSFUL 12530000 - 000B94 0AE5 1373 SVC C'V' . THEN UNLOCK THE CAW 12540000 - 000B96 4120 300C 0000C 1374 RDRHWAIT LA 2,UCBWS . NOW WAIT FOR AN INTERRUPT 12550000 - 000B9A 0AD7 1375 SVC C'P' 12560000 - 000B9C 9185 3018 00018 1376 TM UCBCSW+4,X'85' . CHECK THE STATUS 12570003 - 000BA0 4780 10CE 00B96 1377 BZ RDRHWAIT . IF NOT FINISHED, WAIT 12580000 - 000BA4 9101 3018 00018 1378 TM UCBCSW+4,X'01' . CHECK FOR EXCEPTION 12590000 - 000BA8 4710 10F0 00BB8 1379 BO RDRHEXC . if yes, ignore this interrupt 12600003 - 000BAC 9180 3018 00018 1380 TM UCBCSW+4,X'80' . if no, check for attention 12602003 - 000BB0 4710 1098 00B60 1381 BO RDRHPOK . if yes, try to restart the I/O 12604003 - 000BB4 47F0 1102 00BCA 1382 B RDRHOK . else, all is groovy 12606003 - 000BB8 94FE 3018 00018 1383 RDRHEXC NI UCBCSW+4,X'FE' . clear exception .. 12608003 - 000BBC 47F0 10CE 00B96 1384 B RDRHWAIT . .. and continue waiting 12610003 - 000BC0 D201 C078 13CC 00078 00E94 1385 RDRHNO MVC RDRHM+12(2),=C'NO' . message back is no 12612003 - 000BC6 47F0 111A 00BE2 1386 B RDRHSEND . GET READY TO SEND 12620000 - 000BCA 955C C008 00008 1387 RDRHOK CLI RDRHMSG,C'*' . IS THE SYSTEM CALLING? 12630000 - 000BCE 4780 1114 00BDC 1388 BE RDRHSOK . THAT'S FINE. OTHERWISE, 12640000 - 000BD2 D504 13D0 5000 00E98 00000 1389 CLC =C'$JOB,',0(5) . WAS IT A $JOB CARD? 12650000 - 000BD8 4780 1136 00BFE 1390 BE ENDADATA . OOPS! WE HIT END OF DATA STREAM 12660000 - 000BDC D201 C078 13CE 00078 00E96 1391 RDRHSOK MVC RDRHM+12(2),=C'OK' .GROOVINESS MESSAGE 12670000 - 000BE2 D203 C074 13A8 00074 00E70 1392 RDRHSEND MVC RDRHM+8(4),=F'2' . SAY THERE ARE 2 CHARACTERS 12680000 - 000BE8 D207 C06C C008 0006C 00008 1393 MVC RDRHM+0(8),RDRHMSG+0 . SEND BACK TO SAME GUY 12690000 - 000BEE 4120 3004 00004 1394 LA 2,UCBUS . NOW UNLOCK UCB AND UNIT 12700000 - 000BF2 0AE5 1395 SVC C'V' 12710000 - 000BF4 4120 C06C 0006C 1396 LA 2,RDRHM . SET UP MESSAGE 12720000 - 000BF8 0AE2 1397 SVC C'S' . AND SEND IT 12730000 - 000BFA 47F0 1024 00AEC 1398 B RDRHLOOP 12740000 - 000BFE D201 C078 13CC 00078 00E94 1399 ENDADATA MVC RDRHM+12(2),=C'NO' . TELL USER NO MORE CARDS 12750000 - 000C04 D24F C01C 5000 0001C 00000 1400 MVC RDRHTEMP(80),0(5) . SAVE THE $JOB CARD 12760000 - 000C0A 9240 5000 00000 1401 MVI 0(5),C' ' . BLANK OUT THE USER'S COPY 12770000 - 000C0E D24E 5001 5000 00001 00000 1402 MVC 1(79,5),0(5) 12780000 -1 Sample Operating System Version 2.00 Page 37 - Active Usings: PROGRAM,R0 PROGRAM+X'AC8',R1 UCB,R3 RDRHAS,R12 -0 Loc Object Code Addr1 Addr2 Stmt Source Statement HLASM R6.0 2016/08/29 08.42 -0000C14 92FF C07A 0007A 1403 MVI JOBBIT,X'FF' . INDICATE WE HAVE A NEW $JOB CARD 12790000 - 000C18 47F0 111A 00BE2 1404 B RDRHSEND . AND SEND THE MESSAGE BACK 12800000 - 000C1C 0AE5 1405 RDSTATUS SVC C'V' . UNLOCK THE CAW 12810000 - 000C1E 4120 300C 0000C 1406 LA 2,UCBWS . AND WAIT FOR AN INTERRUPT 12820000 - 000C22 0AD7 1407 SVC C'P' 12830000 - 000C24 47F0 1098 00B60 1408 B RDRHPOK . AND TRY TO RESTART THE I/O 12840000 - 1409 DROP 3,12 12850000 -0000C28 0000000100000000 1411 RDRHSEM DC F'1,0' 12870000 - 000C30 00FFFFFF 1412 CCBCON1 DC X'00FFFFFF' MASK 12880000 - 000C34 00FFF000 1413 PROTCON1 DC X'00FFF000' page alignment 12890002 - 000C38 FFFFFFF0 1414 PROTCON2 DC X'FFFFFFF0' ignore low order bits 12893002 - 000C3C 00000080 1415 RDRHAAS DC A(LENRDRHA) ALLOCATE ARGLIST FOR STORAGE 12900000 - 000C40 00000000 1416 DC F'0' 12910000 - 000C44 00000008 1417 DC F'8' 12920000 -- - 1419 *********************************************************************** 12940000 - 1420 * * 12950000 - 1421 * SYSTEM SUPPLIED DEVICE HANDLER FOR PRINTERS * 12960000 - 1422 * * 12970000 - 1423 *********************************************************************** 12980000 -0 00C48 1425 PRTHANDL EQU * . THE PRINTER HANDLER 13000000 - R:3 00000 1426 USING UCB,3 . ENTERED WITH REG3 -> THE UCB 13010000 - 000C48 0510 1427 BALR 1,0 13020000 - R:1 00C4A 1428 USING *,1 . ESTABLISH ADDRESSING 13030000 - ** ASMA303W Multiple address resolutions may result from this USING and the USING on statement number 131 - ** ASMA435I Record 1428 in /mbhfs/sos4k.asm on volume: - 000C4A 4120 1116 00D60 1429 LA 2,PRTHSEM . LOCK UNTIL ALLOCATE STORAGE 13040000 - 000C4E 0AD7 1430 SVC C'P' . 13050000 - 000C50 4120 111E 00D68 1431 LA 2,PRTHAAS . READY TO ALLOCATE 13060000 - R:2 00000 1432 USING XAX,2 13070000 - 000C54 0AC5 1433 SVC C'E' . ALLOCATE 13080000 - 000C56 58C0 2004 00004 1434 L 12,XAXADDR . GET THE ADDRESS 13090000 - 1435 DROP 2 13100000 - 000C5A 4120 1116 00D60 1436 LA 2,PRTHSEM . 13110000 - 000C5E 0AE5 1437 SVC C'V' UNLOCK TO ROUTINE 13120000 - 000C60 8840 0010 00010 1438 SRL 4,16 . SHIFT KEY 13130000 - 000C64 1BAA 1439 SR 10,10 . CLEAR REG 10 13140000 - R:C 00000 1440 USING PRTHAS,12 . ADDRESSING IN THE AUTO AREA 13150000 - 000C66 4160 C000 00000 1441 LA 6,PRTHCCB . MAKE A CAW 13160000 - 000C6A 4120 C008 00008 1442 PRTHLOOP LA 2,PRTHMSG . READY TO READ A MESSAGE 13170000 - R:2 00000 1443 USING XRX,2 13180000 - 000C6E D203 2008 121E 00008 00E68 1444 MVC XRXSIZE,=F'8' . WE CAN TAKE 8 CHARACTERS 13190000 - 000C74 0AD9 1445 SVC C'R' . READ IT 13200000 - 000C76 5850 2010 00010 1446 L 5,XRXTEXT+4 . LOAD THE ADDRESS 13210000 - 000C7A D503 1232 200C 00E7C 0000C 1447 CLC =C'PRIN',XRXTEXT . IS IT A PRIN REQUEST? 13220000 - 000C80 4780 1048 00C92 1448 BE PRTHPRIN 13230000 - 000C84 D503 1236 200C 00E80 0000C 1449 CLC =C'STC1',XRXTEXT . OR A SKIP REQUEST? 13240000 - 000C8A 4780 1096 00CE0 1450 BE PRTHSTC1 13250000 - 000C8E 47F0 1020 00C6A 1451 B PRTHLOOP . IF NEITHER, IGNORE 13260000 - 1452 DROP 2 13270000 - 000C92 4120 3004 00004 1453 PRTHPRIN LA 2,UCBUS 13280000 -1 Sample Operating System Version 2.00 Page 38 - Active Usings: PROGRAM,R0 PROGRAM+X'C4A',R1 UCB,R3 PRTHAS,R12 -0 Loc Object Code Addr1 Addr2 Stmt Source Statement HLASM R6.0 2016/08/29 08.42 -0000C96 0AD7 1454 SVC C'P' . LOCK THE UCB AND UNIT 13290000 - 000C98 955C C008 00008 1455 CLI PRTHMSG,C'*' . IS SYSTEM CALLING? 13300000 - 000C9C 4780 1080 00CCA 1456 BE PRTHPOK . THEN PROTECTION OK. ELSE 13310000 - 000CA0 18B5 1457 LR 11,5 . GET ADDRESS THAT'S TO HOLD MSG, 13320000 - 000CA2 54B0 0C34 00C34 1458 N 11,PROTCON1 . get the page boundary 13330002 - 1459 * ISKE 10,11 . find storage key 13334002 - 000CA6 B22900AB 1460 DC X'B22900AB' Assembler (XF) doesn't support ISKE 13338002 - 000CAA 54A0 0C38 00C38 1461 N 10,PROTCON2 . ignore low order bits 13342002 - 000CAE 19A4 1462 CR 10,4 . DOES IT MATCH OURS? 13350000 - 000CB0 4770 10DC 00D26 1463 BNE PRTHNO . IF NOT, TELL HIM NO 13360000 - 000CB4 41B5 0083 00083 1464 LA 11,131(5) . CHECK LAST BYTE ADDRESS OF LINE 13370000 - 000CB8 54B0 0C34 00C34 1465 N 11,PROTCON1 . get the page boundary 13380002 - 1466 * ISKE 10,11 . find storage key 13384002 - 000CBC B22900AB 1467 DC X'B22900AB' Assembler (XF) doesn't support ISKE 13388002 - 000CC0 54A0 0C38 00C38 1468 N 10,PROTCON2 . ignore low order bits 13392002 - 000CC4 19A4 1469 CR 10,4 . DOES IT MATCH OURS? 13400000 - 000CC6 4770 10DC 00D26 1470 BNE PRTHNO . IF NOT, TELL HIM NO 13410000 - 000CCA 5450 0C30 00C30 1471 PRTHPOK N 5,CCBCON1 . MAKE A WRITE REQUEST 13420000 - 000CCE 5050 C000 00000 1472 ST 5,PRTHCCB . FOR THE CCB 13430000 - 000CD2 9609 C000 00000 1473 OI PRTHCCB,X'09' . PRINT COMMAND CODE 13440000 - 000CD6 D203 C004 123A 00004 00E84 1474 MVC PRTHCCB+4,=F'132' . WE'LL PRINT 132 CHARACTERS 13450000 - 000CDC 47F0 10A2 00CEC 1475 B PRTHCOMM . BRANCH TO COMMON SECTION 13460000 - 000CE0 D207 C000 1206 00000 00E50 1476 PRTHSTC1 MVC PRTHCCB(8),=X'8900000020000001' SKIP TO TOP OF PAGE 13470000 - 000CE6 4120 3004 00004 1477 LA 2,UCBUS 13480000 - 000CEA 0AD7 1478 SVC C'P' . LOCK THE UCB AND UNIT 13490000 - 000CEC 4120 0194 00194 1479 PRTHCOMM LA 2,CAWSEM . LOCK THE CAW 13500000 - 000CF0 0AD7 1480 SVC C'P' 13510000 - 000CF2 5060 0048 00048 1481 ST 6,CAW . STORE OUR CAW 13520000 - 000CF6 D203 3014 1216 00014 00E60 1482 MVC UCBCSW(4),=A(0) . CLEAR THE LAST CSW THERE 13530000 - 000CFC D203 3018 1216 00018 00E60 1483 MVC UCBCSW+4(4),=A(0) 13540000 - 000D02 5870 3000 00000 1484 L 7,UCBADDR . GET THE ADDRESS 13550000 - 000D06 9C00 7000 00000 1485 SIO 0(7) . START THE I/O 13560000 - 000D0A 4770 1108 00D52 1486 BNZ PTSTATUS . BRANCH IF SIO UNSUCCESSFUL 13570000 - 000D0E 0AE5 1487 SVC C'V' . AND UNLOCK THE CAW 13580000 - 000D10 4120 300C 0000C 1488 PRTHWAIT LA 2,UCBWS . START TO WAIT 13590000 - 000D14 0AD7 1489 SVC C'P' 13600000 - 000D16 9105 3018 00018 1490 TM UCBCSW+4,X'05' . IS THE UNIT READY? 13610000 - 000D1A 4780 10C6 00D10 1491 BZ PRTHWAIT . IF NOT, ITS STILL ON. WAIT 13620000 - 000D1E 9101 3018 00018 1492 TM UCBCSW+4,X'01' . WAS THERE AN EXCEPTION? 13630000 - 000D22 4780 10E6 00D30 1493 BZ PRTHOK . IF NOT, GOOD 13640000 - 000D26 D201 C028 124A 00028 00E94 1494 PRTHNO MVC PRTHM+12(2),=C'NO' .THERE WAS, SO SAY SO 13650000 - 000D2C 47F0 10EC 00D36 1495 B PRTHSEND 13660000 - 000D30 D201 C028 124C 00028 00E96 1496 PRTHOK MVC PRTHM+12(2),=C'OK' .NO ERRORS 13670000 - 000D36 D203 C024 1226 00024 00E70 1497 PRTHSEND MVC PRTHM+8(4),=F'2' . SENDING 2 CHARACTERS 13680000 - 000D3C D207 C01C C008 0001C 00008 1498 MVC PRTHM+0(8),PRTHMSG+0 . SEND TO OUR SENDER 13690000 - 000D42 4120 3004 00004 1499 LA 2,UCBUS 13700000 - 000D46 0AE5 1500 SVC C'V' . UNLOCK THE UCB 13710000 - 000D48 4120 C01C 0001C 1501 LA 2,PRTHM 13720000 - 000D4C 0AE2 1502 SVC C'S' . SEND IT 13730000 - 000D4E 47F0 1020 00C6A 1503 B PRTHLOOP . AND READ ANOTHER MESSAGE 13740000 - 000D52 0AE5 1504 PTSTATUS SVC C'V' . UNLOCK THE CAW 13750000 - 000D54 4120 300C 0000C 1505 LA 2,UCBWS . AND WAIT FOR THE INTERRUPT 13760000 - 000D58 0AD7 1506 SVC C'P' 13770000 - 000D5A 47F0 10A2 00CEC 1507 B PRTHCOMM . AND TRY TO RESTART THE I/O 13780000 - 1508 DROP 3,12 13790000 -1 Sample Operating System Version 2.00 Page 39 - Active Usings: PROGRAM,R0 PROGRAM+X'C4A',R1 -0 Loc Object Code Addr1 Addr2 Stmt Source Statement HLASM R6.0 2016/08/29 08.42 -0000D5E 0000 - 000D60 0000000100000000 1510 PRTHSEM DC F'1,0' LOCK 13810000 - 000D68 00000030 1511 PRTHAAS DC A(LENPRTHA) XA ARG LIST FOR AUTO STORAGE 13820000 - 000D6C 00000000 1512 DC F'0' 13830000 - 000D70 00000008 1513 DC F'8' 13840000 -1 Sample Operating System Version 2.00 Page 40 - Active Usings: PROGRAM,R0 PROGRAM+X'C4A',R1 -0 Loc Object Code Addr1 Addr2 Stmt Source Statement HLASM R6.0 2016/08/29 08.42 -0 1515 *********************************************************************** 13860000 - 1516 * * 13870000 - 1517 * SYSTEM ROUTINE FOR USER SUPPLIED DEVICE HANDLER * 13880000 - 1518 * * 13890000 - 1519 *********************************************************************** 13900000 -0 00D74 1521 EXCPHNDL EQU * . EXCP DEVICE HANDLER 13920000 - R:3 00000 1522 USING UCB,3 . WILL HAVE REG3 -> UCB 13930000 - 000D74 0510 1523 BALR 1,0 13940000 - R:1 00D76 1524 USING *,1 . ESTABLISH ADDRESSING 13950000 - ** ASMA303W Multiple address resolutions may result from this USING and the USING on statement number 131 - ** ASMA435I Record 1524 in /mbhfs/sos4k.asm on volume: - 000D76 4120 10C6 00E3C 1525 LA 2,EXCPHSEM . LOCK OURSELVES UNTIL WE HAVE 13960000 - 000D7A 0AD7 1526 SVC C'P' . SET UP AUTOMATIC STORAGE 13970000 - 000D7C 4120 10CE 00E44 1527 LA 2,EXCPHAAS . READY TO ALLOCATE 13980000 - R:2 00000 1528 USING XAX,2 13990000 - 000D80 0AC5 1529 SVC C'E' . ALLOCATE 14000000 - 000D82 58C0 2004 00004 1530 L 12,XAXADDR . GET POINTER TO AUTO STORAGE 14010000 - 1531 DROP 2 14020000 - 000D86 4120 10C6 00E3C 1532 LA 2,EXCPHSEM . AND UNLOCK OURSELVES 14030000 - 000D8A 0AE5 1533 SVC C'V' UNLOCK TO ROUTINE 14040000 - 000D8C 184B 1534 LR 4,11 14050000 - 000D8E 8940 0008 00008 1535 SLL 4,8 . SHIFT KEY FOR CAW 14060000 - R:C 00000 1536 USING EXCPHAS,12 . FOR ADDRESSING AUTO AREA 14070000 - 000D92 4120 C000 00000 1537 EXCPLOOP LA 2,EXCPHMSG . TRY TO READ A MESSAGE 14080000 - R:2 00000 1538 USING XRX,2 14090000 - 000D96 D203 2008 1112 00008 00E88 1539 MVC XRXSIZE,=F'12' . WE'LL TAKE 12 CHARACTERS 14100000 - 000D9C 0AD9 1540 SVC C'R' 14110000 - 000D9E D503 1116 200C 00E8C 0000C 1541 CLC =C'EXCP',XRXTEXT . IS IT AN EXCP MESSAGE? 14120000 - 000DA4 4770 101C 00D92 1542 BNE EXCPLOOP . IF NOT, IGNORE IT 14130000 - 000DA8 5850 2010 00010 1543 L 5,XRXTEXT+4 . REG 5 CONTAINS CHAN AND DEV 14140000 - 000DAC 5860 2014 00014 1544 L 6,XRXTEXT+8 . REG 6 CONTAINS ADDR OF CCWS 14150000 - 1545 DROP 2 14160000 - 000DB0 4170 112E 00EA4 1546 LA 7,UCBTABLE . GET PTR TO UCB TABLE 14170000 - 000DB4 5957 0000 00000 1547 EXCPCOMP C 5,0(7) . COMPARE UNIT ADDRESS 14180000 - 000DB8 4780 1054 00DCA 1548 BE EXCPFIND . THAT'S THE UCB WE WANT 14190000 - 000DBC 4177 0020 00020 1549 LA 7,UCBLENG(7) . GET PTR TO NEXT UCB 14200000 - 000DC0 5970 111A 00E90 1550 C 7,=A(UCBTBEND) . ARE WE THROUGH WITH TABLE? 14210000 - 000DC4 4770 103E 00DB4 1551 BNE EXCPCOMP . IF NOT, LOOK SOME MORE 14220000 - 000DC8 0A6F 1552 SVC C'?' . ELSE ERROR 14230000 - 000DCA 1837 1553 EXCPFIND LR 3,7 . SET REG 3 TO UCB PTR 14240000 - 000DCC 4120 3004 00004 1554 LA 2,UCBUS 14250000 - 000DD0 0AD7 1555 SVC C'P' . LOCK THE UCB 14260000 - 000DD2 1664 1556 OR 6,4 . OR IN THE USER'S KEY 14270000 - 000DD4 D203 3014 10EA 00014 00E60 1557 MVC UCBCSW(4),=A(0) . CLEAR THE LAST CSW THERE 14280000 - 000DDA D203 3018 10EA 00018 00E60 1558 MVC UCBCSW+4(4),=A(0) 14290000 - 000DE0 4120 0194 00194 1559 LA 2,CAWSEM 14300000 - 000DE4 0AD7 1560 SVC C'P' . LOCK CAW 14310000 - 000DE6 5060 0048 00048 1561 ST 6,CAW . STORE OUR CAW 14320000 - 000DEA 9C00 5000 00000 1562 SIO 0(5) . START THE I/O 14330000 - 000DEE 0AE5 1563 SVC C'V' . UNLOCK THE CAW 14340000 - 000DF0 4120 300C 0000C 1564 EXCPWAIT LA 2,UCBWS . NOW WAIT FOR AN INTERRUPT 14350000 - 000DF4 0AD7 1565 SVC C'P' 14360000 - 000DF6 D207 C024 3014 00024 00014 1566 MVC EXCPHM+12(8),UCBCSW . GIVE USER HIS CSW 14370000 - 000DFC D203 C020 1112 00020 00E88 1567 MVC EXCPHM+8(4),=F'12' 14380000 -1 Sample Operating System Version 2.00 Page 41 - Active Usings: PROGRAM,R0 PROGRAM+X'D76',R1 UCB,R3 EXCPHAS,R12 -0 Loc Object Code Addr1 Addr2 Stmt Source Statement HLASM R6.0 2016/08/29 08.42 -0000E02 D207 C018 C000 00018 00000 1568 MVC EXCPHM(8),EXCPHMSG 14390000 - 000E08 4120 C018 00018 1569 LA 2,EXCPHM 14400000 - 000E0C 0AE2 1570 SVC C'S' . AND SENT THE MESSAGE 14410000 - 000E0E 4120 C000 00000 1571 LA 2,EXCPHMSG . AND WAIT FOR A REPLY 14420000 - R:2 00000 1572 USING XRX,2 14430000 - 000E12 D203 2008 10F2 00008 00E68 1573 MVC XRXSIZE(4),=F'8' . FROM THE USER 14440000 - 000E18 0AD9 1574 SVC C'R' 14450000 - 000E1A D501 1120 200C 00E96 0000C 1575 CLC =C'OK',XRXTEXT . AM I DONE? 14460000 - 000E20 4780 10BA 00E30 1576 BE EXCPDONE 14470000 - 000E24 D504 1127 200C 00E9D 0000C 1577 CLC =C'AGAIN',XRXTEXT . DOES HE WANT ANOTHER CSW? 14480000 - 000E2A 4780 107A 00DF0 1578 BE EXCPWAIT 14490000 - 000E2E 0A6F 1579 SVC C'?' . WRONG MESSAGE 14500000 - 1580 DROP 2 14510000 - 000E30 4120 3004 00004 1581 EXCPDONE LA 2,UCBUS . UNLOCK UNIT 14520000 - 000E34 0AE5 1582 SVC C'V' 14530000 - 000E36 47F0 101C 00D92 1583 B EXCPLOOP . AND GET ANOTHER MESSAGE 14540000 - 1584 DROP 3,12 14550000 - 000E3A 0000 - 000E3C 0000000100000000 1585 EXCPHSEM DC F'1,0' 14560000 - 000E44 00000030 1586 EXCPHAAS DC A(LENEXCPA) . ALLOCATION OF AUTO STORAGE 14570000 - 000E48 00000000 1587 DC F'0' 14580000 - 000E4C 00000008 1588 DC F'8' 14590000 -- - 000E50 1590 LTORG 14610000 - 000E50 8900000020000001 1591 =X'8900000020000001' - 000E58 00000001 1592 =F'1' - 000E5C 00000600 1593 =A(XA) - 000E60 00000000 1594 =A(0) - 000E64 00000148 1595 =A(LENPCB) - 000E68 00000008 1596 =F'8' - 000E6C FFFFFFF8 1597 =F'-8' - 000E70 00000002 1598 =F'2' - 000E74 D9C5C1C4 1599 =C'READ' - 000E78 00000050 1600 =F'80' - 000E7C D7D9C9D5 1601 =C'PRIN' - 000E80 E2E3C3F1 1602 =C'STC1' - 000E84 00000084 1603 =F'132' - 000E88 0000000C 1604 =F'12' - 000E8C C5E7C3D7 1605 =C'EXCP' - 000E90 00000FC4 1606 =A(UCBTBEND) - 000E94 D5D6 1607 =C'NO' - 000E96 D6D2 1608 =C'OK' - 000E98 5BD1D6C26B 1609 =C'$JOB,' - 000E9D C1C7C1C9D5 1610 =C'AGAIN' -1 Sample Operating System Version 2.00 Page 42 - Active Usings: PROGRAM,R0 PROGRAM+X'D76',R1 -0 Loc Object Code Addr1 Addr2 Stmt Source Statement HLASM R6.0 2016/08/29 08.42 -0 1612 *********************************************************************** 14630000 - 1613 * * 14640000 - 1614 * UNIT CONTROL BLOCKS * 14650000 - 1615 * * 14660000 - 1616 *********************************************************************** 14670000 -0000EA4 1618 UCBTABLE DS 0F . TABLE OF UNIT CONTROL BLOCKS 14690000 - 1619 * UCB FOR READER 1 14700000 - 000EA4 00000012 1620 UCBRDR1 DC X'00000012' . DEVICE ADDRESS, 14710000 - 000EA8 0000000100000000 1621 DC F'1,0' . USER SEMAPHORE, 14720000 - 000EB0 0000000000000000 1622 DC F'0,0' . WAIT SEMAPHORE, 14730000 - 000EB8 0000000000000000 1623 DC F'0,0' . CHANNEL STATUS WORD 14740000 - 000EC0 00 1624 DC X'00' 14750000 - 000EC4 1625 DS 0F 14760000 - 1626 * UCB FOR PRINTER 1 14770000 - 000EC4 00000010 1627 UCBPRT1 DC X'00000010' . DEVICE ADDRESS, 14780000 - 000EC8 0000000100000000 1628 DC F'1,0' . USER SEMAPHORE, 14790000 - 000ED0 0000000000000000 1629 DC F'0,0' . WAIT SEMAPHORE, 14800000 - 000ED8 0000000000000000 1630 DC F'0,0' . CHANNEL STATUS WORD 14810000 - 000EE0 00 1631 DC X'00' 14820000 - 000EE4 1632 DS 0F 14830000 - 1633 * UCB FOR READER 2 14840000 - 000EE4 0000000C 1634 UCBRDR2 DC X'0000000C' . DEVICE ADDRESS, 14850000 - 000EE8 0000000100000000 1635 DC F'1,0' . USER SEMAPHORE, 14860000 - 000EF0 0000000000000000 1636 DC F'0,0' . WAIT SEMAPHORE, 14870000 - 000EF8 0000000000000000 1637 DC F'0,0' . CHANNEL STATUS WORD 14880000 - 000F00 00 1638 DC X'00' 14890000 - 000F04 1639 DS 0F 14900000 - 1640 * UCB FOR PRINTER 2 14910000 - 000F04 0000000E 1641 UCBPRT2 DC X'0000000E' . DEVICE ADDRESS, 14920000 - 000F08 0000000100000000 1642 DC F'1,0' . USER SEMAPHORE, 14930000 - 000F10 0000000000000000 1643 DC F'0,0' . WAIT SEMAPHORE, 14940000 - 000F18 0000000000000000 1644 DC F'0,0' . CHANNEL STATUS WORD 14950000 - 000F20 00 1645 DC X'00' 14960000 - 000F24 1646 DS 0F 14970000 - 1647 * UCB for READER 3 14970302 - 000F24 00000112 1648 UCBRDR3 DC X'00000112' . device address, 14970602 - 000F28 0000000100000000 1649 DC F'1,0' . user semaphore, 14970902 - 000F30 0000000000000000 1650 DC F'0,0' . wait semaphore, 14971202 - 000F38 0000000000000000 1651 DC F'0,0' . channel status word 14971502 - 000F40 00 1652 DC X'00' 14971802 - 000F44 1653 DS 0F 14972102 - 1654 * UCB for PRINTER 3 14972402 - 000F44 00000110 1655 UCBPRT3 DC X'00000110' . device address, 14972702 - 000F48 0000000100000000 1656 DC F'1,0' . user semaphore, 14973002 - 000F50 0000000000000000 1657 DC F'0,0' . wait semaphore, 14973302 - 000F58 0000000000000000 1658 DC F'0,0' . channel status word 14973602 - 000F60 00 1659 DC X'00' 14973902 - 000F64 1660 DS 0F 14974202 - 1661 * UCB for READER 4 14974502 - 000F64 0000010C 1662 UCBRDR4 DC X'0000010C' . device address, 14974802 - 000F68 0000000100000000 1663 DC F'1,0' . user semaphore, 14975102 - 000F70 0000000000000000 1664 DC F'0,0' . wait semaphore, 14975402 - 000F78 0000000000000000 1665 DC F'0,0' . channel status word 14975702 - 000F80 00 1666 DC X'00' 14976002 -1 Sample Operating System Version 2.00 Page 43 - Active Usings: PROGRAM,R0 PROGRAM+X'D76',R1 -0 Loc Object Code Addr1 Addr2 Stmt Source Statement HLASM R6.0 2016/08/29 08.42 -0000F84 1667 DS 0F 14976302 - 1668 * UCB for PRINTER 4 14976602 - 000F84 0000010E 1669 UCBPRT4 DC X'0000010E' . device address, 14976902 - 000F88 0000000100000000 1670 DC F'1,0' . user semaphore, 14977202 - 000F90 0000000000000000 1671 DC F'0,0' . wait semaphore, 14977502 - 000F98 0000000000000000 1672 DC F'0,0' . channel status word 14977802 - 000FA0 00 1673 DC X'00' 14978102 - 000FA4 1674 DS 0F 14978402 - 1675 * UCB for CONSOLE 1 14978504 - 000FA4 00000009 1676 UCBCONS1 DC X'00000009' . device address, 14978604 - 000FA8 0000000100000000 1677 DC F'1,0' . user semaphore, 14978704 - 000FB0 0000000000000000 1678 DC F'0,0' . wait semaphore, 14978804 - 000FB8 0000000000000000 1679 DC F'0,0' . channel status word 14978904 - 000FC0 00 1680 DC X'00' 14979004 - 000FC4 1681 DS 0F 14979104 - 00FC4 1682 UCBTBEND EQU * 14980000 -1 Sample Operating System Version 2.00 Page 44 - Active Usings: PROGRAM,R0 PROGRAM+X'D76',R1 -0 Loc Object Code Addr1 Addr2 Stmt Source Statement HLASM R6.0 2016/08/29 08.42 -0 1684 *********************************************************************** 15000000 - 1685 * * 15010000 - 1686 * I/O INTERRUPT HANDLER * 15020000 - 1687 * * 15030000 - 1688 *********************************************************************** 15040000 -0 00FC4 1690 IOHANDL EQU * . THE I/O INTERRUPT HANDLER 15060000 - 000FC4 900F 01DC 001DC 1691 STM 0,15,IOHSAVE . SAVE REGISTERS 15070000 - 000FC8 0510 1692 BALR 1,0 15080000 - R:1 00FCA 1693 USING *,1 . ESTABLISH ADRESSING 15090000 - ** ASMA303W Multiple address resolutions may result from this USING and the USING on statement number 131 - ** ASMA435I Record 1673 in /mbhfs/sos4k.asm on volume: - 000FCA 94FD 0039 00039 1694 NI IOOLD+1,X'FD' . TURN OFF WAIT BIT 15100000 - 000FCE 5860 172E 016F8 1695 L 6,=A(UCBTABLE) . GET POINTER TO UCB TABLE 15110000 - 000FD2 D501 6002 003A 00002 0003A 1696 IOCOMP CLC 2(2,6),IOOLD+2 . COMPARE DEVICE AND CHANNEL 15120000 - 000FD8 4780 1022 00FEC 1697 BE IODEVFND . IF EQUAL, REG 6 INDICATES PTR 15130000 - 000FDC 4166 0020 00020 1698 LA 6,UCBLENG(6) . INCREMENT TO NEXT ENTRY 15140000 - 000FE0 5960 1732 016FC 1699 C 6,=A(UCBTBEND) . ARE WE AT END OF TABLE? 15150000 - 000FE4 4770 1008 00FD2 1700 BNE IOCOMP . IF NOT DONE, TRY NEXT UCB 15160000 - 000FE8 47F0 106C 01036 1701 B IOBACK . ELSE, IGNORE IT 15170000 - R:6 00000 1702 USING UCB,6 . IT'S A UCB PTR 15180000 - 000FEC D203 6014 0040 00014 00040 1703 IODEVFND MVC UCBCSW(4),CSW . MOVE IN THE NEW CSW 15190000 - 000FF2 5870 0044 00044 1704 L 7,CSW+4 . GET STATUS BYTE 15200000 - 000FF6 5670 6018 00018 1705 O 7,UCBCSW+4 . OR IN NEW STATUS INFORMATION 15210000 - 000FFA 5070 6018 00018 1706 ST 7,UCBCSW+4 . AND STORE IT BACK 15220000 - 000FFE D201 601A 0046 0001A 00046 1707 MVC UCBCSW+6(2),CSW+6 . MOVE IN BYTE COUNT 15230000 - 001004 4120 600C 0000C 1708 LA 2,UCBWS 15240000 - 001008 9500 601C 0001C 1709 CLI UCBFPR,X'00' . IS FAST PROCESSING 15250000 - 00100C 4780 106A 01034 1710 BE IONOFPR . REQUIRED? IF NOT, RETURN 15260000 - 001010 58F0 0270 00270 1711 L 15,RUNNING . IF SO, STOP GUY NOW RUNNING 15270000 - R:F 00000 1712 USING PCB,15 15280000 - 001014 95FF F019 00019 1713 CLI PCBBLOKT,X'FF' . IS ANYONE REALLY RUNNING? 15290000 - 001018 4780 1062 0102C 1714 BE IOWAIT . IF NOT, START UP SLEEPER 15300000 - 00101C 41D0 F04C 0004C 1715 LA 13,PCBISA . IF SO, STOP RUNNING PROCESS 15310000 - R:D 00000 1716 USING SA,13 15320000 - 001020 D207 D000 0038 00000 00038 1717 MVC SAPSW,IOOLD . SAVE PROCESS WHICH WAS 15330000 - 001026 D23F D008 01DC 00008 001DC 1718 MVC SAREGS,IOHSAVE . INTERRUPTED 15340000 - 1719 DROP 13,15 15350000 - 00102C 9200 0278 00278 1720 IOWAIT MVI NEXTTRYM,X'00' . MAKE NEXTTRY NOT MODIFIED 15360000 - 001030 0AE5 1721 SVC C'V' . SO CAN FAST PROCESS SLEEPER 15370000 - 001032 0A4B 1722 SVC C'.' . GO PROCESS IT RIGHT AWAY 15380000 - 001034 0AE5 1723 IONOFPR SVC C'V' . AND WAKE UP THE SLEEPER 15390000 - 001036 980F 01DC 001DC 1724 IOBACK LM 0,15,IOHSAVE . RELOAD OUR REGISTERS 15400000 - 00103A 8200 0038 00038 1725 LPSW IOOLD . AND STEALTHILY RETURN 15410000 - 1726 DROP 1,6 15420000 -1 Sample Operating System Version 2.00 Page 45 - Active Usings: PROGRAM,R0 -0 Loc Object Code Addr1 Addr2 Stmt Source Statement HLASM R6.0 2016/08/29 08.42 -0 1728 *********************************************************************** 15440000 - 1729 * * 15450000 - 1730 * IPL ENTERED ROUTINE * 15460000 - 1731 * * 15470000 - 1732 * FUNCTION: TO INITIALIZE SYSTEM PARAMETERS, SET STORAGE KEYS, * 15480000 - 1733 * AND CREATE MULTIPLE JOB STREAMS. * 15490000 - 1734 * * 15500000 - 1735 *********************************************************************** 15510000 -0 0103E 1737 IPLRTN EQU * . THE IPL-ENTERED ROUTINE 15530000 - 00103E 0510 1738 BALR 1,0 15540000 - R:1 01040 1739 USING *,1 . ESTABLISH ADDRESSING 15550000 - 001040 D202 007D 1281 0007D 012C1 1740 MVC IONEW+5(3),SOSIONEW activate IO handler 15553002 - 001046 D202 005D 1289 0005D 012C9 1741 MVC EXTNEW+5(3),IPLEXNEW ignore external interrupts for now 15556002 - 00104C 41F0 10D0 01110 1742 LA 15,IPLPCB . I'M RUNNING 15560000 - 001050 50F0 0270 00270 1743 ST 15,RUNNING . INITIALIZE 'RUNNING' 15570000 - 001054 50F0 0274 00274 1744 ST 15,NEXTTRY . INITIALIZE 'NEXTTRY' 15580000 - 001058 D207 1700 1690 01740 016D0 1745 MVC VERYEND,=A(0,CORESIZE-(VERYEND-PROGRAM)) FREE CORE 15590000 - 00105E 4130 0008 00008 1746 LA 3,8 . SET ZERO KEY AND FETCH PROTECT 15600000 - 001062 5820 1224 01264 1747 L 2,CORESIZ . START PAST THE LAST BLOCK 15610000 - 001066 5B20 161C 0165C 1748 IPLCL S 2,PAGESIZE . get the previous block, page aligned 15620002 - 00106A 4740 1036 01076 1749 BM IPLTH . IF NEGATIVE, WE'RE THROUGH HERE 15630000 - 1750 * SSKE 3,2 . else set the storage key to 15640002 - 00106E B22B0032 1751 DC X'B22B0032' Assembler (XF) doesn't support SSKE 15643002 - 001072 47F0 1026 01066 1752 B IPLCL . ZERO, AND WORK BACKWARDS 15650000 - 001076 1B44 1753 IPLTH SR 4,4 . INDEX IN TABLES FOR INPUT STREAM 15660000 - 001078 5850 1088 010C8 1754 L 5,STREAMS . HOW MANY STREAMS? 15670000 - 00107C 4120 1218 01258 1755 IPLLOOP LA 2,IPLAPCBS . READY TO ALLOCATE A PCB 15680000 - R:2 00000 1756 USING XAX,2 15690000 - 001080 0AC1 1757 SVC C'A' . ALLOCATE 15700000 - 001082 5820 2004 00004 1758 L 2,XAXADDR . GET THE ADDRESS 15710000 - 001086 D253 2000 1228 00000 01268 1759 MVC 0(TYPLEN,2),TYPPCB .MAKE IT LOOK LIKE A PCB 15720000 - 00108C 0AC9 1760 SVC C'I' . CHAIN IT ON 15730000 - R:2 00000 1761 USING PCB,2 15740000 - 00108E 5020 2008 00008 1762 ST 2,PCBNPTG . BUT PUT IT IN A GROUP BY ITSELF 15750000 - 001092 5020 200C 0000C 1763 ST 2,PCBLPTG 15760000 - 1764 DROP 2 15770000 - R:F 00000 1765 USING PCB,15 15780000 - 001096 50F0 F00C 0000C 1766 ST 15,PCBLPTG . LIKEWISE FOR THE IPL PCB 15790000 - 00109A 50F0 F008 00008 1767 ST 15,PCBNPTG 15800000 - 1768 DROP 15 15810000 - R:2 00000 1769 USING PCB,2 15820000 - 00109E 4180 204C 0004C 1770 LA 8,PCBISA . GET THE NEW PCB'S ISA 15830000 - R:8 00000 1771 USING SA,8 15840000 - 0010A2 4190 8008 00008 1772 LA 9,SAREGS . ABOUT TO FIX INIT REGS 15850000 - R:9 00000 1773 USING REGS,9 15860000 - 0010A6 41A0 108C 010CC 1774 LA 10,UCBTAB 15870000 - 0010AA 1AA4 1775 AR 10,4 15880000 - 0010AC D203 900C A000 0000C 00000 1776 MVC REG3,0(10) . REG3 -> (RDRUCB,PRTUCB) 15890000 - 0010B2 D203 9010 A010 00010 00010 1777 MVC REG4,KEYTAB-UCBTAB(10) . REG4 = KEY 15900000 - 1778 DROP 9 15910000 - 0010B8 4144 0004 00004 1779 LA 4,4(4) . GO TO NEXT JOB STREAM 15920000 - 0010BC 4650 103C 0107C 1780 BCT 5,IPLLOOP . DO FOR EACH STREAM 15930000 - 0010C0 D202 005D 1285 0005D 012C5 1781 MVC EXTNEW+5(3),SOSEXNEW reactivate ext interrupt handler 15935002 - 0010C6 0A4B 1782 SVC C'.' . THEN ENTER TRAFFIC CONTROLLER 15940000 -1 Sample Operating System Version 2.00 Page 46 - Active Usings: PROGRAM,R0 PROGRAM+X'1040',R1 PCB,R2 SA,R8 -0 Loc Object Code Addr1 Addr2 Stmt Source Statement HLASM R6.0 2016/08/29 08.42 -00010C8 00000004 1784 STREAMS DC F'4' . NUMBER OF STREAMS 15960002 -0 010CC 1786 UCBTAB EQU * . TABLE OF PTRS TO UCB BLOCKS 15980000 - 0010CC 000010EC 1787 DC A(UCBLP1) 15990000 - 0010D0 000010F4 1788 DC A(UCBLP2) 16000000 - 0010D4 000010FC 1789 DC A(UCBLP3) 16003002 - 0010D8 00001104 1790 DC A(UCBLP4) 16006002 -0 010DC 1792 KEYTAB EQU * . TABLE OF PROTECTION KEYS 16020000 - 0010DC 00100000 1793 DC X'00100000' storage key for stream 1 region 16030002 - 0010E0 00200000 1794 DC X'00200000' storage key for stream 2 region 16034002 - 0010E4 00300000 1795 DC X'00300000' storage key for stream 3 region 16038002 - 0010E8 00400000 1796 DC X'00400000' storage key for stream 4 region 16042002 -00010EC 00000EA400000EC4 1798 UCBLP1 DC A(UCBRDR1,UCBPRT1) 16060000 - 0010F4 00000EE400000F04 1799 UCBLP2 DC A(UCBRDR2,UCBPRT2) 16070000 - 0010FC 00000F2400000F44 1800 UCBLP3 DC A(UCBRDR3,UCBPRT3) 16073002 - 001104 00000F6400000F84 1801 UCBLP4 DC A(UCBRDR4,UCBPRT4) 16076002 -0001110 1803 DS 0D 16090000 - 001110 4040404040404040 1804 IPLPCB DC CL8' ' . IPL ROUTINE PCB 16100000 - 001118 0000111000001110 1805 DC 4A(IPLPCB) 16110000 - 001128 FF000000 1806 DC X'FF000000' . INITIALIZED FLAGS 16120000 - 00112C 0000000100000000 1807 DC F'1,0' 16130000 - 001134 0000000000000000 1808 DC 5F'0,0' 16140000 - 00115C 0002000000000000 1809 DC X'0002000000000000' 16150000 - 001164 1810 DS CL76 16160000 - 0011B0 1811 DS CL84 16170000 - 001204 1812 DS CL84 16180000 -0001258 00000148 1814 IPLAPCBS DC A(LENPCB) . ALLOC LIST FOR PCB'S 16200000 - 00125C 00000000 1815 DC A(0) 16210000 - 001260 00000008 1816 DC F'8' 16220000 - 001264 01000000 1817 CORESIZ DC A(CORESIZE) . BYTES OF CORE IN OBJECT MACHINE 16230000 -0001268 1819 DS 0D 16250000 - 001268 5CC9C2E2E4D74040 1820 TYPPCB DC CL8'*IBSUP' . A TEMPLATE *IBSUP PCB 16260000 - 001270 0000000000000000 1821 DC 4A(0) 16270000 - 001280 00000000 1822 TEMPLATE DC X'00000000' . INITIALIZED FLAGS 16280000 - 001284 0000000100000000 1823 DC F'1,0' 16290000 - 00128C 0000000000000000 1824 DC 5F'0,0' 16300000 - 0012B4 FF000000000012CC 1825 DC X'FF00000000',AL3(JSP) 16310000 - 00054 1826 TYPLEN EQU *-TYPPCB 16320000 - 0012BC 8200 0018 00018 1827 EXINTRPT LPSW EXTOLD ignore external interrupts 16321002 - 0012C0 1828 DS 0F align 16322002 - 0012C0 00 1829 DC X'00' filler 16323002 - 0012C1 000FC4 1830 SOSIONEW DC AL3(IOHANDL) sample OS IO new PSW instruction addr 16324002 - 0012C4 00 1831 DC X'00' filler 16325002 - 0012C5 00027A 1832 SOSEXNEW DC AL3(EXTHANDL) sample OS ext new PSW instruction addr 16326002 - 0012C8 00 1833 DC X'00' filler 16327002 - 0012C9 0012BC 1834 IPLEXNEW DC AL3(EXINTRPT) IPLRTN ext new PSW instruction addr 16328002 -1 Sample Operating System Version 2.00 Page 47 - Active Usings: PROGRAM,R0 PROGRAM+X'1040',R1 PCB,R2 SA,R8 -0 Loc Object Code Addr1 Addr2 Stmt Source Statement HLASM R6.0 2016/08/29 08.42 -0 1836 *********************************************************************** 16340000 - 1837 * * 16350000 - 1838 * JOB STREAM PROCESSOR * 16360000 - 1839 * * 16370000 - 1840 *********************************************************************** 16380000 -0 012CC 1842 JSP EQU * . THE JOB STREAM PROCESSOR 16400000 - 0012CC 0510 1843 BALR 1,0 . (PROCESS *IBSUP) 16410000 - R:1 012CE 1844 USING *,1 . ESTABLISH ADDRESSING 16420000 - 0012CE 4120 1392 01660 1845 LA 2,JSPSUSEM . LOCK OURSELVES UNTIL 16430000 - 0012D2 0AD7 1846 SVC C'P' . WE CAN ALLOCATE STORAGE 16440000 - 0012D4 4120 139A 01668 1847 LA 2,JSPAAS . READY TO ALLOCATE 16450000 - R:2 00000 1848 USING XAX,2 16460000 - 0012D8 0AC5 1849 SVC C'E' . ALLOCATE 16470000 - 0012DA 58C0 2004 00004 1850 L 12,XAXADDR . PTR TO AUTO AREA 16480000 - 1851 DROP 2 16490000 - R:C 00000 1852 USING JSPAS,12 . USE FOR ADDRESSING 16500000 - 0012DE 4120 1392 01660 1853 LA 2,JSPSUSEM . UNLOCK OURSELVES 16510000 - 0012E2 0AE5 1854 SVC C'V' 16520000 - 0012E4 D207 C164 140A 00164 016D8 1855 MVC TREAD+0(8),=CL8'*IN' . INITIALIZE VALUES IN AUTOMATIC 16530000 - 0012EA D203 C16C 1432 0016C 01700 1856 MVC TREAD+8(4),=F'8' . STORAGE 16540000 - 0012F0 D203 C170 1436 00170 01704 1857 MVC TREAD+12(4),=C'READ' 16550000 - 0012F6 4120 C084 00084 1858 LA 2,CARD 16560000 - 0012FA 5020 C174 00174 1859 ST 2,ACARD 16570000 - 0012FE D207 C190 1412 00190 016E0 1860 MVC USERL+0(8),=CL8'USERPROG' 16580000 - 001304 D20B C178 1352 00178 01620 1861 MVC WRITE(12),SKIP 16590000 - 00130A D203 C184 143A 00184 01708 1862 MVC WRITE+12(4),=C'PRIN' 16600000 - 001310 4150 C000 00000 1863 LA 5,LINE 16610000 - 001314 5050 C188 00188 1864 ST 5,WRITE+16 16620000 - 001318 D203 C1B0 138E 001B0 0165C 1865 MVC CORE+8(4),PAGESIZE align to page boundary 16630002 - 00131E D207 C1B8 1412 001B8 016E0 1866 MVC TALK+0(8),=CL8'USERPROG' 16640000 - 001324 D203 C1C0 143E 001C0 0170C 1867 MVC TALK+8(4),=F'12' 16650000 - 00132A D203 C1D8 1442 001D8 01710 1868 MVC ANYBACK+8(4),=F'1' 16660000 - 001330 D203 C1B4 1446 001B4 01714 1869 MVC RLDTEMP,=A(0) 16670000 - 001336 5040 C18C 0018C 1870 ST 4,KEY . STORE KEY 16680000 - 00133A 1853 1871 LR 5,3 . GET PTR TO UCB PTR BLOCK 16690000 - 00133C 5835 0000 00000 1872 L 3,0(5) . GET READER POINTER 16700000 - 001340 4120 1362 01630 1873 LA 2,INSEQ . READY TO CREATE & START *IN 16710000 - 001344 0AC3 1874 SVC C'C' . CREATE 16720000 - 001346 0AE8 1875 SVC C'Y' . START 16730000 - 001348 5835 0004 00004 1876 L 3,4(5) . GET PTR TO PRINTER UCB 16740000 - 00134C 4120 136E 0163C 1877 LA 2,OUTSEQ . READY TO CREATE & START *OUT 16750000 - 001350 0AC3 1878 SVC C'C' . CREATE 16760000 - 001352 0AE8 1879 SVC C'Y' . START 16770000 -0001354 4120 C164 00164 1881 LOOP LA 2,TREAD . READT TO READ A CARD 16790000 - 001358 0AE2 1882 SVC C'S' . START TO READ 16800000 - 00135A D203 C0DC 144A 000DC 01718 1883 MVC RREPLY1,=F'132' . 132 CHARS FOR REPLY 16810000 - 001360 4120 C0D4 000D4 1884 LA 2,RREPLY 16820000 - 001364 0AD9 1885 SVC C'R' . LISTEN FOR REPLY 16830000 - 001366 D501 C0E0 145A 000E0 01728 1886 CLC REPLY(2),=C'OK' . IS REPLY 'OK'? 16840000 - 00136C 4770 10B0 0137E 1887 BNE STOP . IF NOT, STOP 16850000 - 001370 D504 145C C084 0172A 00084 1888 CLC =C'$JOB,',CARD . HAVE WE A JOB CARD? 16860000 - 001376 4780 10B6 01384 1889 BE JOB . GOOD! 16870000 - 00137A 47F0 1086 01354 1890 B LOOP . ELSE LOOP 16880000 -1 Sample Operating System Version 2.00 Page 48 - Active Usings: PROGRAM,R0 PROGRAM+X'12CE',R1 SA,R8 JSPAS,R12 -0 Loc Object Code Addr1 Addr2 Stmt Source Statement HLASM R6.0 2016/08/29 08.42 -000137E 4120 134A 01618 1891 STOP LA 2,JSPNEVER . WAIT FOR A "V" OPERATION 16890000 - 001382 0AD7 1892 SVC C'P' . THAT NEVER COMES 16900000 -0001384 9200 C1DD 001DD 1894 JOB MVI LOADED,X'00' . REMEMBER NOT LOADED 16920000 - 001388 D283 C000 141A 00000 016E8 1895 MVC LINE,=CL8' ' . CLEAR A LINE, PUT IN 16930000 - 00138E D27B C008 C007 00008 00007 1896 MVC LINE+8(124),LINE+7 .ALL BLANKS 16940000 - 001394 D24F C000 C084 00000 00084 1897 MVC LINE(80),CARD . GET READY TO SEND $JOB CARD 16950000 - 00139A 4120 C178 00178 1898 LA 2,WRITE . TO PRINTER 16960000 - 00139E 0AE2 1899 SVC C'S' . SEND IT 16970000 - 0013A0 4120 C0D4 000D4 1900 LA 2,RREPLY 16980000 - 0013A4 0AD9 1901 SVC C'R' . AND WAIT FOR REPLY 16990000 - 0013A6 4120 C190 00190 1902 LA 2,USERL . CREATE USERPROG 17000000 - 0013AA 0AC3 1903 SVC C'C' 17010000 - 0013AC 4140 C088 00088 1904 LA 4,CARD+4 . START TO SCAN CARD 17020000 - 0013B0 4530 131C 015EA 1905 BAL 3,SCAN . GET NEXT TOKEN 17030000 - 0013B4 0650 1906 BCTR 5,0 . less one to remove K 17040002 - 0013B6 5650 138A 01658 1907 O 5,COREPKLN . length of packed size for execute 17049002 - 0013BA 4450 137A 01648 1908 EX 5,COREPACK . pack core digits 17058002 - 0013BE 4F80 1382 01650 1909 CVB 8,COREPCKD . convert core requested to binary 17067002 - 0013C2 1B99 1910 SR 9,9 . is core .. 17076002 - 0013C4 8C80 0002 00002 1911 SRDL 8,2 . .. modulo four .. 17085002 - 0013C8 1299 1912 LTR 9,9 . .. equal zero? 17094002 - 0013CA 4780 1104 013D2 1913 BZ COREOK . -> yes, use it 17103002 - 0013CE 4180 8001 00001 1914 LA 8,1(,8) . -> no, up one page 17112002 - 0013D2 8980 000C 0000C 1915 COREOK SLL 8,12 . core bytes, rounded up to full pages 17121002 - 0013D6 5080 C1A8 001A8 1916 ST 8,CORE . remember core requirement 17130002 - 0013DA 4530 131C 015EA 1917 ASGNUNIT BAL 3,SCAN . GET NEXT TOKEN 17150000 - 0013DE 957E 4000 00000 1918 CLI 0(4),C'=' . IS IT AN '='? 17160000 - 0013E2 4770 1194 01462 1919 BNE LOAD . IF NOT, LOAD IN THE OBJECT DECK 17170000 - 0013E6 955C 9000 00000 1920 CLI 0(9),C'*' . HAS USER NAMED IT STARTING 17180000 - 0013EA 4780 12C8 01596 1921 BE EXPUNGE . WITH '*'? IF SO, THROW HIM OUT 17190000 - 0013EE 4120 C19C 0019C 1922 LA 2,SEQ . ELSE CREATE A PROCESS 17200000 - 0013F2 D207 C19C 141A 0019C 016E8 1923 MVC SEQ,=CL8' ' . BLANK OUT THE NAME 17210000 - 0013F8 4450 1154 01422 1924 EX 5,UNAMMOV . THEN MOVE THE RELEVANT 17220000 - 0013FC 0AC3 1925 SVC C'C' . CHARACTERS AND CREATE 17230000 - 0013FE 4120 C19C 0019C 1926 LA 2,SEQ . WE'LL START IT IN A MOMENT 17240000 - 001402 4530 131C 015EA 1927 BAL 3,SCAN . SCAN AGAIN 17250000 - 001406 4450 115A 01428 1928 EX 5,CMPIN . IS IT 'IN'? 17260000 - 00140A 4780 116C 0143A 1929 BE ASIN . IF SO, ASSIGN IT AS IN 17270000 - 00140E 4450 1160 0142E 1930 EX 5,CMPOUT . IF IT'S 'OUT' 17280000 - 001412 4780 117C 0144A 1931 BE ASOUT . ASSIGN IT AS OUT 17290000 - 001416 4450 1166 01434 1932 EX 5,CMPEXCP . IS IT 'EXCP'? 17300000 - 00141A 4780 1184 01452 1933 BE ASEXCP . IF SO, ASSIGN IT AS EXCP 17310000 - 00141E 47F0 12C8 01596 1934 B EXPUNGE . ERROR: GO ON TO NEXT JOB 17320000 - 001422 D200 C19C 9000 0019C 00000 1935 UNAMMOV MVC SEQ(0),0(9) . MOVE THE UNIT'S PROCESS NAME 17330000 - 001428 D500 9000 1461 00000 0172F 1936 CMPIN CLC 0(0,9),=C'IN ' . DOES IT SAY 'IN'? 17340000 - 00142E D500 9000 144E 00000 0171C 1937 CMPOUT CLC 0(0,9),=C'OUT ' . DOES IT SAY 'OUT'? 17350000 - 001434 D500 9000 1464 00000 01732 1938 CMPEXCP CLC 0(0,9),=C'EXCP ' . DOES IT SAY 'EXCP'? 17360000 -000143A 41B0 140A 016D8 1940 ASIN LA 11,=CL8'*IN' . POINT TO NAME OF READER HANDLER 17380000 - 00143E D203 C1A4 1452 001A4 01720 1941 SETDIM MVC UNITRTN,=A(DIM) . USE DIM AS THE INTERFACE 17390000 - 001444 0AE8 1942 SVC C'Y' 17400000 - 001446 47F0 110C 013DA 1943 B ASGNUNIT 17410000 - 00144A 41B0 1422 016F0 1944 ASOUT LA 11,=CL8'*OUT' . POINT TO NAME OF PRINTER HANDLER 17420000 - 00144E 47F0 1170 0143E 1945 B SETDIM 17430000 -1 Sample Operating System Version 2.00 Page 49 - Active Usings: PROGRAM,R0 PROGRAM+X'12CE',R1 SA,R8 JSPAS,R12 -0 Loc Object Code Addr1 Addr2 Stmt Source Statement HLASM R6.0 2016/08/29 08.42 -0001452 D203 C1A4 1456 001A4 01724 1946 ASEXCP MVC UNITRTN,=A(EXCPHNDL) . USE FOR USER SUPPLIED 17440000 - 001458 58B0 C18C 0018C 1947 L 11,KEY 17450000 - 00145C 0AE8 1948 SVC C'Y' . I/O ROUTINE 17460000 - 00145E 47F0 110C 013DA 1949 B ASGNUNIT 17470000 -0001462 4120 C1A8 001A8 1951 LOAD LA 2,CORE . READY TO ALLOCATE THE REGION 17490000 - 001466 0AC1 1952 SVC C'A' . AND ALLOCATE IT 17500000 - 001468 92FF C1DD 001DD 1953 MVI LOADED,X'FF' . REMEMBER THAT WE'RE LOADED 17510000 - 00146C 5890 C1AC 001AC 1954 L 9,CORE+4 . GET THE FIRST ADDRESS 17520000 - 001470 5840 C18C 0018C 1955 L 4,KEY . GET THE KEY 17530000 - 001474 8840 0010 00010 1956 SRL 4,16 17540000 - 001478 5640 13A2 01670 1957 O 4,FETCHPRT fetch protected 17545002 - 00147C 1839 1958 LR 3,9 . GET THE BLOCK FOLLOWING OURS 17550000 - 00147E 1A38 1959 AR 3,8 17560000 - 001480 5B30 138E 0165C 1960 LOADSK S 3,PAGESIZE . get the previous block, page aligned 17570002 - 001484 1939 1961 CR 3,9 . HAVE WE PASSED THE START? 17580000 - 001486 4740 11C4 01492 1962 BL LOADLOOP . IF SO, START LOADING 17590000 - 1963 * SSKE 4,3 . else set this block to the key 17600002 - 00148A B22B0043 1964 DC X'B22B0043' Assembler (XF) doesn't support SSKE 17603002 - 00148E 47F0 11B2 01480 1965 B LOADSK . AND BRANCH BACK 17610000 - 001492 4120 C164 00164 1966 LOADLOOP LA 2,TREAD . READ IN OBJECT DECK 17620000 - 001496 0AE2 1967 SVC C'S' . GET A CARD A'READING 17630000 - 001498 D203 C0DC 144A 000DC 01718 1968 MVC RREPLY1,=F'132' 17640000 - 00149E 4120 C0D4 000D4 1969 LA 2,RREPLY 17650000 - 0014A2 0AD9 1970 SVC C'R' . WAIT FOR ANSWER 17660000 - 0014A4 D502 C085 1469 00085 01737 1971 CLC CARD+1(3),=C'TXT' . IS IT A TXT CARD? 17670000 - 0014AA 4780 11F8 014C6 1972 BE TXTCARD 17680000 - 0014AE D502 C085 146C 00085 0173A 1973 CLC CARD+1(3),=C'RLD' . IS IT A RLD CARD? 17690000 - 0014B4 4780 1212 014E0 1974 BE RLDCARD 17700000 - 0014B8 D502 C085 146F 00085 0173D 1975 CLC CARD+1(3),=C'END' . IS IT AN END CARD? 17710000 - 0014BE 4780 1270 0153E 1976 BE ENDCARD 17720000 - 0014C2 47F0 11C4 01492 1977 B LOADLOOP . IF NONE, IGNORE. 17730000 -00014C6 58A0 C088 00088 1979 TXTCARD L 10,CARD+4 . GET THE RELATIVE ADDRESS 17750000 - 0014CA 1AA9 1980 AR 10,9 . PLUS THE ABSOLUTE ADDRESS 17760000 - 0014CC 48B0 C08E 0008E 1981 LH 11,CARD+10 . GET THE COUNT, 17770000 - 0014D0 06B0 1982 BCTR 11,0 . DECREMENTED 17780000 - 0014D2 44B0 120C 014DA 1983 EX 11,TXTMOV . AND MOVE THE TEXT 17790000 - 0014D6 47F0 11C4 01492 1984 B LOADLOOP . AND READ ANOTHER CARD! OH WOW! 17800000 - 0014DA D200 A000 C094 00000 00094 1985 TXTMOV MVC 0(0,10),CARD+16 17810000 -00014E0 48B0 C08E 0008E 1987 RLDCARD LH 11,CARD+10 . GET THE BYTE COUNT 17830000 - 0014E4 41D0 C098 00098 1988 LA 13,CARD+20 . AND AN INDEX INTO THE CARD 17840000 - 0014E8 58AD 0000 00000 1989 RLDLOOP L 10,0(13) . GET THE LOCATION TO BE RLD'D 17850000 - 0014EC 1AA9 1990 AR 10,9 . GET THE ABSOLUTE ADDRESS 17860000 - 0014EE 9103 D003 00003 1991 TM 3(13),X'03' . IS IT A FULLWORD? 17870000 - 0014F2 4770 1252 01520 1992 BNZ NOTALGND . IF NO, HANDLE AS THREE BYTES 17880000 - 0014F6 587A 0000 00000 1993 L 7,0(10) . GET THAT WORD (HAD BETTER BE 17890000 - 0014FA 1A79 1994 AR 7,9 . ONE); ADD THE RELOCATION 17900000 - 0014FC 507A 0000 00000 1995 ST 7,0(10) . ADDRESS, AND STORE IT BACK 17910000 - 001500 9101 D000 00000 1996 RLDCONT TM 0(13),X'01' . CHECK IF LONG OR SHORT FIELD 17920000 - 001504 4770 1242 01510 1997 BNZ SHORT . AND BRANCH ACCORDINGLY 17930000 - 001508 4140 0008 00008 1998 LA 4,8 . SKIP EIGHT BYTES 17940000 - 00150C 47F0 1246 01514 1999 B RLDFINI 17950000 - 001510 4140 0004 00004 2000 SHORT LA 4,4 . SKIP FOUR BYTES 17960000 -1 Sample Operating System Version 2.00 Page 50 - Active Usings: PROGRAM,R0 PROGRAM+X'12CE',R1 SA,R8 JSPAS,R12 -0 Loc Object Code Addr1 Addr2 Stmt Source Statement HLASM R6.0 2016/08/29 08.42 -0001514 1AD4 2001 RLDFINI AR 13,4 . INCREMENT THE CARD INDEX 17970000 - 001516 1BB4 2002 SR 11,4 . DECREMENT THE BYTE COUNT 17980000 - 001518 4720 121A 014E8 2003 BP RLDLOOP . AND TRY AGAIN 17990000 - 00151C 47F0 11C4 01492 2004 B LOADLOOP . OR READ ANOTHER CARD 18000000 - 001520 D202 C1B5 A000 001B5 00000 2005 NOTALGND MVC RLDTEMP+1(3),0(10) . PUT ADDRESS HERE 18010000 - 001526 5870 C1B4 001B4 2006 L 7,RLDTEMP . RELOCATE IT 18020000 - 00152A 1A79 2007 AR 7,9 18030000 - 00152C 5070 C1B4 001B4 2008 ST 7,RLDTEMP . AND PUT IT BACK TO 18040000 - 001530 D202 A000 C1B5 00000 001B5 2009 MVC 0(3,10),RLDTEMP+1 . WHERE IT BELONGS 18050000 - 001536 9400 C1B4 001B4 2010 NI RLDTEMP,X'00' . CLEAR OUT TEMPORARY 18060000 - 00153A 47F0 1232 01500 2011 B RLDCONT . AND LOOP BACK 18070000 -000153E 4120 C190 00190 2013 ENDCARD LA 2,USERL . FIND THE PCB FOR USERPROG 18090000 - 001542 0AD5 2014 SVC C'N' 18100000 - 001544 5840 C198 00198 2015 L 4,USERL+8 . GET THE ADDRESS 18110000 - R:4 00000 2016 USING PCB,4 18120000 - 001548 92FF 4019 00019 2017 MVI PCBBLOKT,X'FF' . TEMPORARILY BLOCK IT 18130000 - 00154C 5090 C198 00198 2018 ST 9,USERL+8 . STORE THE BEGINNING ADDRESS 18140000 - 001550 0AE8 2019 SVC C'Y' . THEN START IT 18150000 - 001552 5850 C18C 0018C 2020 L 5,KEY . GET THE KEY 18160000 - 001556 5650 404C 0004C 2021 O 5,PCBISA+0 . THEN OR THIS INTO THE 18170000 - 00155A 5050 404C 0004C 2022 ST 5,PCBISA+0 . FIRST WORD OF THE PCB 18180000 - 00155E 9601 404D 0004D 2023 OI PCBISA+1,X'01' . OR IN A 'PROGRAM STATE' BIT 18190000 - 001562 9200 4019 00019 2024 MVI PCBBLOKT,X'00' . AND THEN UNBLOCK IT 18200000 - 2025 DROP 4 18210000 - 001566 4120 C1B8 001B8 2026 LA 2,TALK . LISTEN TO WHAT IT SAYS 18220000 - 00156A 0AD9 2027 SVC C'R' 18230000 -000156C D207 C000 141A 00000 016E8 2029 MVC LINE(8),=CL8' ' . IF JOB FINISHED, CLEAR A LINE 18250000 - 001572 D27B C008 C007 00008 00007 2030 MVC LINE+8(124),LINE+7 18260000 - 001578 D20B C000 C1C4 00000 001C4 2031 MVC LINE(12),TALK+12 . MOVE THE MESSAGE ONTO THE LINE 18270000 - 00157E 4120 C178 00178 2032 LA 2,WRITE . AND SAY TO WRITE IT 18280000 - 001582 0AE2 2033 SVC C'S' 18290000 - 001584 4120 C1D0 001D0 2034 LA 2,ANYBACK 18300000 - 001588 0AD9 2035 SVC C'R' 18310000 - 00158A 4120 1352 01620 2036 LA 2,SKIP . SKIP TO THE TOP OF THE NEXT PAGE 18320000 - 00158E 0AE2 2037 SVC C'S' 18330000 - 001590 4120 C1D0 001D0 2038 LA 2,ANYBACK 18340000 - 001594 0AD9 2039 SVC C'R' 18350000 -0001596 5850 0270 00270 2041 EXPUNGE L 5,RUNNING . EXPUNGE A JOB: LOOK AT ALL PCBS 18370000 - 00159A 4120 C19C 0019C 2042 LA 2,SEQ 18380000 - R:5 00000 2043 USING PCB,5 18390000 - 00159E D207 C19C 5000 0019C 00000 2044 EXPLOOP MVC SEQ(8),PCBNAME . GET THE PROCESS NAME 18400000 - 0015A4 5840 5008 00008 2045 L 4,PCBNPTG . GET THE NEXT PTR 18410000 - 0015A8 955C C19C 0019C 2046 CLI SEQ+0,C'*' . IS IT A '*' PROCESS? 18420000 - 0015AC 4780 12E6 015B4 2047 BE EXPNXT . IF SO, SKIP OVER 18430000 - 0015B0 0AE9 2048 SVC C'Z' . ELSE STOP IT 18440000 - 0015B2 0AC4 2049 SVC C'D' . AND DESTROY IT 18450000 - 0015B4 1854 2050 EXPNXT LR 5,4 . GO TO THE NEXT PCB 18460000 - 0015B6 5950 0270 00270 2051 C 5,RUNNING . ARE WE THROUGH? 18470000 - 0015BA 4770 12D0 0159E 2052 BNE EXPLOOP . IF NOT, LOOP AGAIN 18480000 - 0015BE 9500 C1DD 001DD 2053 CLI LOADED,X'00' . WAS CORE ALLOCATED? 18490000 - 0015C2 4780 1086 01354 2054 BE LOOP . IF NOT, GO READ THE NEXT $JOB CARD 18500000 - 0015C6 4140 0008 00008 2055 LA 4,8 . set zero key and fetch protect 18510002 -1 Sample Operating System Version 2.00 Page 51 - Active Usings: PROGRAM,R0 PROGRAM+X'12CE',R1 PCB,R5 SA,R8 JSPAS,R12 -0 Loc Object Code Addr1 Addr2 Stmt Source Statement HLASM R6.0 2016/08/29 08.42 -00015CA 1839 2056 LR 3,9 . AND A POINTER TO THE NEXT 18520000 - 0015CC 1A38 2057 AR 3,8 . BLOCK AFTER OURS 18530000 - 0015CE 5B30 138E 0165C 2058 LOADCL S 3,PAGESIZE . get the previous block, page aligned 18540002 - 0015D2 1939 2059 CR 3,9 . ARE WE THROUGH? 18550000 - 0015D4 4740 1312 015E0 2060 BL LOADD . IF SO, GO FREE CORE 18560000 - 2061 * SSKE 4,3 . else clear storage key 18570002 - 0015D8 B22B0043 2062 DC X'B22B0043' Assembler (XF) doesn't support SSKE 18573002 - 0015DC 47F0 1300 015CE 2063 B LOADCL . AND LOOP BACK 18580000 - 0015E0 4120 C1A8 001A8 2064 LOADD LA 2,CORE 18590000 - 0015E4 0AC6 2065 SVC C'F' . FREE THE STORAGE 18600000 - 0015E6 47F0 1086 01354 2066 B LOOP . READ ANOTHER $JOB CARD 18610000 -00015EA 1B55 2068 SCAN SR 5,5 . START THE TOKEN COUNT AT ZERO 18630000 - 0015EC 4144 0001 00001 2069 SCANLOOP LA 4,1(4) . GO TO NEXT CHARACTER 18640000 - 0015F0 956B 4000 00000 2070 CLI 0(4),C',' . DO WE HAVE A DELIMITER? IF SO, 18650000 - 0015F4 4780 1342 01610 2071 BE TOKSTART 18660000 - 0015F8 957E 4000 00000 2072 CLI 0(4),C'=' . DITTO 18670000 - 0015FC 4780 1342 01610 2073 BE TOKSTART 18680000 - 001600 9540 4000 00000 2074 CLI 0(4),C' ' . DITTO 18690000 - 001604 4780 1342 01610 2075 BE TOKSTART 18700000 - 001608 4155 0001 00001 2076 LA 5,1(5) . AND UP COUNT 18710000 - 00160C 47F0 131E 015EC 2077 B SCANLOOP . AND LOOP 18720000 - 001610 1894 2078 TOKSTART LR 9,4 . SET REG9 TO START 18730000 - 001612 1B95 2079 SR 9,5 . OF THIS TOKEN 18740000 - 001614 0650 2080 BCTR 5,0 . LESS ONE FOR EXECUTE INSTRUCTION 18750000 - 001616 07F3 2081 BR 3 18760000 --001618 0000000000000000 2083 JSPNEVER DC F'0,0' . A GOOD WAY TO DIE: P(JSPNEVER) 18780000 - 001620 5CD6E4E340404040 2084 SKIP DC CL8'*OUT' . MESSAGE BLOCK FOR A NEW PAGE 18790000 - 001628 00000008 2085 DC F'8' 18800000 - 00162C E2E3C3F1 2086 DC CL4'STC1' 18810000 - 001630 5CC9D54040404040 2087 INSEQ DC CL8'*IN' . SEQ TO CREATE & START *IN 18820000 - 001638 00000AC6 2088 DC A(RDRHANDL) 18830000 - 00163C 5CD6E4E340404040 2089 OUTSEQ DC CL8'*OUT' . SEQ TO CREATE & START *OUT 18840000 - 001644 00000C48 2090 DC A(PRTHANDL) 18850000 - 001648 F200 1382 9000 01650 00000 2091 COREPACK PACK COREPCKD(1),0(1,9) . executed to pack core size req'd 18860002 - 001650 2092 COREPCKD DS D . packed core requirement goes here 18880002 - 001658 00000070 2093 COREPKLN DC X'00000070' . length of packed size for execute 18900002 - 00165C 00001000 2094 PAGESIZE DC F'4096' . page size for core computation 18920002 - 001660 0000000100000000 2095 JSPSUSEM DC F'1,0' . SEMAPHORE TO LOCK ROUTINE 18990000 - 001668 000001E0 2096 JSPAAS DC A(LENJSPAS) . ALLOCATE LIST FOR AUTO STORAGE 19000000 - 00166C 2097 DS A 19010000 - 001670 00000008 2098 FETCHPRT DC F'8' reused to or in fetch protection 19020002 -1 Sample Operating System Version 2.00 Page 52 - Active Usings: PROGRAM,R0 PROGRAM+X'12CE',R1 PCB,R5 SA,R8 JSPAS,R12 -0 Loc Object Code Addr1 Addr2 Stmt Source Statement HLASM R6.0 2016/08/29 08.42 -0 2100 *********************************************************************** 19040000 - 2101 * * 19050000 - 2102 * DEVICE INTERFACE MODULE * 19060000 - 2103 * * 19070000 - 2104 * FUNCTION: TO INTERFACE BETWEEN USERPROG AND DEVICE HANDLER * 19080000 - 2105 * DATABASES: NONE * 19090000 - 2106 * ROUTINES USED: XA, XP, XV, XR, XS * 19100000 - 2107 * PROCEDURE: ALLOCATE AUTOMATIC STORAGE; START TO READ MESSAGE * 19110000 - 2108 * FROM USER; SEND MESSAGE TO DEVICE HANDLER; * 19120000 - 2109 * CONTINUE LOOPING, SENDING MESSAGES FROM USER TO * 19130000 - 2110 * DEVICE HANDLER AND BACK. * 19140000 - 2111 * ERROR CHECKS: NONE * 19150000 - 2112 * INTERRUPTS: ON * 19160000 - 2113 * USER ACCESS: YES * 19170000 - 2114 * * 19180000 - 2115 *********************************************************************** 19190000 -0 01674 2117 DIM EQU * . THE DEVICE INTERFACE MODULE 19210000 - 001674 0510 2118 BALR 1,0 19220000 - R:1 01676 2119 USING *,1 . ESTABLISH ADDRESSING 19230000 - 001676 4120 1042 016B8 2120 LA 2,DIMSEM . LOCK UNTIL GET STORAGE 19240000 - 00167A 0AD7 2121 SVC C'P' 19250000 - 00167C 4120 104A 016C0 2122 LA 2,DIMAAS . READY TO ALLOCATE STORAGE 19260000 - R:2 00000 2123 USING XAX,2 19270000 - 001680 0AC5 2124 SVC C'E' . DO IT 19280000 - 001682 58C0 2004 00004 2125 L 12,XAXADDR . GET THE ADDRESS 19290000 - 2126 DROP 2 19300000 - 001686 4120 1042 016B8 2127 LA 2,DIMSEM . UNLOCK OURSELVES 19310000 - 00168A 0AE5 2128 SVC C'V' 19320000 - R:C 00000 2129 USING DIMAS,12 . USE 12 FOR AUTO STORAGE 19330000 - 00168C D207 C090 B000 00090 00000 2130 MVC DIMLMS,0(11) . MOVE NAME OF RECIEVER 19340000 - 001692 4180 0084 00084 2131 LA 8,132 . REG 8 = SIZE OF MESSAGE 19350000 - 001696 5080 C008 00008 2132 DIMLOOP ST 8,DIMMSG+8 . GET READY TO READ A MESSAGE 19360000 - 00169A 4120 C000 00000 2133 LA 2,DIMMSG 19370000 - 00169E 0AD9 2134 SVC C'R' . READ 19380000 - 0016A0 D207 C098 C000 00098 00000 2135 MVC DIMTEMP,DIMMSG . SAVE SENDER NAME 19390000 - 0016A6 D207 C000 C090 00000 00090 2136 MVC DIMMSG,DIMLMS . SEND IT BACK TO THE LAST GUY 19400000 - 0016AC 0AE2 2137 SVC C'S' . SEND IT 19410000 - 0016AE D207 C090 C098 00090 00098 2138 MVC DIMLMS,DIMTEMP . AND REMEMBER WHO TO SEND TO NEXT 19420000 - 0016B4 47F0 1020 01696 2139 B DIMLOOP . RELOOP 19430000 - 0016B8 0000000100000000 2140 DIMSEM DC F'1,0' . SEMAPHORE FOR ENTRY 19440000 - 0016C0 000000A0 2141 DIMAAS DC A(DIMLEN) . ALLOCATE SEQ FOR AUTO STORAGE 19450000 - 0016C4 00000000 2142 DC A(0) 19460000 - 0016C8 00000008 2143 DC F'8' 19470000 - 2144 DROP 12 19480000 -1 Sample Operating System Version 2.00 Page 53 - Active Usings: PROGRAM,R0 PROGRAM+X'1676',R1 PCB,R5 SA,R8 -0 Loc Object Code Addr1 Addr2 Stmt Source Statement HLASM R6.0 2016/08/29 08.42 -00016D0 2146 LTORG 19500000 - 0016D0 0000000000FFE8C0 2147 =A(0,CORESIZE-(VERYEND-PROGRAM)) - 0016D8 5CC9D54040404040 2148 =CL8'*IN' - 0016E0 E4E2C5D9D7D9D6C7 2149 =CL8'USERPROG' - 0016E8 4040404040404040 2150 =CL8' ' - 0016F0 5CD6E4E340404040 2151 =CL8'*OUT' - 0016F8 00000EA4 2152 =A(UCBTABLE) - 0016FC 00000FC4 2153 =A(UCBTBEND) - 001700 00000008 2154 =F'8' - 001704 D9C5C1C4 2155 =C'READ' - 001708 D7D9C9D5 2156 =C'PRIN' - 00170C 0000000C 2157 =F'12' - 001710 00000001 2158 =F'1' - 001714 00000000 2159 =A(0) - 001718 00000084 2160 =F'132' - 00171C D6E4E340 2161 =C'OUT ' - 001720 00001674 2162 =A(DIM) - 001724 00000D74 2163 =A(EXCPHNDL) - 001728 D6D2 2164 =C'OK' - 00172A 5BD1D6C26B 2165 =C'$JOB,' - 00172F C9D540 2166 =C'IN ' - 001732 C5E7C3D740 2167 =C'EXCP ' - 001737 E3E7E3 2168 =C'TXT' - 00173A D9D3C4 2169 =C'RLD' - 00173D C5D5C4 2170 =C'END' - 001740 2171 VERYEND DS 6D . beginning of free storage 19510004 - 001770 2172 LOADER DS 0D IPL loader goes here 19521002 -1 Sample Operating System Version 2.00 Page 54 - Active Usings: PROGRAM,R0 PROGRAM+X'1676',R1 PCB,R5 SA,R8 -0 Loc Object Code Addr1 Addr2 Stmt Source Statement HLASM R6.0 2016/08/29 08.42 -0 00000 2174 R0 EQU 0 19521502 - 00001 2175 R1 EQU 1 19522002 - 00002 2176 R2 EQU 2 19522502 - 00003 2177 R3 EQU 3 19523002 - 00004 2178 R4 EQU 4 19523502 - 00005 2179 R5 EQU 5 19524002 - 00006 2180 R6 EQU 6 19524502 - 00007 2181 R7 EQU 7 19525002 - 00008 2182 R8 EQU 8 19525502 - 00009 2183 R9 EQU 9 19526002 - 0000A 2184 R10 EQU 10 19526502 - 0000B 2185 R11 EQU 11 19527002 - 0000C 2186 R12 EQU 12 19527502 - 0000D 2187 R13 EQU 13 19528002 - 0000E 2188 R14 EQU 14 19528502 - 0000F 2189 R15 EQU 15 19529002 - 2190 *********************************************************************** 19530000 - 2191 * * 19540000 - 2192 * DATABASE DEFINITIONS * 19550000 - 2193 * * 19560000 - 2194 *********************************************************************** 19570000 -0000000 00000 00148 2196 PCB DSECT . PROCESS CONTROL BLOCK DEFINITION 19590000 - 000000 2197 PCBNAME DS CL8 . NAME 19600000 - 000008 2198 PCBNPTG DS F . NEXT POINTER THIS GROUP 19610000 - 00000C 2199 PCBLPTG DS F . LAST POINTER THIS GROUP 19620000 - 000010 2200 PCBNPALL DS F . NEXT POINTER ALL 19630000 - 000014 2201 PCBLPALL DS F . LAST POINTER ALL 19640000 - 000018 2202 PCBSTOPT DS C . STOPPED 19650000 - 000019 2203 PCBBLOKT DS C . BLOCKED 19660000 - 00001A 2204 PCBINSMC DS C . IN SMC 19670000 - 00001B 2205 PCBSW DS C . STOP WAITING 19680000 - 00001C 2206 PCBMSC DS CL8 . MESSAGE SEMAPHORE COMMON 19690000 - 000024 2207 PCBMSR DS CL8 . MESSAGE SEMAPHORE RECEIVER 19700000 - 00002C 2208 PCBFM DS F . FIRST MESSAGE 19710000 - 000030 2209 PCBNSW DS F . NEXT SEMAPHORE WAITER 19720000 - 000034 2210 PCBSRS DS CL8 . STOPPER SEMAPHORE 19730000 - 00003C 2211 PCBSES DS CL8 . STOPPEE SEMAPHORE 19740000 - 000044 2212 PCBASIZE DS F . AUTOMATIC STORAGE SIZE 19750000 - 000048 2213 PCBAADDR DS A . AUTOMATIC STORAGE ADDRESS 19760000 - 00004C 2214 PCBISA DS CL84 . INTERRUPT SAVE AREA 19770000 - 0000A0 2215 PCBFSA DS CL84 . FAULT SAVE AREA 19780000 - 0000F4 2216 PCBMSA DS CL84 . MEMORY SAVE AREA 19790000 - 000148 2217 DS 0D . (ALIGN) 19800000 - 00148 2218 LENPCB EQU *-PCB . (LENGTH) 19810000 -0000000 00000 00054 2220 SA DSECT . SAVE AREA DEFINITION 19830000 - 000000 2221 SAPSW DS D . PROGRAM STATUS WORD 19840000 - 000008 2222 SAREGS DS CL64 . REGISTERS 19850000 - 000048 2223 SATEMP DS CL12 . TEMPORARIES 19860000 -0000000 00000 00040 2225 REGS DSECT . REGISTER DEFINITION 19880000 - 000000 2226 REG0 DS F . REGISTER 0 19890000 - 000004 2227 REG1 DS F . REGISTER 1 19900000 - 000008 2228 REG2 DS F . REGISTER 2 19910000 -1 Sample Operating System Version 2.00 Page 55 - Active Usings: PROGRAM,R0 PROGRAM+X'1676',R1 PCB,R5 SA,R8 -0D-Loc Object Code Addr1 Addr2 Stmt Source Statement HLASM R6.0 2016/08/29 08.42 -000000C 2229 REG3 DS F . REGISTER 3 19920000 - 000010 2230 REG4 DS F . REGISTER 4 19930000 - 000014 2231 REG5 DS F . REGISTER 5 19940000 - 000018 2232 REG6 DS F . REGISTER 6 19950000 - 00001C 2233 REG7 DS F . REGISTER 7 19960000 - 000020 2234 REG8 DS F . REGISTER 8 19970000 - 000024 2235 REG9 DS F . REGISTER 9 19980000 - 000028 2236 REG10 DS F . REGISTER 10 19990000 - 00002C 2237 REG11 DS F . REGISTER 11 20000000 - 000030 2238 REG12 DS F . REGISTER 12 20010000 - 000034 2239 REG13 DS F . REGISTER 13 20020000 - 000038 2240 REG14 DS F . REGISTER 14 20030000 - 00003C 2241 REG15 DS F . REGISTER 15 20040000 -0000000 00000 00008 2243 FSB DSECT . FREE STORAGE BLOCK DEFINITIONS 20060000 - 000000 2244 FSBNEXT DS A . NEXT 20070000 - 000004 2245 FSBSIZE DS F . SIZE 20080000 -0000000 00000 00008 2247 SM DSECT . SEMAPHORE DEFINITION 20100000 - 000000 2248 SMVAL DS F . VALUE 20110000 - 000004 2249 SMPTR DS F . PTR 20120000 -0000000 00000 0000C 2251 MSG DSECT . MESSAGE DEFINITION 20140000 - 000000 2252 MSGSENDR DS A . POINTER TO SENDER'S PCB 20150000 - 000004 2253 MSGNEXT DS A . NEXT 20160000 - 000008 2254 MSGSIZE DS F . SIZE 20170000 - 00000C 2255 MSGTEXT DS 0C . TEXT 20180000 - 0000C 2256 LENMSG EQU *-MSG . (LENGTH) 20190000 -0000000 00000 0000C 2258 XAX DSECT . XA ARGUMENT LIST 20210000 - 000000 2259 XAXSIZE DS F . SIZE 20220000 - 000004 2260 XAXADDR DS F . ADDRESS 20230000 - 000008 2261 XAXALGN DS F . ALIGNMENT 20240000 -0000000 00000 00008 2263 XFX DSECT . XF ARGUMENT LIST 20260000 - 000000 2264 XFXSIZE DS F . SIZE 20270000 - 000004 2265 XFXADDR DS F . ADDRESS 20280000 -0000000 00000 00008 2267 XBX DSECT . XB ARGUMENT LIST 20300000 - 000000 2268 XBXSIZE DS F . SIZE 20310000 - 000004 2269 XBXADDR DS F . ADDRESS 20320000 -0000000 00000 00008 2271 XCX DSECT . XC ARGUMENT LIST 20340000 - 000000 2272 XCXNAME DS CL8 . NAME 20350000 -0000000 00000 00008 2274 XDX DSECT . AD ARGUMENT LIST 20370000 - 000000 2275 XDXNAME DS CL8 . NAME 20380000 -0000000 00000 0000C 2277 XNX DSECT . XN ARGUMENT LIST 20400000 - 000000 2278 XNXNAME DS CL8 . NAME 20410000 - 000008 2279 XNXADDR DS A . ADDRESS 20420000 -0000000 00000 0000C 2281 XRX DSECT . XR ARGUMENT LIST 20440000 - 000000 2282 XRXNAME DS CL8 . NAME 20450000 - 000008 2283 XRXSIZE DS F . SIZE 20460000 -1 Sample Operating System Version 2.00 Page 56 - Active Usings: PROGRAM,R0 PROGRAM+X'1676',R1 PCB,R5 SA,R8 -0D-Loc Object Code Addr1 Addr2 Stmt Source Statement HLASM R6.0 2016/08/29 08.42 -000000C 2284 XRXTEXT DS 0C . TEXT 20470000 -0000000 00000 0000C 2286 XSX DSECT . XS ARGUMENT LIST 20490000 - 000000 2287 XSXNAME DS CL8 . NAME 20500000 - 000008 2288 XSXSIZE DS F . SIZE 20510000 - 00000C 2289 XSXTEXT DS 0C . TEXT 20520000 -0000000 00000 0000C 2291 XYX DSECT . XY ARGUMENT LIST 20540000 - 000000 2292 XYXNAME DS CL8 . NAME 20550000 - 000008 2293 XYXADDR DS A . ADDR 20560000 -0000000 00000 00008 2295 XZX DSECT . XZ ARGUMENT LIST 20580000 - 000000 2296 XZXNAME DS CL8 . NAME 20590000 -0000000 00000 00080 2298 RDRHAS DSECT . READER HANDLER AUTOMATIC STORAGE 20610000 - 000000 2299 RDRHCCB DS 2F . CCB 20620000 - 000008 2300 RDRHMSG DS CL8 . MESSAGE BLOCK FOR REQUESTS 20630000 - 000010 2301 DS F'8' 20640000 - 000014 2302 DS CL8 20650000 - 00001C 2303 RDRHTEMP DS CL80 . AREA FOR $JOB IN DATA STREAM 20660000 - 00006C 2304 RDRHM DS CL8 . MESSAGE BLOCK FOR REPLY 20670000 - 000074 2305 DS F'2' 20680000 - 000078 2306 DS CL2 20690000 - 00007A 2307 JOBBIT DS 1C 20700000 - 000080 2308 DS 0D 20710000 - 00080 2309 LENRDRHA EQU *-RDRHAS . (LENGTH) 20720000 -0000000 00000 00030 2311 PRTHAS DSECT . PRINTER HANDLER AUTOMATIC STORAGE 20740000 - 000000 2312 PRTHCCB DS 2F . CCB 20750000 - 000008 2313 PRTHMSG DS CL8 . MESSAGE BLOCK FOR REQUESTS 20760000 - 000010 2314 DS F'2' 20770000 - 000014 2315 DS CL8 20780000 - 00001C 2316 PRTHM DS CL8 . MESSAGE BLOCK FOR REPLY 20790000 - 000024 2317 DS F'2' 20800000 - 000028 2318 DS CL2 20810000 - 000030 2319 DS 0D 20820000 - 00030 2320 LENPRTHA EQU *-PRTHAS . (LENGTH) 20830000 -0000000 00000 00030 2322 EXCPHAS DSECT . EXCP HANDLER AUTOMATIC STORAGE 20850000 - 000000 2323 EXCPHMSG DS CL8 . MESSAGE BLOCK FOR REQUESTS 20860000 - 000008 2324 DS F'12' 20870000 - 00000C 2325 DS CL12 20880000 - 000018 2326 EXCPHM DS CL8 . MESSAGE BLOCK FOR REPLY 20890000 - 000020 2327 DS F'12' 20900000 - 000024 2328 DS CL12 20910000 - 000030 2329 DS 0D 20920000 - 00030 2330 LENEXCPA EQU *-EXCPHAS . (LENGTH) 20930000 -0000000 00000 00020 2332 UCB DSECT . UNIT CONTROL BLOCK DEFINITION 20950000 - 000000 2333 UCBADDR DS F . ADDRESS 20960000 - 000004 2334 UCBUS DS FL8 . USER SEMAPHORE 20970000 - 00000C 2335 UCBWS DS FL8 . WAITER SEMAPHORE 20980000 - 000014 2336 UCBCSW DS FL8 . CHANNEL STATUS WORD 20990000 - 00001C 2337 UCBFPR DS CL1 . FAST PROCESSING REQUIRED 21000000 - 000020 2338 DS 0F 21010000 -1 Sample Operating System Version 2.00 Page 57 - Active Usings: PROGRAM,R0 PROGRAM+X'1676',R1 PCB,R5 SA,R8 -0D-Loc Object Code Addr1 Addr2 Stmt Source Statement HLASM R6.0 2016/08/29 08.42 -0 00020 2339 UCBLENG EQU *-UCB 21020000 -0000000 00000 001E0 2341 JSPAS DSECT . JSP AUTOMATIC STORAGE 21040000 - 000000 2342 LINE DS CL132 . PRINTED LINE 21050000 - 000084 2343 DS 0F 21060000 - 000084 2344 CARD DS CL80 . CARD READ 21070000 - 0000D4 2345 DS 0F 21080000 - 0000D4 2346 RREPLY DS CL8 . MESSAGE BLOCK FOR REPLIES 21090000 - 0000DC 2347 RREPLY1 DS F 21100000 - 0000E0 2348 REPLY DS CL132 21110000 - 000164 2349 TREAD DS 0F . MESSAGE BLOCK FOR READING 21120000 - 000164 2350 DS CL8'*IN' 21130000 - 00016C 2351 DS F'8' 21140000 - 000170 2352 DS CL4'READ' 21150000 - 000174 2353 ACARD DS A(0) 21160000 - 000178 2354 WRITE DS CL8'*OUT' . MESSAGE BLOCK TO PRINT A LINE 21170000 - 000180 2355 DS F'8' 21180000 - 000184 2356 DS CL4'PRIN' 21190000 - 000188 2357 DS A(LINE) 21200000 - 00018C 2358 KEY DS F 21210000 - 000190 2359 USERL DS CL8'USERPROG' . LIST FOR MANIPULATING USERPROG 21220000 - 000198 2360 DS F 21230000 - 00019C 2361 SEQ DS CL8' ' . COMMON ARG LIST FOR I/O PROCESS 21240000 - 0001A4 2362 UNITRTN DS A 21250000 - 0001A8 2363 CORE DS F . MEMORY ALLOCATED AND FREE 21260000 - 0001AC 2364 DS F . SEQUENCE 21270000 - 0001B0 2365 DS F'4096' align to page boundary 21280002 - 0001B4 2366 RLDTEMP DS F 21290000 - 0001B8 2367 TALK DS CL8'USERPROG' . MESSAGE BLOCK FOR MESSAGE FROM 21300000 - 0001C0 2368 DS F'12' . USERPROG 21310000 - 0001C4 2369 DS CL12 21320000 - 0001D0 2370 ANYBACK DS CL8 . MESSAGE BLOCK FOR IGNORING MESS 21330000 - 0001D8 2371 DS F'1' 21340000 - 0001DC 2372 DS CL1 21350000 - 0001DD 2373 LOADED DS C . IS CORE ALLOCATED 21360000 - 0001E0 2374 DS 0D 21370000 - 001E0 2375 LENJSPAS EQU *-JSPAS . (LENGTH) 21380000 -0000000 00000 000A0 2377 DIMAS DSECT . DEVICE INTERFACE MODULE STORAGE 21400000 - 000000 2378 DIMMSG DS CL8 . MESSAGE BLOCK 21410000 - 000008 2379 DS F'132' 21420000 - 00000C 2380 DS CL132 21430000 - 000090 2381 DIMLMS DS CL8 . LAST MESSAGE SENDER 21440000 - 000098 2382 DIMTEMP DS CL8 . TEMPORARY 21450000 - 0000A0 2383 DS 0D 21460000 - 000A0 2384 DIMLEN EQU *-DIMAS . (LENGTH) 21470000 - 2385 END 21480000 -1 Relocation Dictionary Page 58 -- Pos.Id Rel.Id Address Type Action HLASM R6.0 2016/08/29 08.42 -0 00000001 00000001 00000005 A 3 + - 00000001 00000001 0000005D A 3 + - 00000001 00000001 00000065 A 3 + - 00000001 00000001 0000006D A 3 + - 00000001 00000001 00000180 A 4 + - 00000001 00000001 0000042D A 3 + - 00000001 00000001 00000435 A 3 + - 00000001 00000001 0000043D A 3 + - 00000001 00000001 00000445 A 3 + - 00000001 00000001 0000044D A 3 + - 00000001 00000001 00000455 A 3 + - 00000001 00000001 0000045D A 3 + - 00000001 00000001 00000465 A 3 + - 00000001 00000001 0000046D A 3 + - 00000001 00000001 00000475 A 3 + - 00000001 00000001 0000047D A 3 + - 00000001 00000001 00000485 A 3 + - 00000001 00000001 0000048D A 3 + - 00000001 00000001 00000495 A 3 + - 00000001 00000001 0000049D A 3 + - 00000001 00000001 000004A5 A 3 + - 00000001 00000001 000004AD A 3 + - 00000001 00000001 000004B5 A 3 + - 00000001 00000001 000004BD A 3 + - 00000001 00000001 000004C5 A 3 + - 00000001 00000001 000004C8 A 4 + - 00000001 00000001 000004DD A 3 + - 00000001 00000001 0000059D A 3 + - 00000001 00000001 00000E5C A 4 + - 00000001 00000001 00000E90 A 4 + - 00000001 00000001 000010CC A 4 + - 00000001 00000001 000010D0 A 4 + - 00000001 00000001 000010D4 A 4 + - 00000001 00000001 000010D8 A 4 + - 00000001 00000001 000010EC A 4 + - 00000001 00000001 000010F0 A 4 + - 00000001 00000001 000010F4 A 4 + - 00000001 00000001 000010F8 A 4 + - 00000001 00000001 000010FC A 4 + - 00000001 00000001 00001100 A 4 + - 00000001 00000001 00001104 A 4 + - 00000001 00000001 00001108 A 4 + - 00000001 00000001 00001118 A 4 + - 00000001 00000001 0000111C A 4 + - 00000001 00000001 00001120 A 4 + - 00000001 00000001 00001124 A 4 + - 00000001 00000001 000012B9 A 3 + - 00000001 00000001 000012C1 A 3 + - 00000001 00000001 000012C5 A 3 + - 00000001 00000001 000012C9 A 3 + - 00000001 00000001 00001638 A 4 + - 00000001 00000001 00001644 A 4 + - 00000001 00000001 000016F8 A 4 + - 00000001 00000001 000016FC A 4 + - 00000001 00000001 00001720 A 4 + -1 Relocation Dictionary Page 59 -- Pos.Id Rel.Id Address Type Action HLASM R6.0 2016/08/29 08.42 -0 00000001 00000001 00001724 A 4 + - 00000001 00000002 0000007D A 3 + - 00000003 00000001 00001815 A 3 + - 00000003 00000001 00001819 A 3 + - 00000003 00000001 00001821 A 3 + -1 Ordinary Symbol and Literal Cross Reference Page 60 --Symbol Length Value Id R Type Asm Program Defn References HLASM R6.0 2016/08/29 08.42 -0ACARD 4 00000174 FFFFFFEB A A 2353 1859M - ANYBACK 8 000001D0 FFFFFFEB C C 2370 1868M 2034 2038 - ASEXCP 6 00001452 00000001 I 1946 1933B - ASGNUNIT 4 000013DA 00000001 I 1917 1943B 1949B - ASIN 4 0000143A 00000001 I 1940 1929B - ASOUT 4 0000144A 00000001 I 1944 1931B - CARD 80 00000084 FFFFFFEB C C 2344 1858 1888 1897 1904 1971 1973 1975 1979 1981 1985 - 1987 1988 - CARDLDR 1 00001770 00000002 J 43 62 66U - CAW 4 00000048 00000001 F F 142 74M 1369M 1481M 1561M - CAWSEM 4 00000194 00000001 F F 158 1367 1479 1559 - CCBCON1 4 00000C30 00000001 X X 1412 1361 1471 - CCWCHAIN 8 00001810 00000002 D D 123 73 - CMPEXCP 6 00001434 00000001 I 1938 1932X - CMPIN 6 00001428 00000001 I 1936 1928X - CMPOUT 6 0000142E 00000001 I 1937 1930X - CONTINUE 4 000017FC 00000002 F F 119 96M - CORE 4 000001A8 FFFFFFEB F F 2363 1865M 1916M 1951 1954 2064 - COREOK 4 000013D2 00000001 I 1915 1913B - COREPACK 6 00001648 00000001 I 2091 1908X - COREPCKD 8 00001650 00000001 D D 2092 1909 2091M - COREPKLN 4 00001658 00000001 X X 2093 1907 - CORESIZ 4 00001264 00000001 A A 1817 1747 - CORESIZE 1 01000000 00000001 A U 129 1817 2147 - CSW 8 00000040 00000001 D D 141 106 1703 1704 1707 - DIM 1 00001674 00000001 U 2117 2162 - DIMAAS 4 000016C0 00000001 A A 2141 2122 - DIMAS 1 00000000 FFFFFFEA J 2377 2129U 2384 - DIMLEN 1 000000A0 FFFFFFEA A U 2384 2141 - DIMLMS 8 00000090 FFFFFFEA C C 2381 2130M 2136 2138M - DIMLOOP 4 00001696 00000001 I 2132 2139B - DIMMSG 8 00000000 FFFFFFEA C C 2378 2132M 2133 2135 2136M - DIMSEM 4 000016B8 00000001 F F 2140 2120 2127 - DIMTEMP 8 00000098 FFFFFFEA C C 2382 2135M 2138 - EIGHT 4 00001808 00000002 F F 122 89 - ENBLECH0 2 000017EE 00000002 C C 115 72 - ENDADATA 6 00000BFE 00000001 I 1399 1390B - ENDCARD 4 0000153E 00000001 I 2013 1976B - EXCPCOMP 4 00000DB4 00000001 I 1547 1551B - EXCPDONE 4 00000E30 00000001 I 1581 1576B - EXCPFIND 2 00000DCA 00000001 I 1553 1548B - EXCPHAAS 4 00000E44 00000001 A A 1586 1527 - EXCPHAS 1 00000000 FFFFFFED J 2322 1536U 2330 - EXCPHM 8 00000018 FFFFFFED C C 2326 1566M 1567M 1568M 1569 - EXCPHMSG 8 00000000 FFFFFFED C C 2323 1537 1568 1571 - EXCPHNDL 1 00000D74 00000001 U 1521 2163 - EXCPHSEM 4 00000E3C 00000001 F F 1585 1525 1532 - EXCPLOOP 4 00000D92 00000001 I 1537 1542B 1583B - EXCPWAIT 4 00000DF0 00000001 I 1564 1578B - EXINTRPT 4 000012BC 00000001 I 1827 1834 - EXPLOOP 6 0000159E 00000001 I 2044 2052B - EXPNXT 2 000015B4 00000001 I 2050 2047B - EXPUNGE 4 00001596 00000001 I 2041 1921B 1934B - EXTHANDL 1 0000027A 00000001 U 175 146 1832 - EXTHRET 4 000002A8 00000001 I 191 180B 184B -1 Ordinary Symbol and Literal Cross Reference Page 61 --Symbol Length Value Id R Type Asm Program Defn References HLASM R6.0 2016/08/29 08.42 -0EXTNEW 1 00000058 00000001 B B 146 1741M 1781M - EXTOLD 8 00000018 00000001 D D 136 179 187 192 1827 - FETCHPRT 4 00001670 00000001 F F 2098 1957 - FSB 1 00000000 FFFFFFFC J 2243 576U 662U 731U 740U - FSBNEXT 4 00000000 FFFFFFFC A A 2244 589 590 597 665 679 680 734 735 741M - FSBPTR 4 00000180 00000001 A A 155 572 573 660 661 727 728 - FSBSEM 4 00000184 00000001 F F 156 570 616 658 693 - FSBSIZE 4 00000004 FFFFFFFC F F 2245 585 598 669 672 677 732 742M - GWINC 4 00000586 00000001 I 458 455B - GWLOOP 4 00000576 00000001 I 454 460B - GWRUN 6 000005A0 00000001 I 465 457B - IDLE 1 00000598 00000001 B B 463 461 - INSEQ 8 00001630 00000001 C C 2087 1873 - IOBACK 4 00001036 00000001 I 1724 1701B - IOCOMP 6 00000FD2 00000001 I 1696 1700B - IODEVFND 6 00000FEC 00000001 I 1703 1697B - IOHANDL 1 00000FC4 00000001 U 1690 1830 - IOHSAVE 4 000001DC 00000001 F F 161 1691M 1718 1724 - IOINTRPT 1 000017DA 00000002 U 105 70 150 - IOINTRTN 4 000017EA 00000002 I 110 107B - IONEW 1 00000078 00000001 B B 150 71M 448 1740M - IONOFPR 2 00001034 00000001 I 1723 1710B - IOOLD 8 00000038 00000001 D D 140 108M 109M 110 1694M 1696 1717 1725 - IOWAIT 4 0000102C 00000001 I 1720 1714B - IPLAPCBS 4 00001258 00000001 A A 1814 1755 - IPLCL 4 00001066 00000001 I 1748 1752B - IPLEXNEW 3 000012C9 00000001 R A 1834 1741 - IPLLOOP 4 0000107C 00000001 I 1755 1780B - IPLPCB 8 00001110 00000001 C C 1804 1742 1805 - IPLRTN 1 0000103E 00000001 U 1737 133 - IPLTH 2 00001076 00000001 I 1753 1749B - JOB 4 00001384 00000001 I 1894 1889B - JOBBIT 1 0000007A FFFFFFEF C C 2307 1323M 1337 1342M 1403M - JSP 1 000012CC 00000001 U 1842 1825 - JSPAAS 4 00001668 00000001 A A 2096 1847 - JSPAS 1 00000000 FFFFFFEB J 2341 1852U 2375 - JSPNEVER 4 00001618 00000001 F F 2083 1891 - JSPSUSEM 4 00001660 00000001 F F 2095 1845 1853 - KEY 4 0000018C FFFFFFEB F F 2358 1870M 1947 1955 2020 - KEYTAB 1 000010DC 00000001 U 1792 1777 - LENEXCPA 1 00000030 FFFFFFED A U 2330 1586 - LENJSPAS 1 000001E0 FFFFFFEB A U 2375 2096 - LENMSG 1 0000000C FFFFFFFA A U 2256 1073 1127 - LENPCB 1 00000148 FFFFFFFF A U 2218 1595 1814 - LENPRTHA 1 00000030 FFFFFFEE A U 2320 1511 - LENRDRHA 1 00000080 FFFFFFEF A U 2309 1415 - LINE 132 00000000 FFFFFFEB C C 2342 1863 1895M 1896M 1896 1897M 2029M 2030M 2030 2031M 2357 - LOAD 4 00001462 00000001 I 1951 1919B - LOADADDR 4 00001800 00000002 F F 120 76 - LOADCL 4 000015CE 00000001 I 2058 2063B - LOADD 4 000015E0 00000001 I 2064 2060B - LOADED 1 000001DD FFFFFFEB C C 2373 1894M 1953M 2053 - LOADER 8 00001770 00000001 D D 2172 49 50 52 - LOADLOOP 4 00001492 00000001 I 1966 1962B 1977B 1984B 2004B - LOADSK 4 00001480 00000001 I 1960 1965B -1 Ordinary Symbol and Literal Cross Reference Page 62 --Symbol Length Value Id R Type Asm Program Defn References HLASM R6.0 2016/08/29 08.42 -0LOOP 4 00001354 00000001 I 1881 1890B 2054B 2066B - MEMORY 4 0000018C 00000001 F F 157 593 688 - MSG 1 00000000 FFFFFFFA J 2251 839U 1050U 1139U 1147U 2256 - MSGNEXT 4 00000004 FFFFFFFA A A 2253 840 1051 1142 1143 1148M - MSGSENDR 4 00000000 FFFFFFFA A A 2252 1068 1149M - MSGSIZE 4 00000008 FFFFFFFA F F 2254 841 1059 1061 1072 1151M - MSGTEXT 1 0000000C FFFFFFFA C C 2255 1084 1162M - NEXTCARD 2 0000179C 00000002 I 80 88B - NEXTTRY 4 00000274 00000001 A A 166 424M 451 465M 1744M - NEXTTRYM 1 00000278 00000001 C C 167 422 425M 466M 1720M - NOTALGND 6 00001520 00000001 I 2005 1992B - NUMCARDS 4 00001804 00000002 F F 121 75 - OUTSEQ 8 0000163C 00000001 C C 2089 1877 - PAGESIZE 4 0000165C 00000001 F F 2094 1748 1865 1960 2058 - PCB 1 00000000 FFFFFFFF J 2196 182U 222U 317 318 319 373U 380U 419U 453U 473U - 782U 825U 830U 834U 862U 917U 920U 924U 928U 931U - 936U 956U 960U 963U 966U 970U 973U 977U 1003U 1013U - 1070U 1086U 1122U 1164U 1198U 1209U 1248U 1260U 1712U 1761U - 1765U 1769U 2016U 2043U 2218 - PCBAADDR 4 00000048 FFFFFFFF A A 2213 621M 850 - PCBASIZE 4 00000044 FFFFFFFF F F 2212 620M 852 - PCBBLOKT 1 00000019 FFFFFFFF C C 2203 183 383M 421M 454 785 785M 1713 2017M 2024M - PCBFM 4 0000002C FFFFFFFF F F 2208 836 1049 1051M 1137 1138 - PCBFSA 84 000000A0 FFFFFFFF C C 2215 318 - PCBINSMC 1 0000001A FFFFFFFF C C 2204 492 494M 517 519M 1249 - PCBISA 84 0000004C FFFFFFFF C C 2214 185 317 384M 468 785 1199 1715 1770 2021 2022M - 2023M - PCBLPALL 4 00000014 FFFFFFFF F F 2201 918M 921M 957 964M - PCBLPTG 4 0000000C FFFFFFFF F F 2199 929M 932M 967 974M 1763M 1766M - PCBMSA 84 000000F4 FFFFFFFF C C 2216 319 - PCBMSC 8 0000001C FFFFFFFF C C 2206 1047 1135 - PCBMSR 8 00000024 FFFFFFFF C C 2207 1044 1157 - PCBNAME 8 00000000 FFFFFFFF C C 2197 783M 1005 1071 1235 2044 - PCBNPALL 4 00000010 FFFFFFFF F F 2200 458 465 914 915M 922M 958 961M - PCBNPTG 4 00000008 FFFFFFFF F F 2198 925 926M 933M 968 971M 1004 1762M 1767M 2045 - PCBNSW 4 00000030 FFFFFFFF F F 2209 376 377 382M 420 - PCBSES 8 0000003C FFFFFFFF C C 2211 527 - PCBSRS 8 00000034 FFFFFFFF C C 2210 525 1255 - PCBSTOPT 1 00000018 FFFFFFFF C C 2202 456 784M 826 1204M 1251M - PCBSW 1 0000001B FFFFFFFF C C 2205 522 524M 1254M - PGMHANDL 1 000002B0 00000001 U 194 148 - PROGRAM 1 00000000 00000001 J 42 68U 127 2147 - PROTCON1 4 00000C34 00000001 X X 1413 1348 1355 1458 1465 - PROTCON2 4 00000C38 00000001 X X 1414 1351 1358 1461 1468 - PRTHAAS 4 00000D68 00000001 A A 1511 1431 - PRTHANDL 1 00000C48 00000001 U 1425 2090 - PRTHAS 1 00000000 FFFFFFEE J 2311 1440U 2320 - PRTHCCB 4 00000000 FFFFFFEE F F 2312 1441 1472M 1473M 1474M 1476M - PRTHCOMM 4 00000CEC 00000001 I 1479 1475B 1507B - PRTHLOOP 4 00000C6A 00000001 I 1442 1451B 1503B - PRTHM 8 0000001C FFFFFFEE C C 2316 1494M 1496M 1497M 1498M 1501 - PRTHMSG 8 00000008 FFFFFFEE C C 2313 1442 1455 1498 - PRTHNO 6 00000D26 00000001 I 1494 1463B 1470B - PRTHOK 6 00000D30 00000001 I 1496 1493B - PRTHPOK 4 00000CCA 00000001 I 1471 1456B -1 Ordinary Symbol and Literal Cross Reference Page 63 --Symbol Length Value Id R Type Asm Program Defn References HLASM R6.0 2016/08/29 08.42 -0PRTHPRIN 4 00000C92 00000001 I 1453 1448B - PRTHSEM 4 00000D60 00000001 F F 1510 1429 1436 - PRTHSEND 6 00000D36 00000001 I 1497 1495B - PRTHSTC1 6 00000CE0 00000001 I 1476 1450B - PRTHWAIT 4 00000D10 00000001 I 1488 1491B - PTSTATUS 2 00000D52 00000001 I 1504 1486B - QUANTUM 4 000005BC 00000001 X X 471 469 - RDRHAAS 4 00000C3C 00000001 A A 1415 1313 - RDRHANDL 1 00000AC6 00000001 U 1307 2088 - RDRHAS 1 00000000 FFFFFFEF J 2298 1322U 2309 - RDRHCCB 4 00000000 FFFFFFEF F F 2299 1324 1362M 1363M 1364M - RDRHEXC 4 00000BB8 00000001 I 1383 1379B - RDRHLOOP 4 00000AEC 00000001 I 1325 1330B 1398B - RDRHM 8 0000006C FFFFFFEF C C 2304 1385M 1391M 1392M 1393M 1396 1399M - RDRHMORE 4 00000B2E 00000001 I 1345 1338B - RDRHMSG 8 00000008 FFFFFFEF C C 2300 1325 1335 1345 1387 1393 - RDRHNO 6 00000BC0 00000001 I 1385 1340B 1353B 1360B - RDRHOK 4 00000BCA 00000001 I 1387 1382B - RDRHPOK 4 00000B60 00000001 I 1361 1346B 1381B 1408B - RDRHSEM 4 00000C28 00000001 F F 1411 1311 1318 - RDRHSEND 6 00000BE2 00000001 I 1392 1386B 1404B - RDRHSOK 6 00000BDC 00000001 I 1391 1343B 1388B - RDRHTEMP 80 0000001C FFFFFFEF C C 2303 1341 1400M - RDRHWAIT 4 00000B96 00000001 I 1374 1377B 1384B - RDSTATUS 2 00000C1C 00000001 I 1405 1372B - READ 1 000017F0 00000002 X X 116 81 - REGS 1 00000000 FFFFFFFD J 2225 1773U - REG3 4 0000000C FFFFFFFD F F 2229 1776M - REG4 4 00000010 FFFFFFFD F F 2230 1777M - REPLY 132 000000E0 FFFFFFEB C C 2348 1886 - RETURN 1 000004D8 00000001 B B 328 369 416 426 470 495 529 623 696 743 788 - 859 935 976 1011 1082 1160 1205 1253 - RETURNR 1 000004E0 00000001 U 330 328 - RLDCARD 4 000014E0 00000001 I 1987 1974B - RLDCONT 4 00001500 00000001 I 1996 2011B - RLDFINI 2 00001514 00000001 I 2001 1999B - RLDLOOP 4 000014E8 00000001 I 1989 2003B - RLDTEMP 4 000001B4 FFFFFFEB F F 2366 1869M 2005M 2006 2008M 2009 2010M - RREPLY 8 000000D4 FFFFFFEB C C 2346 1884 1900 1969 - RREPLY1 4 000000DC FFFFFFEB F F 2347 1883M 1968M - RUNNING 4 00000270 00000001 A A 165 181 221 381 467M 1711 1743M 2041 2051 - R11 1 0000000B 00000001 A U 2185 67M 68U 111D - R12 1 0000000C 00000001 A U 2186 63M 65M 66U 111D - R2 1 00000002 00000001 A U 2176 64M 65 69M 71 80M 81M 82 83M 84 95M - 96 - R3 1 00000003 00000001 A U 2177 70M 71 75M 88M - R4 1 00000004 00000001 A U 2178 76M 80 86M 86 - R5 1 00000005 00000001 A U 2179 73M 74 82 84 85 87M 87 89M 90 - SA 1 00000000 FFFFFFFE J 2220 186U 230U 1200U 1201 1203 1208U 1716U 1771U - SAPSW 8 00000000 FFFFFFFE D D 2221 187M 231M 331 1201M 1201 1202M 1717M - SAREGS 64 00000008 FFFFFFFE C C 2222 188M 232M 332 1203M 1203 1718M 1772 - SATEMP 12 00000048 FFFFFFFE C C 2223 599 682 768 817 833 854 1115 1190 1239 - SCAN 2 000015EA 00000001 I 2068 1905B 1917B 1927B - SCANLOOP 4 000015EC 00000001 I 2069 2077B - SEQ 8 0000019C FFFFFFEB C C 2361 1922 1923M 1926 1935M 2042 2044M 2046 -1 Ordinary Symbol and Literal Cross Reference Page 64 --Symbol Length Value Id R Type Asm Program Defn References HLASM R6.0 2016/08/29 08.42 -0SETDIM 6 0000143E 00000001 I 1941 1945B - SHORT 4 00001510 00000001 I 2000 1997B - SKIP 8 00001620 00000001 C C 2084 1861 2036 - SM 1 00000000 FFFFFFFB J 2247 363U 411U 687U - SMPTR 4 00000004 FFFFFFFB F F 2249 370 371 417 420M - SMVAL 4 00000000 FFFFFFFB F F 2248 364 366M 412 414M 690 - SOSEXNEW 3 000012C5 00000001 R A 1832 1781 - SOSIONEW 3 000012C1 00000001 R A 1830 1740 - STOP 4 0000137E 00000001 I 1891 1887B - STREAMS 4 000010C8 00000001 F F 1784 1754 - SVCCONST 4 00000314 00000001 F F 241 215 - SVCHANDL 1 000002B2 00000001 U 211 147 - SVCHPROT 4 00000302 00000001 I 235 220B - SVCHTABL 1 00000328 00000001 X X 243 217 244 246 248 250 252 254 256 258 260 - 262 264 266 268 270 272 274 276 278 280 - 282 284 - SVCOK 4 000002D0 00000001 I 221 237B 239B - SVCOLD 8 00000020 00000001 D D 137 216 228 231 235 331M 333 - SVCRTN 8 00000428 00000001 D D 286 218 238 - SVCSAVE 4 000004C8 00000001 F F 315 227 - SVCXPER 4 000002FA 00000001 I 233 229B - SYSSEM 4 000002DE 00000001 I 226 224B - SYSSEMSA 84 0000021C 00000001 C C 163 316 384 - TALK 8 000001B8 FFFFFFEB C C 2367 1866M 1867M 2026 2031 - TEMPLATE 4 00001280 00000001 X X 1822 785 - TIMER 4 00000050 00000001 F F 144 469M - TOKSTART 2 00001610 00000001 I 2078 2071B 2073B 2075B - TRAPSAVE 4 0000019C 00000001 F F 160 176M 188 191 212M 232 - TREAD 4 00000164 FFFFFFEB F F 2349 1855M 1856M 1857M 1881 1966 - TXTCARD 4 000014C6 00000001 I 1979 1972B - TXTMOV 6 000014DA 00000001 I 1985 1983X - TYPLEN 1 00000054 00000001 A U 1826 1759 - TYPPCB 8 00001268 00000001 C C 1820 1759 1826 - UCB 1 00000000 FFFFFFEC J 2332 1308U 1426U 1522U 1702U 2339 - UCBADDR 4 00000000 FFFFFFEC F F 2333 1370 1484 - UCBCSW 8 00000014 FFFFFFEC G F 2336 1365M 1366M 1376 1378 1380 1383M 1482M 1483M 1490 1492 - 1557M 1558M 1566 1703M 1705 1706M 1707M - UCBFPR 1 0000001C FFFFFFEC C C 2337 1709 - UCBLENG 1 00000020 FFFFFFEC A U 2339 1549 1698 - UCBLP1 4 000010EC 00000001 A A 1798 1787 - UCBLP2 4 000010F4 00000001 A A 1799 1788 - UCBLP3 4 000010FC 00000001 A A 1800 1789 - UCBLP4 4 00001104 00000001 A A 1801 1790 - UCBPRT1 4 00000EC4 00000001 X X 1627 1798 - UCBPRT2 4 00000F04 00000001 X X 1641 1799 - UCBPRT3 4 00000F44 00000001 X X 1655 1800 - UCBPRT4 4 00000F84 00000001 X X 1669 1801 - UCBRDR1 4 00000EA4 00000001 X X 1620 1798 - UCBRDR2 4 00000EE4 00000001 X X 1634 1799 - UCBRDR3 4 00000F24 00000001 X X 1648 1800 - UCBRDR4 4 00000F64 00000001 X X 1662 1801 - UCBTAB 1 000010CC 00000001 U 1786 1774 1777 - UCBTABLE 4 00000EA4 00000001 F F 1618 1546 2152 - UCBTBEND 1 00000FC4 00000001 U 1682 1606 2153 - UCBUS 8 00000004 FFFFFFEC G F 2334 1333 1394 1453 1477 1499 1554 1581 -1 Ordinary Symbol and Literal Cross Reference Page 65 --Symbol Length Value Id R Type Asm Program Defn References HLASM R6.0 2016/08/29 08.42 -0UCBWS 8 0000000C FFFFFFEC G F 2335 1374 1406 1488 1505 1564 1708 - UNAMMOV 6 00001422 00000001 I 1935 1924X - UNITRTN 4 000001A4 FFFFFFEB A A 2362 1941M 1946M - USERL 8 00000190 FFFFFFEB C C 2359 1860M 1902 2013 2015 2018M - VERYEND 8 00001740 00000001 D D 2171 155 1745M 2147 - WAITPSWD 4 000017F8 00000002 X X 118 97 - WRITE 8 00000178 FFFFFFEB C C 2354 1861M 1862M 1864M 1898 2032 - XA 1 00000600 00000001 U 557 299 565U 1593 - XABACK 2 000006B0 00000001 I 622 619B - XACOM 2 0000060E 00000001 I 566 560B - XAFOUND 4 00000662 00000001 I 596 588B - XALOOP 2 0000062A 00000001 I 577 591B - XANF 2 00000686 00000001 I 607 603B - XARETURN 4 0000069C 00000001 I 616 611B - XATOP 4 00000616 00000001 I 570 595B - XAUTO 1 00000608 00000001 U 561 313 - XAWAIT 2 00000656 00000001 I 592 578B - XAX 1 00000000 FFFFFFF9 J 2258 568U 776U 1124U 1314U 1432U 1528U 1756U 1848U 2123U - XAXADDR 4 00000004 FFFFFFF9 F F 2260 596M 780 1133 1316 1434 1530 1758 1850 2125 - XAXALGN 4 00000008 FFFFFFF9 F F 2261 574 778M 1131M - XAXSIZE 4 00000000 FFFFFFF9 F F 2259 569 777M 1130M - XB 1 00000744 00000001 U 722 298 - XBINSERT 4 00000770 00000001 I 738 730B 733B - XBLOOP 4 0000075A 00000001 I 732 737B - XBX 1 00000000 FFFFFFF7 J 2267 600U 683U 724U - XBXADDR 4 00000004 FFFFFFF7 F F 2269 604M 612M 685M 726 - XBXSIZE 4 00000000 FFFFFFF7 F F 2268 605M 613M 684M 725 - XC 1 00000780 00000001 U 764 306 - XCERR 2 000007C4 00000001 I 789 773B - XCOM 1 000005D2 00000001 U 514 297 - XCOMRET 4 000005FC 00000001 I 529 521B 523B - XCX 1 00000000 FFFFFFF6 J 2271 767U - XCXNAME 8 00000000 FFFFFFF6 C C 2272 770 783 - XD 1 000007C6 00000001 U 813 310 - XDCHECK 6 0000081A 00000001 I 850 838B - XDERR 2 00000840 00000001 I 860 824B 827B - XDLOOP 2 000007F4 00000001 I 837 849B - XDTHEN 4 0000082E 00000001 I 855 851B - XDX 1 00000000 FFFFFFF5 J 2274 816U - XDXNAME 8 00000000 FFFFFFF5 C C 2275 819 - XEXC 1 000005C0 00000001 U 489 296 - XF 1 000006B6 00000001 U 649 300 - XFBACKUP 2 00000706 00000001 I 678 670B - XFINC 4 00000708 00000001 I 679 674B - XFLINK 4 00000714 00000001 I 682 664B - XFLOOP 2 000006D4 00000001 I 663 681B - XFTHEN 2 000006F0 00000001 I 671 667B - XFVDO 2 0000073E 00000001 I 697 692B - XFVLOOP 4 0000072E 00000001 I 692 698B - XFX 1 00000000 FFFFFFF8 J 2263 653U 844U 1077U - XFXADDR 4 00000004 FFFFFFF8 F F 2265 655 845M 855M 1078M - XFXSIZE 4 00000000 FFFFFFF8 F F 2264 654 846M 856M 1079M - XH 1 00000842 00000001 U 882 312 - XHLOOP 4 00000848 00000001 I 886 888B - XHMSG1 8 00000854 00000001 C C 890 884 -1 Ordinary Symbol and Literal Cross Reference Page 66 --Symbol Length Value Id R Type Asm Program Defn References HLASM R6.0 2016/08/29 08.42 -0XHMSG2 8 0000086C 00000001 C C 893 886 - XI 1 0000087A 00000001 U 912 301 - XJ 1 000008A6 00000001 U 953 302 - XN 1 000008CA 00000001 U 998 307 - XNX 1 00000000 FFFFFFF4 J 2277 769U 818U 1000U 1116U 1191U 1240U - XNXADDR 4 00000008 FFFFFFF4 A A 2279 772 821 1010M 1119 1194 1243 - XNXFOUND 4 000008E4 00000001 I 1010 1006B - XNXLOOP 4 000008CC 00000001 I 1004 1008B - XNXNAME 8 00000000 FFFFFFF4 C C 2278 770M 819M 1005 1117M 1192M 1241M - XP 1 000004EE 00000001 U 361 294 - XPER 1 0000056A 00000001 U 447 189B 303 385B 463 - XPLOOP 2 0000050A 00000001 I 374 378B - XPTHEN 6 0000051C 00000001 I 381 375B - XPWAIT 4 00000502 00000001 I 370 368B - XQUE 1 00000A8E 00000001 U 1279 311 - XQUELOOP 4 00000A94 00000001 I 1283 1285B - XQUEM1 8 00000AA0 00000001 C C 1287 1281 - XQUEM2 8 00000AB8 00000001 C C 1290 1283 - XR 1 000008EC 00000001 U 1040 304 - XRAFT 4 00000938 00000001 I 1066 1064B - XRFILL 6 0000096C 00000001 I 1083 1057X - XRMOVE 6 00000972 00000001 I 1084 1065X - XRNOB 4 0000091C 00000001 I 1058 1056B - XRTHEN 2 0000092E 00000001 I 1063 1060B - XRX 1 00000000 FFFFFFF3 J 2281 1043U 1326U 1336U 1443U 1538U 1572U - XRXNAME 8 00000000 FFFFFFF3 C C 2282 1071M 1339 - XRXSIZE 4 00000008 FFFFFFF3 F F 2283 1053 1067M 1327M 1444M 1539M 1573M - XRXTEXT 1 0000000C FFFFFFF3 C C 2284 1055M 1083M 1083 1084M 1329 1331 1446 1447 1449 1541 - 1543 1544 1575 1577 - XS 1 00000978 00000001 U 1111 305 - XSADD 4 000009D2 00000001 I 1145 1141B - XSAFT 2 000009F4 00000001 I 1156 1154B - XSERR 2 00000A02 00000001 I 1161 1121B - XSLOOP 2 000009C0 00000001 I 1140 1144B - XSMOVE 6 00000A04 00000001 I 1162 1155X - XSX 1 00000000 FFFFFFF2 J 2286 1114U - XSXNAME 8 00000000 FFFFFFF2 C C 2287 1117 - XSXSIZE 4 00000008 FFFFFFF2 F F 2288 1126 1150 - XSXTEXT 1 0000000C FFFFFFF2 C C 2289 1162 - XV 1 00000534 00000001 U 409 295 - XVRET 4 00000566 00000001 I 426 423B - XVWAKEUP 4 00000548 00000001 I 417 415B - XY 1 00000A0A 00000001 U 1186 308 - XYERR 2 00000A40 00000001 I 1206 1196B - XYX 1 00000000 FFFFFFF1 J 2291 1189U - XYXADDR 4 00000008 FFFFFFF1 A A 2293 1202 - XYXNAME 8 00000000 FFFFFFF1 C C 2292 1192 - XZ 1 00000A42 00000001 U 1231 309 - XZERR 2 00000A8C 00000001 I 1258 1238B 1245B - XZFINE 4 00000A54 00000001 I 1239 1236B - XZINSMC 4 00000A7E 00000001 I 1254 1250B - XZSTOP 4 00000A6C 00000001 I 1249 1257B - XZX 1 00000000 FFFFFFF0 J 2295 1234U - XZXNAME 8 00000000 FFFFFFF0 C C 2296 1237 1241 - =A(DIM) 4 00001720 00000001 A 2162 1941 -1 Ordinary Symbol and Literal Cross Reference Page 67 --Symbol Length Value Id R Type Asm Program Defn References HLASM R6.0 2016/08/29 08.42 -0=A(EXCPHNDL) - 4 00001724 00000001 A 2163 1946 - =A(LENPCB) - 4 00000E64 00000001 A 1595 777 856 - =A(UCBTABLE) - 4 000016F8 00000001 A 2152 1695 - =A(UCBTBEND) - 4 00000E90 00000001 A 1606 1550 - =A(UCBTBEND) - 4 000016FC 00000001 A 2153 1699 - =A(XA) 4 00000E5C 00000001 A 1593 564 - =A(0) 4 00000E60 00000001 A 1594 772 850 1148 1365 1366 1482 1483 1557 1558 - =A(0) 4 00001714 00000001 A 2159 1869 - =A(0,CORESIZE-(VERYEND-PROGRAM)) - 4 000016D0 00000001 A 2147 1745 - =C'$JOB,' - 5 00000E98 00000001 C 1609 1389 - =C'$JOB,' - 5 0000172A 00000001 C 2165 1888 - =C'AGAIN' - 5 00000E9D 00000001 C 1610 1577 - =C'END' 3 0000173D 00000001 C 2170 1975 - =C'EXCP ' - 5 00001732 00000001 C 2167 1938 - =C'EXCP' 4 00000E8C 00000001 C 1605 1541 - =C'IN ' 3 0000172F 00000001 C 2166 1936 - =C'NO' 2 00000E94 00000001 C 1607 1385 1399 1494 - =C'OK' 2 00000E96 00000001 C 1608 1391 1496 1575 - =C'OK' 2 00001728 00000001 C 2164 1886 - =C'OUT ' 4 0000171C 00000001 C 2161 1937 - =C'PRIN' 4 00000E7C 00000001 C 1601 1447 - =C'PRIN' 4 00001708 00000001 C 2156 1862 - =C'READ' 4 00000E74 00000001 C 1599 1329 - =C'READ' 4 00001704 00000001 C 2155 1857 - =C'RLD' 3 0000173A 00000001 C 2169 1973 - =C'STC1' 4 00000E80 00000001 C 1602 1449 - =C'TXT' 3 00001737 00000001 C 2168 1971 - =CL8' ' 8 000016E8 00000001 C 2150 1895 1923 2029 - =CL8'*IN' - 8 000016D8 00000001 C 2148 1855 1940 - =CL8'*OUT' - 8 000016F0 00000001 C 2151 1944 - =CL8'USERPROG' - 8 000016E0 00000001 C 2149 1860 1866 - =F'-8' 4 00000E6C 00000001 F 1597 843 1075 1129 - =F'1' 4 00000E58 00000001 F 1592 413 - =F'1' 4 00001710 00000001 F 2158 1868 - =F'12' 4 00000E88 00000001 F 1604 1539 1567 - =F'12' 4 0000170C 00000001 F 2157 1867 - =F'132' 4 00000E84 00000001 F 1603 1474 - =F'132' 4 00001718 00000001 F 2160 1883 1968 - =F'2' 4 00000E70 00000001 F 1598 1054 1392 1497 - =F'8' 4 00000E68 00000001 F 1596 778 1131 1327 1444 1573 - =F'8' 4 00001700 00000001 F 2154 1856 - =F'80' 4 00000E78 00000001 F 1600 1364 -1 Ordinary Symbol and Literal Cross Reference Page 68 --Symbol Length Value Id R Type Asm Program Defn References HLASM R6.0 2016/08/29 08.42 -0=X'8900000020000001' - 8 00000E50 00000001 X 1591 1476 -1 Unreferenced Symbols Defined in CSECTs Page 69 -- Defn Symbol HLASM R6.0 2016/08/29 08.42 -0 50 CCW1 - 52 CCW2 - 47 IPLCARD - 134 IPLCCW1 - 135 IPLCCW2 - 133 IPLPSW - 149 MCHKNEW - 139 MCHKOLD - 148 PGMNEW - 138 PGMOLD - 48 PSWD - 2174 R0 - 2175 R1 - 2184 R10 - 2187 R13 - 2188 R14 - 2189 R15 - 2180 R6 - 2181 R7 - 2182 R8 - 2183 R9 - 147 SVCNEW - 1676 UCBCONS1 - 143 UNUSED0 - 145 UNUSED1 -1 Dsect Cross Reference Page 70 --Dsect Length Id Defn HLASM R6.0 2016/08/29 08.42 -0DIMAS 000000A0 FFFFFFEA 2377 - EXCPHAS 00000030 FFFFFFED 2322 - FSB 00000008 FFFFFFFC 2243 - JSPAS 000001E0 FFFFFFEB 2341 - MSG 0000000C FFFFFFFA 2251 - PCB 00000148 FFFFFFFF 2196 - PRTHAS 00000030 FFFFFFEE 2311 - RDRHAS 00000080 FFFFFFEF 2298 - REGS 00000040 FFFFFFFD 2225 - SA 00000054 FFFFFFFE 2220 - SM 00000008 FFFFFFFB 2247 - UCB 00000020 FFFFFFEC 2332 - XAX 0000000C FFFFFFF9 2258 - XBX 00000008 FFFFFFF7 2267 - XCX 00000008 FFFFFFF6 2271 - XDX 00000008 FFFFFFF5 2274 - XFX 00000008 FFFFFFF8 2263 - XNX 0000000C FFFFFFF4 2277 - XRX 0000000C FFFFFFF3 2281 - XSX 0000000C FFFFFFF2 2286 - XYX 0000000C FFFFFFF1 2291 - XZX 00000008 FFFFFFF0 2295 -1 Using Map Page 71 -- HLASM R6.0 2016/08/29 08.42 - Stmt -----Location----- Action ----------------Using----------------- Reg Max Last Label and Using Text - Count Id Type Value Range Id Disp Stmt -0 66 00001778 00000002 USING ORDINARY 00001770 00001000 00000002 12 000A0 107 CARDLDR,R12 - 68 0000177C 00000002 USING ORDINARY 00000000 00001000 00000001 11 00078 110 PROGRAM,R11 - 111 000017EE 00000002 DROP 11 R11 - 111 000017EE 00000002 DROP 12 R12 - 131 00000000 00000001 USING ORDINARY 00000000 00001000 00000001 0 00C38 2051 *,0 - 178 00000280 00000001 USING ORDINARY 00000280 00001000 00000001 1 002EA 189 *,1 - 182 0000028C 00000001 USING ORDINARY 00000000 00001000 FFFFFFFF 15 0004C 185 PCB,15 - 186 00000298 00000001 USING ORDINARY 00000000 00001000 FFFFFFFE 14 00008 188 SA,14 - 190 000002A8 00000001 DROP 14 14 - 190 000002A8 00000001 DROP 15 15 - 214 000002B8 00000001 USING ORDINARY 000002B8 00001000 00000001 9 00210 239 *,9 - 222 000002D4 00000001 USING ORDINARY 00000000 00001000 FFFFFFFF 15 00000 PCB,15 - 230 000002EE 00000001 USING ORDINARY 00000000 00001000 FFFFFFFE 14 00048 1190 SA,14 - 240 00000314 00000001 DROP 9 9 - 362 000004EE 00000001 USING ORDINARY 000004EE 00001000 00000001 1 0007C 385 *,1 - 363 000004EE 00000001 USING ORDINARY 00000000 00001000 FFFFFFFB 2 00004 371 SM,2 - 372 0000050A 00000001 DROP 15 15 - 373 0000050A 00000001 USING ORDINARY 00000000 00001000 FFFFFFFF 5 00030 377 PCB,5 - 379 0000051C 00000001 DROP 5 5 - 380 0000051C 00000001 USING ORDINARY 00000000 00001000 FFFFFFFF 15 0004C 384 PCB,15 - 386 00000534 00000001 DROP 2 2 - 410 00000534 00000001 USING ORDINARY 00000534 00001000 00000001 1 00924 423 *,1 - 411 00000534 00000001 USING ORDINARY 00000000 00001000 FFFFFFFB 2 00004 420 SM,2 - 418 0000054C 00000001 DROP 15 15 - 419 0000054C 00000001 USING ORDINARY 00000000 00001000 FFFFFFFF 4 00030 421 PCB,4 - 427 0000056A 00000001 DROP 2 2 - 427 0000056A 00000001 DROP 4 4 - 450 00000570 00000001 USING ORDINARY 00000570 00001000 00000001 1 0004C 469 *,1 - 453 00000576 00000001 USING ORDINARY 00000000 00001000 FFFFFFFF 10 0004C 468 PCB,10 - 472 000005C0 00000001 DROP 10 10 - 473 000005C0 00000001 USING ORDINARY 00000000 00001000 FFFFFFFF 15 00048 621 PCB,15 - 490 000005C0 00000001 USING ORDINARY 000005C0 00001000 00000001 1 00000 *,1 - 515 000005D2 00000001 USING ORDINARY 000005D2 00001000 00000001 1 0002A 523 *,1 - 558 00000600 00000001 USING ORDINARY 00000600 00001000 00000001 1 0000E 560 *,1 - 562 00000608 00000001 USING ORDINARY 00000608 00001000 00000001 1 00854 564 *,1 - 565 0000060E 00000001 USING ORDINARY 00000600 00001000 00000001 1 000B0 619 XA,1 - 568 00000612 00000001 USING ORDINARY 00000000 00001000 FFFFFFF9 7 00008 596 XAX,7 - 576 0000062A 00000001 USING ORDINARY 00000000 00001000 FFFFFFFC 4 00004 598 FSB,4 - 600 00000674 00000001 USING ORDINARY 00000000 00001000 FFFFFFF7 2 00004 613 XBX,2 - 615 0000069C 00000001 DROP 2 2 - 624 000006B6 00000001 DROP 4 4 - 624 000006B6 00000001 DROP 7 7 - 650 000006B6 00000001 USING ORDINARY 000006B6 00001000 00000001 1 00088 698 *,1 - 653 000006BA 00000001 USING ORDINARY 00000000 00001000 FFFFFFF8 7 00004 655 XFX,7 - 662 000006D4 00000001 USING ORDINARY 00000000 00001000 FFFFFFFC 6 00004 680 FSB,6 - 683 00000718 00000001 USING ORDINARY 00000000 00001000 FFFFFFF7 2 00004 685 XBX,2 - 687 00000722 00000001 USING ORDINARY 00000000 00001000 FFFFFFFB 2 00000 690 SM,2 - 691 0000072E 00000001 DROP 2 2 - 699 00000744 00000001 DROP 6 6 - 699 00000744 00000001 DROP 7 7 - 723 00000744 00000001 USING ORDINARY 00000744 00001000 00000001 1 0002C 737 *,1 - 724 00000744 00000001 USING ORDINARY 00000000 00001000 FFFFFFF7 2 00004 726 XBX,2 - 731 0000075A 00000001 USING ORDINARY 00000000 00001000 FFFFFFFC 6 00004 735 FSB,6 -1 Using Map Page 72 -- HLASM R6.0 2016/08/29 08.42 - Stmt -----Location----- Action ----------------Using----------------- Reg Max Last Label and Using Text - Count Id Type Value Range Id Disp Stmt -0 739 00000774 00000001 DROP 6 6 - 740 00000774 00000001 USING ORDINARY 00000000 00001000 FFFFFFFC 4 00004 742 FSB,4 - 744 00000780 00000001 DROP 2 2 - 744 00000780 00000001 DROP 4 4 - 765 00000780 00000001 USING ORDINARY 00000780 00001000 00000001 1 00B01 785 *,1 - 767 00000782 00000001 USING ORDINARY 00000000 00001000 FFFFFFF6 7 00000 783 XCX,7 - 769 00000786 00000001 USING ORDINARY 00000000 00001000 FFFFFFF4 2 00008 772 XNX,2 - 775 0000079A 00000001 DROP 2 2 - 776 0000079A 00000001 USING ORDINARY 00000000 00001000 FFFFFFF9 2 00008 780 XAX,2 - 781 000007AC 00000001 DROP 2 2 - 781 000007AC 00000001 DROP 15 15 - 782 000007AC 00000001 USING ORDINARY 00000000 00001000 FFFFFFFF 2 00019 785 PCB,2 - 790 000007C6 00000001 DROP 2 2 - 790 000007C6 00000001 DROP 7 7 - 814 000007C6 00000001 USING ORDINARY 000007C6 00001000 00000001 1 006A6 856 *,1 - 816 000007C8 00000001 USING ORDINARY 00000000 00001000 FFFFFFF5 7 00000 819 XDX,7 - 818 000007CC 00000001 USING ORDINARY 00000000 00001000 FFFFFFF4 2 00008 821 XNX,2 - 822 000007D8 00000001 DROP 2 2 - 825 000007DE 00000001 USING ORDINARY 00000000 00001000 FFFFFFFF 2 00018 826 PCB,2 - 829 000007E8 00000001 DROP 2 2 - 830 000007E8 00000001 USING ORDINARY 00000000 00001000 FFFFFFFF 15 00000 PCB,15 - 834 000007F0 00000001 USING ORDINARY 00000000 00001000 FFFFFFFF 8 00048 852 PCB,8 - 835 000007F0 00000001 DROP 15 15 - 839 000007FA 00000001 USING ORDINARY 00000000 00001000 FFFFFFFA 9 00008 841 MSG,9 - 844 0000080A 00000001 USING ORDINARY 00000000 00001000 FFFFFFF8 2 00004 856 XFX,2 - 861 00000842 00000001 DROP 2 2 - 861 00000842 00000001 DROP 7 7 - 861 00000842 00000001 DROP 8 8 - 861 00000842 00000001 DROP 9 9 - 862 00000842 00000001 USING ORDINARY 00000000 00001000 FFFFFFFF 15 00010 915 PCB,15 - 883 00000842 00000001 USING ORDINARY 00000842 00001000 00000001 1 0002A 888 *,1 - 913 0000087A 00000001 USING ORDINARY 0000087A 00001000 00000001 1 00000 *,1 - 916 00000882 00000001 DROP 15 15 - 917 00000882 00000001 USING ORDINARY 00000000 00001000 FFFFFFFF 10 00014 918 PCB,10 - 919 00000886 00000001 DROP 10 10 - 920 00000886 00000001 USING ORDINARY 00000000 00001000 FFFFFFFF 2 00014 922 PCB,2 - 923 0000088E 00000001 DROP 2 2 - 924 0000088E 00000001 USING ORDINARY 00000000 00001000 FFFFFFFF 15 00008 926 PCB,15 - 927 00000896 00000001 DROP 15 15 - 928 00000896 00000001 USING ORDINARY 00000000 00001000 FFFFFFFF 10 0000C 929 PCB,10 - 930 0000089A 00000001 DROP 10 10 - 931 0000089A 00000001 USING ORDINARY 00000000 00001000 FFFFFFFF 2 0000C 933 PCB,2 - 934 000008A2 00000001 DROP 2 2 - 936 000008A6 00000001 USING ORDINARY 00000000 00001000 FFFFFFFF 15 00000 PCB,15 - 954 000008A6 00000001 USING ORDINARY 000008A6 00001000 00000001 1 00000 *,1 - 955 000008A6 00000001 DROP 15 15 - 956 000008A6 00000001 USING ORDINARY 00000000 00001000 FFFFFFFF 2 00014 958 PCB,2 - 959 000008AE 00000001 DROP 2 2 - 960 000008AE 00000001 USING ORDINARY 00000000 00001000 FFFFFFFF 11 00010 961 PCB,11 - 962 000008B2 00000001 DROP 11 11 - 963 000008B2 00000001 USING ORDINARY 00000000 00001000 FFFFFFFF 10 00014 964 PCB,10 - 965 000008B6 00000001 DROP 10 10 - 966 000008B6 00000001 USING ORDINARY 00000000 00001000 FFFFFFFF 2 0000C 968 PCB,2 -1 Using Map Page 73 -- HLASM R6.0 2016/08/29 08.42 - Stmt -----Location----- Action ----------------Using----------------- Reg Max Last Label and Using Text - Count Id Type Value Range Id Disp Stmt -0 969 000008BE 00000001 DROP 2 2 - 970 000008BE 00000001 USING ORDINARY 00000000 00001000 FFFFFFFF 11 00008 971 PCB,11 - 972 000008C2 00000001 DROP 11 11 - 973 000008C2 00000001 USING ORDINARY 00000000 00001000 FFFFFFFF 10 0000C 974 PCB,10 - 975 000008C6 00000001 DROP 10 10 - 977 000008CA 00000001 USING ORDINARY 00000000 00001000 FFFFFFFF 15 00000 PCB,15 - 999 000008CA 00000001 USING ORDINARY 000008CA 00001000 00000001 1 0001A 1008 *,1 - 1000 000008CA 00000001 USING ORDINARY 00000000 00001000 FFFFFFF4 2 00008 1010 XNX,2 - 1002 000008CC 00000001 DROP 15 15 - 1003 000008CC 00000001 USING ORDINARY 00000000 00001000 FFFFFFFF 10 00008 1005 PCB,10 - 1012 000008EC 00000001 DROP 2 2 - 1012 000008EC 00000001 DROP 10 10 - 1013 000008EC 00000001 USING ORDINARY 00000000 00001000 FFFFFFFF 15 0002C 1051 PCB,15 - 1041 000008EC 00000001 USING ORDINARY 000008EC 00001000 00000001 1 00584 1075 *,1 - 1043 000008EE 00000001 USING ORDINARY 00000000 00001000 FFFFFFF3 7 0000D 1084 XRX,7 - 1050 00000900 00000001 USING ORDINARY 00000000 00001000 FFFFFFFA 5 0000C 1084 MSG,5 - 1069 00000944 00000001 DROP 15 15 - 1070 00000944 00000001 USING ORDINARY 00000000 00001000 FFFFFFFF 10 00000 1071 PCB,10 - 1077 0000095C 00000001 USING ORDINARY 00000000 00001000 FFFFFFF8 2 00004 1079 XFX,2 - 1085 00000978 00000001 DROP 2 2 - 1085 00000978 00000001 DROP 5 5 - 1085 00000978 00000001 DROP 7 7 - 1085 00000978 00000001 DROP 10 10 - 1086 00000978 00000001 USING ORDINARY 00000000 00001000 FFFFFFFF 15 00000 PCB,15 - 1112 00000978 00000001 USING ORDINARY 00000978 00001000 00000001 1 004F4 1155 *,1 - 1114 0000097A 00000001 USING ORDINARY 00000000 00001000 FFFFFFF2 7 0000C 1162 XSX,7 - 1116 0000097E 00000001 USING ORDINARY 00000000 00001000 FFFFFFF4 2 00008 1119 XNX,2 - 1122 00000990 00000001 USING ORDINARY 00000000 00001000 FFFFFFFF 4 0002C 1157 PCB,4 - 1123 00000990 00000001 DROP 2 2 - 1123 00000990 00000001 DROP 15 15 - 1124 00000990 00000001 USING ORDINARY 00000000 00001000 FFFFFFF9 2 00008 1133 XAX,2 - 1134 000009B2 00000001 DROP 2 2 - 1139 000009C0 00000001 USING ORDINARY 00000000 00001000 FFFFFFFA 9 00004 1143 MSG,9 - 1146 000009D6 00000001 DROP 9 9 - 1147 000009D6 00000001 USING ORDINARY 00000000 00001000 FFFFFFFA 5 0000C 1162 MSG,5 - 1163 00000A0A 00000001 DROP 4 4 - 1163 00000A0A 00000001 DROP 5 5 - 1163 00000A0A 00000001 DROP 7 7 - 1164 00000A0A 00000001 USING ORDINARY 00000000 00001000 FFFFFFFF 15 00000 PCB,15 - 1187 00000A0A 00000001 USING ORDINARY 00000A0A 00001000 00000001 1 00036 1196 *,1 - 1189 00000A0C 00000001 USING ORDINARY 00000000 00001000 FFFFFFF1 7 00009 1202 XYX,7 - 1191 00000A10 00000001 USING ORDINARY 00000000 00001000 FFFFFFF4 2 00008 1194 XNX,2 - 1197 00000A22 00000001 DROP 2 2 - 1197 00000A22 00000001 DROP 14 14 - 1197 00000A22 00000001 DROP 15 15 - 1198 00000A22 00000001 USING ORDINARY 00000000 00001000 FFFFFFFF 10 0004C 1204 PCB,10 - 1200 00000A26 00000001 USING ORDINARY 00000000 00001000 FFFFFFFE 13 00008 1203 SA,13 - 1207 00000A42 00000001 DROP 7 7 - 1207 00000A42 00000001 DROP 10 10 - 1207 00000A42 00000001 DROP 13 13 - 1208 00000A42 00000001 USING ORDINARY 00000000 00001000 FFFFFFFE 14 00048 1239 SA,14 - 1209 00000A42 00000001 USING ORDINARY 00000000 00001000 FFFFFFFF 15 00000 1235 PCB,15 - 1232 00000A42 00000001 USING ORDINARY 00000A42 00001000 00000001 1 0004A 1257 *,1 -1 Using Map Page 74 -- HLASM R6.0 2016/08/29 08.42 - Stmt -----Location----- Action ----------------Using----------------- Reg Max Last Label and Using Text - Count Id Type Value Range Id Disp Stmt -0 1234 00000A44 00000001 USING ORDINARY 00000000 00001000 FFFFFFF0 7 00000 1241 XZX,7 - 1240 00000A58 00000001 USING ORDINARY 00000000 00001000 FFFFFFF4 2 00008 1243 XNX,2 - 1247 00000A6C 00000001 DROP 2 2 - 1247 00000A6C 00000001 DROP 15 15 - 1248 00000A6C 00000001 USING ORDINARY 00000000 00001000 FFFFFFFF 10 00034 1255 PCB,10 - 1259 00000A8E 00000001 DROP 10 10 - 1259 00000A8E 00000001 DROP 7 7 - 1260 00000A8E 00000001 USING ORDINARY 00000000 00001000 FFFFFFFF 15 00000 PCB,15 - 1280 00000A8E 00000001 USING ORDINARY 00000A8E 00001000 00000001 1 0002A 1285 *,1 - 1293 00000AC6 00000001 DROP 14 14 - 1293 00000AC6 00000001 DROP 15 15 - 1308 00000AC6 00000001 USING ORDINARY 00000000 00001000 FFFFFFEC 3 00018 1406 UCB,3 - 1310 00000AC8 00000001 USING ORDINARY 00000AC8 00001000 00000001 1 003D0 1408 *,1 - 1314 00000AD2 00000001 USING ORDINARY 00000000 00001000 FFFFFFF9 2 00004 1316 XAX,2 - 1317 00000AD8 00000001 DROP 2 2 - 1322 00000AE4 00000001 USING ORDINARY 00000000 00001000 FFFFFFEF 12 0007A 1403 RDRHAS,12 - 1326 00000AF0 00000001 USING ORDINARY 00000000 00001000 FFFFFFF3 2 00010 1331 XRX,2 - 1332 00000B06 00000001 DROP 2 2 - 1336 00000B10 00000001 USING ORDINARY 00000000 00001000 FFFFFFF3 2 00000 1339 XRX,2 - 1344 00000B2E 00000001 DROP 2 2 - 1409 00000C28 00000001 DROP 3 3 - 1409 00000C28 00000001 DROP 12 12 - 1426 00000C48 00000001 USING ORDINARY 00000000 00001000 FFFFFFEC 3 00018 1505 UCB,3 - 1428 00000C4A 00000001 USING ORDINARY 00000C4A 00001000 00000001 1 0024C 1507 *,1 - 1432 00000C54 00000001 USING ORDINARY 00000000 00001000 FFFFFFF9 2 00004 1434 XAX,2 - 1435 00000C5A 00000001 DROP 2 2 - 1440 00000C66 00000001 USING ORDINARY 00000000 00001000 FFFFFFEE 12 00028 1501 PRTHAS,12 - 1443 00000C6E 00000001 USING ORDINARY 00000000 00001000 FFFFFFF3 2 00010 1449 XRX,2 - 1452 00000C92 00000001 DROP 2 2 - 1508 00000D5E 00000001 DROP 3 3 - 1508 00000D5E 00000001 DROP 12 12 - 1522 00000D74 00000001 USING ORDINARY 00000000 00001000 FFFFFFEC 3 00018 1581 UCB,3 - 1524 00000D76 00000001 USING ORDINARY 00000D76 00001000 00000001 1 0012E 1583 *,1 - 1528 00000D80 00000001 USING ORDINARY 00000000 00001000 FFFFFFF9 2 00004 1530 XAX,2 - 1531 00000D86 00000001 DROP 2 2 - 1536 00000D92 00000001 USING ORDINARY 00000000 00001000 FFFFFFED 12 00024 1571 EXCPHAS,12 - 1538 00000D96 00000001 USING ORDINARY 00000000 00001000 FFFFFFF3 2 00014 1544 XRX,2 - 1545 00000DB0 00000001 DROP 2 2 - 1572 00000E12 00000001 USING ORDINARY 00000000 00001000 FFFFFFF3 2 0000C 1577 XRX,2 - 1580 00000E30 00000001 DROP 2 2 - 1584 00000E3A 00000001 DROP 3 3 - 1584 00000E3A 00000001 DROP 12 12 - 1693 00000FCA 00000001 USING ORDINARY 00000FCA 00001000 00000001 1 00732 1714 *,1 - 1702 00000FEC 00000001 USING ORDINARY 00000000 00001000 FFFFFFEC 6 0001C 1709 UCB,6 - 1712 00001014 00000001 USING ORDINARY 00000000 00001000 FFFFFFFF 15 0004C 1715 PCB,15 - 1716 00001020 00000001 USING ORDINARY 00000000 00001000 FFFFFFFE 13 00008 1718 SA,13 - 1719 0000102C 00000001 DROP 13 13 - 1719 0000102C 00000001 DROP 15 15 - 1726 0000103E 00000001 DROP 1 1 - 1726 0000103E 00000001 DROP 6 6 - 1739 00001040 00000001 USING ORDINARY 00001040 00001000 00000001 1 00700 1781 *,1 - 1756 00001080 00000001 USING ORDINARY 00000000 00001000 FFFFFFF9 2 00004 1758 XAX,2 - 1761 0000108E 00000001 USING ORDINARY 00000000 00001000 FFFFFFFF 2 0000C 1763 PCB,2 -1 Using Map Page 75 -- HLASM R6.0 2016/08/29 08.42 - Stmt -----Location----- Action ----------------Using----------------- Reg Max Last Label and Using Text - Count Id Type Value Range Id Disp Stmt -0 1764 00001096 00000001 DROP 2 2 - 1765 00001096 00000001 USING ORDINARY 00000000 00001000 FFFFFFFF 15 0000C 1767 PCB,15 - 1768 0000109E 00000001 DROP 15 15 - 1769 0000109E 00000001 USING ORDINARY 00000000 00001000 FFFFFFFF 2 0004C 1770 PCB,2 - 1771 000010A2 00000001 USING ORDINARY 00000000 00001000 FFFFFFFE 8 00008 1772 SA,8 - 1773 000010A6 00000001 USING ORDINARY 00000000 00001000 FFFFFFFD 9 00010 1777 REGS,9 - 1778 000010B8 00000001 DROP 9 9 - 1844 000012CE 00000001 USING ORDINARY 000012CE 00001000 00000001 1 0046F 2091 *,1 - 1848 000012D8 00000001 USING ORDINARY 00000000 00001000 FFFFFFF9 2 00004 1850 XAX,2 - 1851 000012DE 00000001 DROP 2 2 - 1852 000012DE 00000001 USING ORDINARY 00000000 00001000 FFFFFFEB 12 001DD 2064 JSPAS,12 - 2016 00001548 00000001 USING ORDINARY 00000000 00001000 FFFFFFFF 4 0004D 2024 PCB,4 - 2025 00001566 00000001 DROP 4 4 - 2043 0000159E 00000001 USING ORDINARY 00000000 00001000 FFFFFFFF 5 00008 2045 PCB,5 - 2119 00001676 00000001 USING ORDINARY 00001676 00001000 00000001 1 0004A 2139 *,1 - 2123 00001680 00000001 USING ORDINARY 00000000 00001000 FFFFFFF9 2 00004 2125 XAX,2 - 2126 00001686 00000001 DROP 2 2 - 2129 0000168C 00000001 USING ORDINARY 00000000 00001000 FFFFFFEA 12 00098 2138 DIMAS,12 - 2144 000016CC 00000001 DROP 12 12 -1 General Purpose Register Cross Reference Page 76 -- Register References (M=modified, B=branch, U=USING, D=DROP, N=index) HLASM R6.0 2016/08/29 08.42 -0 0(0) 131U 176 191M 212 332M 559M 563M 563 618M 618 1691 1724M - 1(1) 176 177M 178U 191M 212 233M 332M 362U 410U 449M 450U 490U 515U 558U 562U 564M 565U 650U - 723U 765U 814U 883U 913U 954U 999U 1041U 1112U 1187U 1232U 1280U 1309M 1310U 1427M 1428U 1523M 1524U - 1691 1692M 1693U 1724M 1726D 1738M 1739U 1843M 1844U 2118M 2119U - 2(2) 64M 65 69M 71 80M 81M 82 83M 84 95M 96 176 191M 212 332M 363U 386D 411U - 427D 525M 527M 567 570M 593M 599M 600U 615D 616M 652 658M 682M 683U 687U 688M 691D 693M - 724U 744D 766 768M 769U 775D 776U 780M 781D 782U 790D 815 817M 818U 821M 822D 823M 823 - 825U 829D 832 833M 844U 852M 854M 861D 884M 886M 915 918 920U 923D 926 929 931U 934D - 956U 959D 966U 969D 1000U 1012D 1042 1044M 1047M 1076M 1077U 1085D 1113 1115M 1116U 1123D 1124U 1134D - 1135M 1157M 1188 1190M 1191U 1197D 1233 1239M 1240U 1247D 1255M 1281M 1283M 1311M 1313M 1314U 1317D 1318M - 1325M 1326U 1332D 1333M 1335M 1336U 1344D 1367M 1374M 1394M 1396M 1406M 1429M 1431M 1432U 1435D 1436M 1442M - 1443U 1452D 1453M 1477M 1479M 1488M 1499M 1501M 1505M 1525M 1527M 1528U 1531D 1532M 1537M 1538U 1545D 1554M - 1559M 1564M 1569M 1571M 1572U 1580D 1581M 1691 1708M 1724M 1747M 1748M 1755M 1756U 1758M 1759 1761U 1762 - 1763 1764D 1769U 1845M 1847M 1848U 1851D 1853M 1858M 1859 1873M 1877M 1881M 1884M 1891M 1898M 1900M 1902M - 1922M 1926M 1951M 1966M 1969M 2013M 2026M 2032M 2034M 2036M 2038M 2042M 2064M 2120M 2122M 2123U 2126D 2127M - 2133M - 3(3) 70M 71 75M 88M 176 191M 212 332M 364M 365M 366 367M 367 412M 413M 414 585M 586M - 587 654M 656 669M 677M 684 725M 732 742 1126M 1127M 1127N 1128M 1128N 1129M 1130 1308U 1409D - 1426U 1508D 1522U 1553M 1584D 1691 1724M 1746M 1871 1872M 1876M 1905M 1917M 1927M 1958M 1959M 1960M 1961 - 2056M 2057M 2058M 2059 2081B - 4(4) 76M 80 86M 86 176 191M 212 332M 370M 376M 381 417M 419U 424 427D 573M 576U 577M - 577 579 584 590M 602 604 624D 655M 657 673 676M 685 726M 738 740U 744D 1119M 1120M - 1120 1122U 1163D 1320M 1352 1359 1438M 1462 1469 1534M 1535M 1556 1691 1724M 1753M 1753 1775 1779M - 1779N 1870 1904M 1918 1955M 1956M 1957M 1998M 2000M 2001 2002 2015M 2016U 2025D 2045M 2050 2055M 2069M - 2069N 2070 2072 2074 2078 - 5(5) 73M 74 82 84 85 87M 87 89M 90 176 191M 212 332M 371M 373U 374M 374 377M - 379D 382 572M 589M 597 656M 657M 666 1049M 1050U 1076 1078 1085D 1133M 1145 1147U 1163D 1331M - 1341 1347 1354N 1361M 1362 1389 1400 1401 1402 1402 1446M 1457 1464N 1471M 1472 1543M 1547 1562 - 1691 1724M 1754M 1780M 1863M 1864 1871M 1872N 1876N 1906M 1907M 1908 1924 1928 1930 1932 2020M 2021M - 2022 2041M 2043U 2050M 2051 2068M 2068 2076M 2076N 2079 2080M - 6(6) 176 191M 212 332M 569M 587 608 610 620 661M 662U 663M 663 666 671 676 678M 680M - 699D 728M 729M 729 731U 735M 736M 736 739D 741 1053M 1054M 1057 1058M 1058N 1059 1061M 1062M - 1063M 1063 1065 1066M 1066N 1067 1072M 1073M 1073N 1074M 1074N 1075M 1079 1150M 1151 1152M 1153M 1153 - 1155 1324M 1369 1441M 1481 1544M 1556M 1561 1691 1695M 1696 1698M 1698N 1699 1702U 1724M 1726D - 7(7) 176 191M 212 332M 567M 568U 624D 652M 653U 699D 766M 767U 790D 815M 816U 861D 1042M 1043U - 1085D 1113M 1114U 1163D 1188M 1189U 1207D 1233M 1234U 1259D 1370M 1371 1484M 1485 1546M 1547N 1549M 1549N - 1550 1553 1691 1704M 1705M 1706 1724M 1993M 1994M 1995 2006M 2007M 2008 - 8(8) 176 191M 212 332M 491M 491 492M 493M 493N 494 516M 516 517M 518M 519 520M 520 574M - 575M 581 660M 668N 675N 678 679M 727M 734M 738N 832M 834U 855 861D 1137M 1142M 1145N 1691 - 1724M 1770M 1771U 1909M 1911M 1914M 1914 1915M 1916 1959 2057 2131M 2132 - 9(9) 176 191M 212 213M 214U 240D 332M 583M 584M 586 665M 668 675 836M 837M 837 839U 845 - 848M 861D 1138M 1139U 1140M 1140 1143M 1146D 1691 1724M 1772M 1773U 1778D 1910M 1910 1911M 1912M 1912 - 1920 1935 1936 1937 1938 1954M 1958 1961 1980 1990 1994 2007 2018 2056 2059 2078M 2079M 2091 - 10(A) 176 191M 212 215M 216M 217M 217N 218M 218N 219 223 226N 233N 234 238M 332M 451M 452 - 453U 458M 459 467 472D 601M 602M 605 609 671M 672M 673 840M 848 914M 917U 919D 922 - 925M 928U 930D 933 958M 961 963U 965D 968M 971 973U 975D 1001M 1003U 1004M 1007 1009M 1010 - 1012D 1068M 1070U 1085D 1194M 1195M 1195 1198U 1207D 1243M 1244M 1244 1248U 1259D 1321M 1321 1351M 1352 - 1358M 1359 1439M 1439 1461M 1462 1468M 1469 1691 1724M 1774M 1775M 1776 1777 1979M 1980M 1985 1989M - 1990M 1993N 1995N 2005 2009 - 11(B) 67M 68U 111D 176 191M 212 215M 226M 227N 332M 452M 459 607M 608M 612 689M 690M 692M - 841M 842M 842N 843M 846 957M 960U 962D 964 967M 970U 972D 974 1347M 1348M 1354M 1355M 1457M - 1458M 1464M 1465M 1534 1691 1724M 1940M 1944M 1947M 1981M 1982M 1983 1987M 2002M 2130 - 12(C) 63M 65M 66U 111D 176 191M 212 215M 235M 236M 332M 598M 609M 610M 613 1316M 1322U 1409D - 1434M 1440U 1508D 1530M 1536U 1584D 1691 1724M 1850M 1852U 2125M 2129U 2144D - 13(D) 176 191M 212 215M 236 332M 579M 580M 581M 582M 582N 583 596 601 607 621 1199M 1200U -1 General Purpose Register Cross Reference Page 77 -- Register References (M=modified, B=branch, U=USING, D=DROP, N=index) HLASM R6.0 2016/08/29 08.42 -0 1207D 1691 1715M 1716U 1719D 1724M 1988M 1989N 1991 1996 2001M - 14(E) 176 185M 186U 190D 191M 212 215M 225M 227M 230U 332M 468M 1197D 1201 1203 1208U 1293D 1691 - 1724M - 15(F) 176 181M 182U 190D 191M 212 221M 222U 225 332M 372D 380U 418D 473U 781D 830U 835D 862U - 916D 921 924U 927D 932 936U 955D 977U 1001 1002D 1007 1013U 1069D 1086U 1123D 1149 1164U 1197D - 1209U 1247D 1260U 1293D 1691 1711M 1712U 1719D 1724M 1742M 1743 1744 1765U 1766 1767 1768D -1 Diagnostic Cross Reference and Assembler Summary Page 78 -- HLASM R6.0 2016/08/29 08.42 -0Statements Flagged -0 178(P1,178), 214(P1,214), 362(P1,362), 410(P1,410), 450(P1,450), 490(P1,490), 515(P1,515), 558(P1,558), - 562(P1,562), 565(P1,565), 650(P1,650), 723(P1,723), 765(P1,765), 814(P1,814), 834(P1,834), 883(P1,883), 913(P1,913), - 954(P1,954), 999(P1,999), 1041(P1,1041), 1112(P1,1112), 1122(P1,1122), 1187(P1,1187), 1232(P1,1232), 1280(P1,1280), - 1310(P1,1310), 1428(P1,1428), 1524(P1,1524), 1693(P1,1673) - - 29 Statements Flagged in this Assembly 4 was Highest Severity Code -0HIGH LEVEL ASSEMBLER, 5696-234, RELEASE 6.0, PTF UK37157 -0SYSTEM: z/OS 01.10.00 JOBNAME: IBMUSER7 STEPNAME: *OMVSEX PROCSTEP: (NOPROC) -0Data Sets Allocated for this Assembly - Con DDname Data Set Name Volume Member - P1 SYSIN /mbhfs/sos4k.asm - L1 SYSLIB CEE.SCEEMAC ZAPRD2 - L2 SYS1.MACLIB ZARES1 - L3 SYS1.MODGEN ZARES1 - SYSLIN /mbhfs/sos4k.o - SYSPRINT /dev/fd1 - SYSTERM /dev/fd2 - - 1028584K allocated to Buffer Pool Storage required 360K - 2341 Primary Input Records Read 0 Library Records Read 0 Work File Reads - 0 ASMAOPT Records Read 3473 Primary Print Records Written 0 Work File Writes - 137 Object Records Written 0 ADATA Records Written -0Assembly Start Time: 08.42.21 Stop Time: 08.42.22 Processor Time: 00.00.00.3254 - Return Code 004 diff --git a/SOS_OS/source/sosoutwin.txt b/SOS_OS/source/sosoutwin.txt deleted file mode 100644 index e69de29..0000000 diff --git a/SOS_OS/source/sosuserc.asm b/SOS_OS/source/sosuserc.asm deleted file mode 100644 index da07fa2..0000000 --- a/SOS_OS/source/sosuserc.asm +++ /dev/null @@ -1,148 +0,0 @@ - TITLE 'Sample Operating System Version 2.00: Demo Program' 00010000 -*********************************************************************** 00020000 -* * 00030000 -* ***************************************************************** * 00040000 -* * * * 00050000 -* * Sample Operating System * * 00060000 -* * Version 2.00 * * 00070000 -* * Developed at MIT 1973 * * 00080000 -* * * * 00090000 -* ***************************************************************** * 00100000 -* * 00110000 -* Title: Demo user program for use with the Sample Operating System * 00120000 -* * 00130000 -* Function: * 00140000 -* * 00150000 -* - print logo * 00160000 -* - read card containing message to print * 00170000 -* - format entry point to six hex digits and place * 00180000 -* it in columnes 54-59 of the message read * 00190000 -* - print message * 00200000 -* - format start message and parameter prompt for console at 009 * 00201002 -* - setup console CCWs * 00202002 -* - display start message and parameter prompt on console * 00203002 -* - wait for parameter input * 00204002 -* - print parameters entered * 00205002 -* - format end message and display it on console * 00206002 -* - exit * 00210000 -* * 00220000 -*********************************************************************** 00230000 - PUNCH '$JOB,2K,READER=IN,PRINTER=OUT,CONSOLE=EXCP' job card 00240002 -SOSUSERC CSECT , begin of program 00248002 - BALR R15,0 establish addressability .. 00256002 - USING *,R15 .. and tell assembler 00264002 - LA R2,PRNTLOGO send logo .. 00272002 - SVC C'S' .. to printer 00290000 - MVC WAITMSG+8(4),WAITLNG initialize reply length 00300002 - LA R2,WAITMSG wait for reply indicating .. 00303002 - SVC C'R' .. printing is completed 00310000 - LA R2,READCARD read card .. 00320002 - SVC C'S' .. containing next message 00330000 - MVC WAITMSG+8(4),WAITLNG initialize reply length 00340002 - LA R2,WAITMSG wait for reply indicating .. 00343002 - SVC C'R' .. card has been read 00350000 - LR R2,R15 base address .. 00360002 - S R2,ENTRY .. minus two .. 00367002 - ST R2,ENTRY .. is entry address 00374002 - UNPK ENTRYU(7),ENTRY+1(4) unpack address 00390000 - TR ENTRYU(6),HEXTAB translate to hex 00400000 - MVC LINE+53(6),ENTRYU move address into message 00410000 - LA R2,PRINTMSG send message .. 00420002 - SVC C'S' .. to printer 00430000 - MVC WAITMSG+8(4),WAITLNG initialize reply length 00440002 - LA R2,WAITMSG wait for reply indicating .. 00443002 - SVC C'R' .. printing is completed 00450000 - MVC STREAMNO(1),LINE+25 move job info .. 00450202 - MVC CNSENTRY(6),LINE+53 .. into console prompt 00450402 - MVI LINE,C' ' blank .. 00450602 - MVC LINE+1(131),LINE .. print line 00450802 - LA R2,CNSPRMPT console prompt address 00451002 - ICM R2,B'1000',WRITE insert write command 00451202 - ST R2,CCW1 store CCW 00451402 - LA R2,LCNPRMPT length of console prompt 00451602 - ST R2,CCW1+4 store length in CCW, zero all flags 00451802 - OI CCW1+4,X'40' indicate command chaining 00452002 - LA R2,CNSINPUT address of console input area 00452202 - ICM R2,B'1000',READ insert read command 00452402 - ST R2,CCW2 store CCW 00452602 - LA R2,LCNSINPT length of console input area 00452802 - ST R2,CCW2+4 store length in CCW, zero all flags 00453002 - OI CCW2+4,X'20' suppress length indication 00453202 - LA 2,CONSOLIO send prompt .. 00453402 - SVC C'S' .. to console 00453602 - MVC WAITMSG+8(4),WAITLNG initialize reply length 00453802 - LA 2,WAITMSG wait for reply indicating .. 00454002 - SVC C'R' .. console I/O is completed 00454202 - LA 2,CONSOLOK release .. 00454402 - SVC C'S' .. console 00454602 - LA R2,LPE+LCNSINPT-1 total length of print message .. 00454802 - SH R2,WAITMSG+18 .. minus residual count minus one 00455002 - EX R2,GETINPUT move to print line 00455202 - LA R2,PRINTMSG send message .. 00455402 - SVC C'S' .. to printer 00455602 - MVC WAITMSG+8(4),WAITLNG initialize reply length 00455802 - LA R2,WAITMSG wait for reply indicating .. 00456002 - SVC C'R' .. printing is completed 00456202 - MVC CNSPRMPT+4(7),ENDED make it a termination message 00456402 - LA R2,CNSPRMPT console termination message address 00456602 - ICM R2,B'1000',WRITEACR insert write command 00456802 - ST R2,CCW1 store CCW 00457002 - LA R2,23 length of console prompt 00457202 - ST R2,CCW1+4 store length in CCW, zero all flags 00457402 - LA 2,CONSOLIO send prompt .. 00457602 - SVC C'S' .. to console 00457802 - MVC WAITMSG+8(4),WAITLNG initialize reply length 00458002 - LA 2,WAITMSG wait for reply indicating .. 00458202 - SVC C'R' .. console I/O is completed 00458402 - LA 2,CONSOLOK release .. 00458602 - SVC C'S' .. console 00458802 - SVC C'H' halt job 00460000 -GETINPUT MVC LINE(1),PE move output message to print line (EX'ed) 00460502 -READ DC X'0A' console read 00461002 -WRITE DC X'01' console write 00461502 -WRITEACR DC X'09' console write with auto CR 00462002 -CCW1 DS D console write CCW 00462502 -CCW2 DS D console read CCW 00463002 -PE DC C'Parameters entered on console: ' echo parameters 00463502 -LPE EQU *-PE length of echo message 00464002 -CNSINPUT DC 40C' ' input from console 00464502 -LCNSINPT EQU *-CNSINPUT length of console input area 00465002 -CNSPRMPT DC C'Job started on stream-' prompt to .. 00465502 -STREAMNO DC C' ' .. be .. 00466002 - DC C', user program entry point = ' .. issued .. 00466502 -CNSENTRY DC C' ' .. on .. 00467002 - DC C', enter parameters: ' .. console 00467502 -LCNPRMPT EQU *-CNSPRMPT length of console prompt 00468002 -ENDED DC CL7'ended' convert started to ended message 00468502 - DS 0F align parameter lists 00470000 -PRNTLOGO DC CL8'PRINTER' print a line: process name .. 00480002 - DC F'8' .. length of command .. 00486002 - DC C'PRIN',A(LOGO) .. command 00492002 -LOGO DC CL132'--- Sample Operating System Version 2.00 ---' logo 00498002 -PRINTMSG DC CL8'PRINTER' print a line: process name .. 00504002 - DC F'8' .. length of command .. 00510002 - DC C'PRIN',A(LINE) .. command 00516002 -LINE DC 132C' ' line to be printed or card read 00522002 -WAITLNG DC F'8' maximum length of reply to be received 00528002 -WAITMSG DS CL8 wait for msg: originator returned here 00534002 - DS F .. length of return area .. 00540002 - DS CL8 .. message received 00546002 -READCARD DC CL8'READER' read a card: process name .. 00552002 - DC F'8' .. length of command .. 00558002 - DC C'READ',A(LINE) .. command 00564002 -CONSOLIO DC CL8'CONSOLE' perform console I/O: process name .. 00570002 - DC F'12' .. length of command .. 00576002 - DC C'EXCP',X'00000009',A(CCW1) .. command 00582002 -CONSOLOK DC CL8'CONSOLE' release console: process name .. 00588002 - DC F'2' .. length of command .. 00594002 - DC C'OK' .. command 00600002 -ENTRY DC F'2' entry address will end up here 00620000 - DC X'00' food for UNPK 00630000 -ENTRYU DC 7X'00' unpacked entry point plus excess byte 00640000 - ORG *-240 first 240 bytes of HEXTAB are not needed 00650000 -HEXTAB DS 0X translation table for unpacked to hex 00660000 - ORG , restore current location 00670000 - DC C'0123456789ABCDEF' hex characters 00680000 -R2 EQU 2 register 2 00690002 -R15 EQU 15 register 15 00690502 - END , end of program 00691002 diff --git a/SOS_OS/source/sosuseroutput.txt b/SOS_OS/source/sosuseroutput.txt deleted file mode 100644 index e389d77..0000000 --- a/SOS_OS/source/sosuseroutput.txt +++ /dev/null @@ -1,301 +0,0 @@ -1 High Level Assembler Option Summary (PTF UK37157) Page 1 -- HLASM R6.0 2016/08/29 09.36 -0 No Overriding ASMAOPT Parameters - Overriding Parameters- OBJECT,ESD,RXREF,RLD,XREF(SHORT,UNREFS),DXREF,LIST,TERM,ASA - No Process Statements - - - Options for this Assembly -0 NOADATA - ALIGN - 3 ASA - BATCH - CODEPAGE(047C) - NOCOMPAT - NODBCS - NODECK - 3 DXREF - 3 ESD - NOEXIT - FLAG(0,ALIGN,CONT,EXLITW,NOIMPLEN,NOPAGE0,PUSH,RECORD,NOSUBSTR,USING0) - NOFOLD - NOGOFF - NOINFO - LANGUAGE(EN) - NOLIBMAC - LINECOUNT(60) - 3 LIST(121) - MACHINE(,NOLIST) - MXREF(SOURCE) - 3 OBJECT - OPTABLE(UNI,NOLIST) - NOPCONTROL - NOPESTOP - NOPROFILE - NORA2 - NORENT - 3 RLD - 3 RXREF - SECTALGN(8) - SIZE(MAX) - NOSUPRWARN - SYSPARM() - 3 TERM(WIDE) - NOTEST - THREAD - NOTRANSLATE - TYPECHECK(MAGNITUDE,REGISTER) - USING(NOLIMIT,MAP,WARN(15)) - NOWORKFILE - 3 XREF(SHORT,UNREFS) - - Standard DD Names- SYSLIN SYSLIB SYSIN SYSPRINT SYSPUNCH SYSUT1 SYSTERM SYSADATA ASMAOPT - Overriding DD Names- SYS00013 SYS00005 SYS00011 SYS00012 SYS00010 -1 External Symbol Dictionary Page 2 --Symbol Type Id Address Length Owner Id Flags Alias-of HLASM R6.0 2016/08/29 09.36 -0SOSUSERC SD 00000001 00000000 0000035C 00 -1 Sample Operating System Version 2.00: Demo Program Page 3 - Active Usings: None -0 Loc Object Code Addr1 Addr2 Stmt Source Statement HLASM R6.0 2016/08/29 09.36 -0 2 *********************************************************************** 00020000 - 3 * * 00030000 - 4 * ***************************************************************** * 00040000 - 5 * * * * 00050000 - 6 * * Sample Operating System * * 00060000 - 7 * * Version 2.00 * * 00070000 - 8 * * Developed at MIT 1973 * * 00080000 - 9 * * * * 00090000 - 10 * ***************************************************************** * 00100000 - 11 * * 00110000 - 12 * Title: Demo user program for use with the Sample Operating System * 00120000 - 13 * * 00130000 - 14 * Function: * 00140000 - 15 * * 00150000 - 16 * - print logo * 00160000 - 17 * - read card containing message to print * 00170000 - 18 * - format entry point to six hex digits and place * 00180000 - 19 * it in columnes 54-59 of the message read * 00190000 - 20 * - print message * 00200000 - 21 * - format start message and parameter prompt for console at 009 * 00201002 - 22 * - setup console CCWs * 00202002 - 23 * - display start message and parameter prompt on console * 00203002 - 24 * - wait for parameter input * 00204002 - 25 * - print parameters entered * 00205002 - 26 * - format end message and display it on console * 00206002 - 27 * - exit * 00210000 - 28 * * 00220000 - 29 *********************************************************************** 00230000 - 30 PUNCH '$JOB,2K,READER=IN,PRINTER=OUT,CONSOLE=EXCP' job card 00240002 - 000000 00000 0035C 31 SOSUSERC CSECT , begin of program 00248002 - 000000 05F0 32 BALR R15,0 establish addressability .. 00256002 - R:F 00002 33 USING *,R15 .. and tell assembler 00264002 - 000002 4120 F1BA 001BC 34 LA R2,PRNTLOGO send logo .. 00272002 - 000006 0AE2 35 SVC C'S' .. to printer 00290000 - 000008 D203 F2F6 F2EA 002F8 002EC 36 MVC WAITMSG+8(4),WAITLNG initialize reply length 00300002 - 00000E 4120 F2EE 002F0 37 LA R2,WAITMSG wait for reply indicating .. 00303002 - 000012 0AD9 38 SVC C'R' .. printing is completed 00310000 - 000014 4120 F302 00304 39 LA R2,READCARD read card .. 00320002 - 000018 0AE2 40 SVC C'S' .. containing next message 00330000 - 00001A D203 F2F6 F2EA 002F8 002EC 41 MVC WAITMSG+8(4),WAITLNG initialize reply length 00340002 - 000020 4120 F2EE 002F0 42 LA R2,WAITMSG wait for reply indicating .. 00343002 - 000024 0AD9 43 SVC C'R' .. card has been read 00350000 - 000026 182F 44 LR R2,R15 base address .. 00360002 - 000028 5B20 F33E 00340 45 S R2,ENTRY .. minus two .. 00367002 - 00002C 5020 F33E 00340 46 ST R2,ENTRY .. is entry address 00374002 - 000030 F363 F343 F33F 00345 00341 47 UNPK ENTRYU(7),ENTRY+1(4) unpack address 00390000 - 000036 DC05 F343 F25A 00345 0025C 48 TR ENTRYU(6),HEXTAB translate to hex 00400000 - 00003C D205 F29B F343 0029D 00345 49 MVC LINE+53(6),ENTRYU move address into message 00410000 - 000042 4120 F252 00254 50 LA R2,PRINTMSG send message .. 00420002 - 000046 0AE2 51 SVC C'S' .. to printer 00430000 - 000048 D203 F2F6 F2EA 002F8 002EC 52 MVC WAITMSG+8(4),WAITLNG initialize reply length 00440002 - 00004E 4120 F2EE 002F0 53 LA R2,WAITMSG wait for reply indicating .. 00443002 - 000052 0AD9 54 SVC C'R' .. printing is completed 00450000 - 000054 D200 F17B F27F 0017D 00281 55 MVC STREAMNO(1),LINE+25 move job info .. 00450202 - 00005A D205 F199 F29B 0019B 0029D 56 MVC CNSENTRY(6),LINE+53 .. into console prompt 00450402 -1 Sample Operating System Version 2.00: Demo Program Page 4 - Active Usings: SOSUSERC+X'2',R15 -0 Loc Object Code Addr1 Addr2 Stmt Source Statement HLASM R6.0 2016/08/29 09.36 -0000060 9240 F266 00268 57 MVI LINE,C' ' blank .. 00450602 - 000064 D282 F267 F266 00269 00268 58 MVC LINE+1(131),LINE .. print line 00450802 - 00006A 4120 F165 00167 59 LA R2,CNSPRMPT console prompt address 00451002 - 00006E BF28 F109 0010B 60 ICM R2,B'1000',WRITE insert write command 00451202 - 000072 5020 F10E 00110 61 ST R2,CCW1 store CCW 00451402 - 000076 4120 004E 0004E 62 LA R2,LCNPRMPT length of console prompt 00451602 - 00007A 5020 F112 00114 63 ST R2,CCW1+4 store length in CCW, zero all flags 00451802 - 00007E 9640 F112 00114 64 OI CCW1+4,X'40' indicate command chaining 00452002 - 000082 4120 F13D 0013F 65 LA R2,CNSINPUT address of console input area 00452202 - 000086 BF28 F108 0010A 66 ICM R2,B'1000',READ insert read command 00452402 - 00008A 5020 F116 00118 67 ST R2,CCW2 store CCW 00452602 - 00008E 4120 0028 00028 68 LA R2,LCNSINPT length of console input area 00452802 - 000092 5020 F11A 0011C 69 ST R2,CCW2+4 store length in CCW, zero all flags 00453002 - 000096 9620 F11A 0011C 70 OI CCW2+4,X'20' suppress length indication 00453202 - 00009A 4120 F316 00318 71 LA 2,CONSOLIO send prompt .. 00453402 - 00009E 0AE2 72 SVC C'S' .. to console 00453602 - 0000A0 D203 F2F6 F2EA 002F8 002EC 73 MVC WAITMSG+8(4),WAITLNG initialize reply length 00453802 - 0000A6 4120 F2EE 002F0 74 LA 2,WAITMSG wait for reply indicating .. 00454002 - 0000AA 0AD9 75 SVC C'R' .. console I/O is completed 00454202 - 0000AC 4120 F32E 00330 76 LA 2,CONSOLOK release .. 00454402 - 0000B0 0AE2 77 SVC C'S' .. console 00454602 - 0000B2 4120 0046 00046 78 LA R2,LPE+LCNSINPT-1 total length of print message .. 00454802 - 0000B6 4B20 F300 00302 79 SH R2,WAITMSG+18 .. minus residual count minus one 00455002 - 0000BA 4420 F102 00104 80 EX R2,GETINPUT move to print line 00455202 - 0000BE 4120 F252 00254 81 LA R2,PRINTMSG send message .. 00455402 - 0000C2 0AE2 82 SVC C'S' .. to printer 00455602 - 0000C4 D203 F2F6 F2EA 002F8 002EC 83 MVC WAITMSG+8(4),WAITLNG initialize reply length 00455802 - 0000CA 4120 F2EE 002F0 84 LA R2,WAITMSG wait for reply indicating .. 00456002 - 0000CE 0AD9 85 SVC C'R' .. printing is completed 00456202 - 0000D0 D206 F169 F1B3 0016B 001B5 86 MVC CNSPRMPT+4(7),ENDED make it a termination message 00456402 - 0000D6 4120 F165 00167 87 LA R2,CNSPRMPT console termination message address 00456602 - 0000DA BF28 F10A 0010C 88 ICM R2,B'1000',WRITEACR insert write command 00456802 - 0000DE 5020 F10E 00110 89 ST R2,CCW1 store CCW 00457002 - 0000E2 4120 0017 00017 90 LA R2,23 length of console prompt 00457202 - 0000E6 5020 F112 00114 91 ST R2,CCW1+4 store length in CCW, zero all flags 00457402 - 0000EA 4120 F316 00318 92 LA 2,CONSOLIO send prompt .. 00457602 - 0000EE 0AE2 93 SVC C'S' .. to console 00457802 - 0000F0 D203 F2F6 F2EA 002F8 002EC 94 MVC WAITMSG+8(4),WAITLNG initialize reply length 00458002 - 0000F6 4120 F2EE 002F0 95 LA 2,WAITMSG wait for reply indicating .. 00458202 - 0000FA 0AD9 96 SVC C'R' .. console I/O is completed 00458402 - 0000FC 4120 F32E 00330 97 LA 2,CONSOLOK release .. 00458602 - 000100 0AE2 98 SVC C'S' .. console 00458802 - 000102 0AC8 99 SVC C'H' halt job 00460000 - 000104 D200 F266 F11E 00268 00120 100 GETINPUT MVC LINE(1),PE move output message to print line (EX'ed) 00460502 - 00010A 0A 101 READ DC X'0A' console read 00461002 - 00010B 01 102 WRITE DC X'01' console write 00461502 - 00010C 09 103 WRITEACR DC X'09' console write with auto CR 00462002 - 000110 104 CCW1 DS D console write CCW 00462502 - 000118 105 CCW2 DS D console read CCW 00463002 - 000120 D78199819485A385 106 PE DC C'Parameters entered on console: ' echo parameters 00463502 - 0001F 107 LPE EQU *-PE length of echo message 00464002 - 00013F 4040404040404040 108 CNSINPUT DC 40C' ' input from console 00464502 - 00028 109 LCNSINPT EQU *-CNSINPUT length of console input area 00465002 - 000167 D1968240A2A38199 110 CNSPRMPT DC C'Job started on stream-' prompt to .. 00465502 - 00017D 40 111 STREAMNO DC C' ' .. be .. 00466002 -1 Sample Operating System Version 2.00: Demo Program Page 5 - Active Usings: SOSUSERC+X'2',R15 -0 Loc Object Code Addr1 Addr2 Stmt Source Statement HLASM R6.0 2016/08/29 09.36 -000017E 6B40A4A285994097 112 DC C', user program entry point = ' .. issued .. 00466502 - 00019B 404040404040 113 CNSENTRY DC C' ' .. on .. 00467002 - 0001A1 6B408595A3859940 114 DC C', enter parameters: ' .. console 00467502 - 0004E 115 LCNPRMPT EQU *-CNSPRMPT length of console prompt 00468002 - 0001B5 85958485844040 116 ENDED DC CL7'ended' convert started to ended message 00468502 - 0001BC 117 DS 0F align parameter lists 00470000 - 0001BC D7D9C9D5E3C5D940 118 PRNTLOGO DC CL8'PRINTER' print a line: process name .. 00480002 - 0001C4 00000008 119 DC F'8' .. length of command .. 00486002 - 0001C8 D7D9C9D5000001D0 120 DC C'PRIN',A(LOGO) .. command 00492002 - 0001D0 60606040E2819497 121 LOGO DC CL132'--- Sample Operating System Version 2.00 ---' logo 00498002 - 000254 D7D9C9D5E3C5D940 122 PRINTMSG DC CL8'PRINTER' print a line: process name .. 00504002 - 00025C 00000008 123 DC F'8' .. length of command .. 00510002 - 000260 D7D9C9D500000268 124 DC C'PRIN',A(LINE) .. command 00516002 - 000268 4040404040404040 125 LINE DC 132C' ' line to be printed or card read 00522002 - 0002EC 00000008 126 WAITLNG DC F'8' maximum length of reply to be received 00528002 - 0002F0 127 WAITMSG DS CL8 wait for msg: originator returned here 00534002 - 0002F8 128 DS F .. length of return area .. 00540002 - 0002FC 129 DS CL8 .. message received 00546002 - 000304 D9C5C1C4C5D94040 130 READCARD DC CL8'READER' read a card: process name .. 00552002 - 00030C 00000008 131 DC F'8' .. length of command .. 00558002 - 000310 D9C5C1C400000268 132 DC C'READ',A(LINE) .. command 00564002 - 000318 C3D6D5E2D6D3C540 133 CONSOLIO DC CL8'CONSOLE' perform console I/O: process name .. 00570002 - 000320 0000000C 134 DC F'12' .. length of command .. 00576002 - 000324 C5E7C3D700000009 135 DC C'EXCP',X'00000009',A(CCW1) .. command 00582002 - 000330 C3D6D5E2D6D3C540 136 CONSOLOK DC CL8'CONSOLE' release console: process name .. 00588002 - 000338 00000002 137 DC F'2' .. length of command .. 00594002 - 00033C D6D2 138 DC C'OK' .. command 00600002 - 00033E 0000 - 000340 00000002 139 ENTRY DC F'2' entry address will end up here 00620000 - 000344 00 140 DC X'00' food for UNPK 00630000 - 000345 00000000000000 141 ENTRYU DC 7X'00' unpacked entry point plus excess byte 00640000 - 00034C 0034C 0025C 142 ORG *-240 first 240 bytes of HEXTAB are not needed 00650000 - 00025C 143 HEXTAB DS 0X translation table for unpacked to hex 00660000 - 00025C 0025C 0034C 144 ORG , restore current location 00670000 - 00034C F0F1F2F3F4F5F6F7 145 DC C'0123456789ABCDEF' hex characters 00680000 - 00002 146 R2 EQU 2 register 2 00690002 - 0000F 147 R15 EQU 15 register 15 00690502 - 148 END , end of program 00691002 -1 Relocation Dictionary Page 6 -- Pos.Id Rel.Id Address Type Action HLASM R6.0 2016/08/29 09.36 -0 00000001 00000001 000001CC A 4 + - 00000001 00000001 00000264 A 4 + - 00000001 00000001 00000314 A 4 + - 00000001 00000001 0000032C A 4 + -1 Ordinary Symbol and Literal Cross Reference Page 7 --Symbol Length Value Id R Type Asm Program Defn References HLASM R6.0 2016/08/29 09.36 -0CCW1 8 00000110 00000001 D D 104 61M 63M 64M 89M 91M 135 - CCW2 8 00000118 00000001 D D 105 67M 69M 70M - CNSENTRY 6 0000019B 00000001 C C 113 56M - CNSINPUT 1 0000013F 00000001 C C 108 65 109 - CNSPRMPT 22 00000167 00000001 C C 110 59 86M 87 115 - CONSOLIO 8 00000318 00000001 C C 133 71 92 - CONSOLOK 8 00000330 00000001 C C 136 76 97 - ENDED 7 000001B5 00000001 C C 116 86 - ENTRY 4 00000340 00000001 F F 139 45 46M 47 - ENTRYU 1 00000345 00000001 X X 141 47M 48M 49 - GETINPUT 6 00000104 00000001 I 100 80X - HEXTAB 1 0000025C 00000001 X X 143 48 - LCNPRMPT 1 0000004E 00000001 A U 115 62 - LCNSINPT 1 00000028 00000001 A U 109 68 78 - LINE 1 00000268 00000001 C C 125 49M 55 56 57M 58M 58 100M 124 132 - LOGO 132 000001D0 00000001 C C 121 120 - LPE 1 0000001F 00000001 A U 107 78 - PE 31 00000120 00000001 C C 106 100 107 - PRINTMSG 8 00000254 00000001 C C 122 50 81 - PRNTLOGO 8 000001BC 00000001 C C 118 34 - READ 1 0000010A 00000001 X X 101 66 - READCARD 8 00000304 00000001 C C 130 39 - R15 1 0000000F 00000001 A U 147 32M 33U 44 - R2 1 00000002 00000001 A U 146 34M 37M 39M 42M 44M 45M 46 50M 53M 59M - 60M 61 62M 63 65M 66M 67 68M 69 78M - 79M 80 81M 84M 87M 88M 89 90M 91 - STREAMNO 1 0000017D 00000001 C C 111 55M - WAITLNG 4 000002EC 00000001 F F 126 36 41 52 73 83 94 - WAITMSG 8 000002F0 00000001 C C 127 36M 37 41M 42 52M 53 73M 74 79 83M - 84 94M 95 - WRITE 1 0000010B 00000001 X X 102 60 - WRITEACR 1 0000010C 00000001 X X 103 88 -1 Unreferenced Symbols Defined in CSECTs Page 8 -- Defn Symbol HLASM R6.0 2016/08/29 09.36 -0 31 SOSUSERC -1 Using Map Page 9 -- HLASM R6.0 2016/08/29 09.36 - Stmt -----Location----- Action ----------------Using----------------- Reg Max Last Label and Using Text - Count Id Type Value Range Id Disp Stmt -0 33 00000002 00000001 USING ORDINARY 00000002 00001000 00000001 15 00343 100 *,R15 -1 General Purpose Register Cross Reference Page 10 -- Register References (M=modified, B=branch, U=USING, D=DROP, N=index) HLASM R6.0 2016/08/29 09.36 -0 0(0) (no references identified) - 1(1) (no references identified) - 2(2) 34M 37M 39M 42M 44M 45M 46 50M 53M 59M 60M 61 62M 63 65M 66M 67 68M - 69 71M 74M 76M 78M 79M 80 81M 84M 87M 88M 89 90M 91 92M 95M 97M - 3(3) (no references identified) - 4(4) (no references identified) - 5(5) (no references identified) - 6(6) (no references identified) - 7(7) (no references identified) - 8(8) (no references identified) - 9(9) (no references identified) - 10(A) (no references identified) - 11(B) (no references identified) - 12(C) (no references identified) - 13(D) (no references identified) - 14(E) (no references identified) - 15(F) 32M 33U 44 -1 Diagnostic Cross Reference and Assembler Summary Page 11 -- HLASM R6.0 2016/08/29 09.36 -0 No Statements Flagged in this Assembly - HIGH LEVEL ASSEMBLER, 5696-234, RELEASE 6.0, PTF UK37157 -0SYSTEM: z/OS 01.10.00 JOBNAME: IBMUSER3 STEPNAME: *OMVSEX PROCSTEP: (NOPROC) -0Data Sets Allocated for this Assembly - Con DDname Data Set Name Volume Member - P1 SYSIN /mbhfs/sosuser.asm - L1 SYSLIB CEE.SCEEMAC ZAPRD2 - L2 SYS1.MACLIB ZARES1 - L3 SYS1.MODGEN ZARES1 - SYSLIN /mbhfs/sosuser.o - SYSPRINT /dev/fd1 - SYSTERM /dev/fd2 - - 1028584K allocated to Buffer Pool Storage required 200K - 148 Primary Input Records Read 0 Library Records Read 0 Work File Reads - 0 ASMAOPT Records Read 301 Primary Print Records Written 0 Work File Writes - 20 Object Records Written 0 ADATA Records Written -0Assembly Start Time: 09.36.55 Stop Time: 09.36.55 Processor Time: 00.00.00.0242 - Return Code 000 diff --git a/SOS_OS/sysgen/madnick_with_console.xmi b/SOS_OS/sysgen/madnick_with_console.xmi deleted file mode 100644 index bfe7f92ff4abd8a18d0b08cb0f3d670a9b3f4558..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 234960 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 4K support * 00103002 - 16 * - minor changes in storage protection logic / * 00103602 - 17 * - change number of parallel processing streams to 4 * 00104202 - 18 * - change core size to 16M * 00104802 - 19 * - replace table of valid $JOB card core requests with general * 00105402 - 20 * logic rounding up any none full page request entered to next * 00106002 - 21 * full page * 00106602 - 22 * - add IPL card and two card loader for one stop creation of an * 00107202 - 23 * IPLable card deck * 00107802 - 24 * - ignore external interrupts during initialization to avoid * 00108402 - 25 * IPLRTN getting interrupted by the interval timer * 00109002 - 26 * * 00109103 - 27 * Update 2015/11/05 Juergen Winkelmann, e-mail winkelmann@id.ethz.ch * 00109203 - 28 * * 00109303 - 29 * - allow reloading card readers without needing to re-IPL the * 00109403 - 30 * system. This functionality relies on Hercules' card reader * 00109503 - 31 * behavior with the EOF initialization in place. It will not * 00109603 - 32 * work in INTR mode. * 00109703 - 33 * * 00109744 - 34 * Update 2015/11/13 Juergen Winkelmann, e-mail winkelmann@id.ethz.ch * 00109784 - 35 * * 00109824 - 36 * - add UCB to support a console at 009 using the EXCP device * 00109864 - 37 * handler. * 00109904 - 38 * * 00110000 - 39 *********************************************************************** 00120000 -- - 41 PRINT ON,NODATA,GEN 00140000 - 000000 00000 01770 42 PROGRAM CSECT , sample operating system starts at zero 00150002 - 001770 01770 000A0 43 CARDLDR CSECT , two card loader follows at the end 00150102 - 44 *** 00150202 - 45 *** IPL card 00150302 - 46 *** 00150402 - 001810 01810 00050 47 IPLCARD CSECT , IPLable deck must begin with this card 00150502 - 001810 0000000000 48 PSWD DC F'0',X'00' initial program status word, disabled 00150602 - 001815 001770 49 DC AL3(LOADER) start execution at load address 00150702 - 001818 02001770 50 CCW1 DC X'02',AL3(LOADER) read 1st card to load address 00150802 - 00181C 40000050 51 DC XL4'40000050' chain, read length = 80 00150902 - 001820 020017C0 52 CCW2 DC X'02',AL3(LOADER+80) read 2nd card to load addr + 80 00151002 - 001824 00000050 53 DC XL4'00000050' read length = 80 00151102 - 001828 E2819497938540D6 54 DC C'Sample Operating System Version 2.00' eye catcher 00151202 -1 Sample Operating System Version 2.00 Page 4 - Active Usings: None -0 Loc Object Code Addr1 Addr2 Stmt Source Statement HLASM R6.0 2016/08/29 08.42 -0001850 0000000000000000 55 DC 16X'00' pad to card length 00151302 - 56 *** 00151402 - 57 *** loader 00151502 - 58 *** 00151602 - 59 * 00151702 - 60 * Initialize 00151802 - 61 * 00151902 - 001770 01770 000A0 62 CARDLDR CSECT , two card loader must follow IPL card 00152002 - 001770 05C0 63 BALR R12,0 establish .. 00152102 - 001772 4120 0002 00002 64 LA R2,2 .. base .. 00152202 - 001776 1BC2 65 SR R12,R2 .. register 00152302 - R:C 01770 66 USING CARDLDR,R12 tell assembler 00152402 - 001778 41B0 0000 00000 67 LA R11,0 addressability of .. 00152502 - R:B 00000 68 USING PROGRAM,R11 .. sample operating system 00152602 - 00177C 4120 0000 00000 69 LA R2,0 I/O .. 00152702 - 001780 4130 C06A 017DA 70 LA R3,IOINTRPT .. new PSWD 00152802 - 001784 9023 B078 00078 71 STM R2,R3,IONEW store I/O new PSWD 00152902 - 001788 8000 C07E 017EE 72 SSM ENBLECH0 enable interrupts from channel 0 00153002 - 00178C 4150 C0A0 01810 73 LA R5,CCWCHAIN address of card reader CCW chain 00153102 - 001790 5050 B048 00048 74 ST R5,CAW store address in CAW 00153202 - 001794 5830 C094 01804 75 L R3,NUMCARDS number of cards to read 00153302 - 001798 5840 C090 01800 76 L R4,LOADADDR target address of loaded code 00153402 - 77 * 00153502 - 78 * create CCW chain 00153602 - 79 * 00153702 - 00179C 1824 80 NEXTCARD LR R2,R4 load next card here 00153802 - 00179E BF28 C080 017F0 81 ICM R2,B'1000',READ insert write command 00153902 - 0017A2 5020 5000 00000 82 ST R2,0(,R5) store CCW 00154002 - 0017A6 4120 0050 00050 83 LA R2,80 length of card 00154102 - 0017AA 5020 5004 00004 84 ST R2,4(,R5) store length in CCW, zero all flags 00154202 - 0017AE 9640 5004 00004 85 OI 4(R5),X'40' indicate command chaining 00154302 - 0017B2 4140 4050 00050 86 LA R4,80(,R4) increment target address 00154402 - 0017B6 4150 5008 00008 87 LA R5,8(,R5) point to next CCW 00154502 - 0017BA 4630 C02C 0179C 88 BCT R3,NEXTCARD read next card 00154602 - 0017BE 5B50 C098 01808 89 S R5,EIGHT point to previous CCW 00154702 - 0017C2 94BF 5004 00004 90 NI 4(R5),X'BF' clear command chaining flag 00154802 - 91 * 00154902 - 92 * read cards and wait for completion 00155002 - 93 * 00155102 - 0017C6 9C00 000C 0000C 94 SIO 12(0) read cards 00155202 - 0017CA 4120 C066 017D6 95 LA R2,*+12 continue here after I/O completion 00155302 - 0017CE 5020 C08C 017FC 96 ST R2,CONTINUE store continue address in PSWD skeleton 00155402 - 0017D2 8200 C088 017F8 97 LPSW WAITPSWD wait for I/O completion 00155502 - 98 * 00155602 - 99 * "IPL" the Sample Operating System 00155702 - 100 * 00155802 - 0017D6 8200 0000 00000 101 LPSW 0 transfer control 00155902 - 102 * 00156002 - 103 * I/O interrupt handler 00156102 - 104 * 00156202 - 017DA 105 IOINTRPT EQU * 00156302 - 0017DA 9104 B044 00044 106 TM CSW+4,X'04' device end received? 00156402 - 0017DE 47E0 C07A 017EA 107 BNO IOINTRTN -> no, keep waiting 00156502 - 0017E2 94FD B039 00039 108 NI IOOLD+1,X'FD' -> yes, terminate wait state and .. 00156602 - 0017E6 947F B038 00038 109 NI IOOLD,X'7F' .. and disable channel 0 interrupts 00156702 -1 Sample Operating System Version 2.00 Page 5 - Active Usings: PROGRAM,R11 CARDLDR,R12 -0 Loc Object Code Addr1 Addr2 Stmt Source Statement HLASM R6.0 2016/08/29 08.42 -00017EA 8200 B038 00038 110 IOINTRTN LPSW IOOLD return to mainline 00156802 - 111 DROP R11,R12 no longer needed 00156902 - 112 * 00157002 - 113 * Data area 00157102 - 114 * 00157202 - 0017EE F8F0 115 ENBLECH0 DC C'80' mask to enable channel 0 interrupts 00157302 - 0017F0 02 116 READ DC X'02' read a card 00157402 - 0017F8 117 DS 0D align 00157502 - 0017F8 80020000 118 WAITPSWD DC X'80020000' wait with channel 0 interrupts enabled 00157602 - 0017FC 119 CONTINUE DS F continue here after wait 00157702 - 001800 00000000 120 LOADADDR DC F'0' code is to be loaded here 00157802 - 001804 0000004B 121 NUMCARDS DC F'75' number of cards to read 00157904 - 001808 00000008 122 EIGHT DC F'8' CCW length 00158002 - 001810 123 CCWCHAIN DS 0D start of card reader CCW chain 00158102 - 124 *** 00158202 - 125 *** Sample Operating System code begins here 00158302 - 126 *** 00158402 - 000000 00000 01770 127 PROGRAM CSECT , sample OS must follow loader cards 00158502 -0 000000 129 CORESIZE EQU 16777216 bytes of core in object machine 00170002 -0 R:0 00000 131 USING *,0 COMMUNICATIONS AREA 00190000 -0000000 000000000000103E 133 IPLPSW DC B'00000000',B'00000000',X'0000',X'00',AL3(IPLRTN) 00210000 - 000008 134 IPLCCW1 DS D . IPL CCW #1 00220000 - 000010 135 IPLCCW2 DS D . IPL CCW #2 00230000 - 000018 136 EXTOLD DS D . EXTERNAL OLD PSW 00240000 - 000020 137 SVCOLD DS D . SVC OLD PSW 00250000 - 000028 138 PGMOLD DS D . PROGRAM INTERRUPT OLD PSW 00260000 - 000030 139 MCHKOLD DS D . MACHINE CHECK OLD PSW 00270000 - 000038 140 IOOLD DS D . I/O INTERRUPT OLD PSW 00280000 - 000040 141 CSW DS D . CHANNEL STATUS WORD 00290000 - 000048 142 CAW DS F . CHANNEL ADDRESS WORD 00300000 - 00004C 143 UNUSED0 DS F . 00310000 - 000050 FFFFFFFF 144 TIMER DC F'-1' . TIMER 00320000 - 000054 00000000 145 UNUSED1 DC F'0' . 00330000 - 000058 000000000000027A 146 EXTNEW DC B'00000000',B'00000000',X'0000',X'00',AL3(EXTHANDL) 00340000 - 000060 00000000000002B2 147 SVCNEW DC B'00000000',B'00000000',X'0000',X'00',AL3(SVCHANDL) 00350000 - 000068 00000000000002B0 148 PGMNEW DC B'00000000',B'00000000',X'0000',X'00',AL3(PGMHANDL) 00360000 - 000070 0002000000000000 149 MCHKNEW DC B'00000000',B'00000010',X'0000',X'00',AL3(0) 00370000 - 000078 00000000000017DA 150 IONEW DC B'00000000',B'00000000',X'0000',X'00',AL3(IOINTRPT) <-+ 00380002 - 151 *** | 00382002 - 152 *** IOINTRPT will be replaced with IOHANDL after IPL by IPLRTN -----+ 00384002 - 153 *** 00386002 - 000080 00080 00180 154 ORG *+X'100' SPACE OVER STAND ALONE DUMP AREA 00390000 - 000180 00001740 155 FSBPTR DC A(VERYEND) . FSB POINTER 00400000 - 000184 0000000100000000 156 FSBSEM DC F'1,0' . FSB SEMAPHORE 00410000 - 00018C 0000000000000000 157 MEMORY DC F'0,0' . MEMORY SEMAPHORE 00420000 - 000194 0000000100000000 158 CAWSEM DC F'1,0' . CAW SEMAPHORE 00430000 -000019C 160 TRAPSAVE DS 16F . STORAGE FOR EXTERNAL INTERRUPTS 00450000 - 0001DC 161 IOHSAVE DS 16F . STORAGE FOR I/O INTERRUPTS 00460000 -000021C 163 SYSSEMSA DS CL84 . SYSTEM SEMAPHORE SAVE AREA 00480000 -1 Sample Operating System Version 2.00 Page 6 - Active Usings: PROGRAM,R0 -0 Loc Object Code Addr1 Addr2 Stmt Source Statement HLASM R6.0 2016/08/29 08.42 -0000270 165 RUNNING DS A . RUNNING 00500000 - 000274 166 NEXTTRY DS A . NEXTTRY 00510000 - 000278 167 NEXTTRYM DS C,0H . NEXTTRY MODIFIED 00520000 -1 Sample Operating System Version 2.00 Page 7 - Active Usings: PROGRAM,R0 -0 Loc Object Code Addr1 Addr2 Stmt Source Statement HLASM R6.0 2016/08/29 08.42 -0 169 *********************************************************************** 00540000 - 170 * * 00550000 - 171 * EXTERNAL, PROGRAM, AND SVC INTERRUPT HANDLERS * 00560000 - 172 * * 00570000 - 173 *********************************************************************** 00580000 -0 0027A 175 EXTHANDL EQU * . EXTERNAL INTERRUPT HANDLER 00600000 - 00027A 900F 019C 0019C 176 STM 0,15,TRAPSAVE . SAVE REGISTERS 00610000 - 00027E 0510 177 BALR 1,0 . ESTABLISH ADDRESSING 00620000 - R:1 00280 178 USING *,1 00630000 - ** ASMA303W Multiple address resolutions may result from this USING and the USING on statement number 131 - ** ASMA435I Record 178 in /mbhfs/sos4k.asm on volume: - 000280 9580 001B 0001B 179 CLI EXTOLD+3,X'80' . SEE IF TIMER TRAP 00640000 - 000284 4770 1028 002A8 180 BNE EXTHRET . IF NOT, IGNORE 00650000 - 000288 58F0 0270 00270 181 L 15,RUNNING . SET UP REGISTERS FOR TRAFFIC 00660000 - R:F 00000 182 USING PCB,15 . CONTROLLER (XPER) 00670000 - 00028C 95FF F019 00019 183 CLI PCBBLOKT,X'FF' . IF BLOCKED, NO PROCESS IS 00680000 - 000290 4780 1028 002A8 184 BE EXTHRET . RUNNABLE, SO RETURN 00690000 - 000294 41E0 F04C 0004C 185 LA 14,PCBISA . GET SAVE AREA 00700000 - R:E 00000 186 USING SA,14 00710000 - 000298 D207 E000 0018 00000 00018 187 MVC SAPSW,EXTOLD . AND STORE OLD STUFF INTO IT 00720000 - 00029E D23F E008 019C 00008 0019C 188 MVC SAREGS,TRAPSAVE 00730000 - 0002A4 47F0 12EA 0056A 189 B XPER . THEN GO TO TRAFFIC SCHEDULER 00740000 - 190 DROP 14,15 00750000 - 0002A8 980F 019C 0019C 191 EXTHRET LM 0,15,TRAPSAVE . TO IGNORE AN INTERRUPT, RELOAD 00760000 - 0002AC 8200 0018 00018 192 LPSW EXTOLD . AND TRANSFER BACK 00770000 -0 002B0 194 PGMHANDL EQU * . PROGRAM INTERRUPT HANDLER 00790000 - 0002B0 0A6F 195 SVC C'?' . IN ANY CASE, AN ERROR 00800000 -1 Sample Operating System Version 2.00 Page 8 - Active Usings: PROGRAM,R0 PROGRAM+X'280',R1 -0 Loc Object Code Addr1 Addr2 Stmt Source Statement HLASM R6.0 2016/08/29 08.42 -0 197 *********************************************************************** 00820000 - 198 * * 00830000 - 199 * SVC INTERRUPT HANDLER * 00840000 - 200 * * 00850000 - 201 * FOR ALL ROUTINES ENTERED BY SVC INTERRUPT, THE * 00860000 - 202 * FOLLOWING REGISTERS CONTAIN THIS INFORMATION: * 00870000 - 203 * * 00880000 - 204 * REGISTER 1 - BASE REGISTER FOR ROUTINE * 00890000 - 205 * REGISTER 2 - POINTER TO ARGUMENT LIST (IF ANY) * 00900000 - 206 * REGISTER 14 - POINTER TO SAVEAREA USED FOR THIS SVC * 00910000 - 207 * REGISTER 15 - POINTER TO PCB PRESENTLY RUNNING * 00920000 - 208 * * 00930000 - 209 *********************************************************************** 00940000 -0 002B2 211 SVCHANDL EQU * . SVC HANDLER 00960000 - 0002B2 900F 019C 0019C 212 STM 0,15,TRAPSAVE . SAVE REGISTERS 00970000 - 0002B6 0590 213 BALR 9,0 . ESTABLISH ADDRESSING 00980000 - R:9 002B8 214 USING *,9 00990000 - ** ASMA303W Multiple address resolutions may result from this USING and the USING on statement number 131 - ** ASMA303W Multiple address resolutions may result from this USING and the USING on statement number 178 - ** ASMA435I Record 214 in /mbhfs/sos4k.asm on volume: - 0002B8 98AE 905C 00314 215 LM 10,14,SVCCONST . INITIALIZE REGISTERS 01000000 - 0002BC 43A0 0023 00023 216 IC 10,SVCOLD+3 . GET SVC CODE 01010000 - 0002C0 43AA 9070 00328 217 IC 10,SVCHTABL(10) . TRANSLATE INTO TABLE OFFSET 01020000 - 0002C4 41AA 9170 00428 218 LA 10,SVCRTN(10) . REG 10 -> THE CORRECT PSW 01030000 - 0002C8 9500 A002 00002 219 CLI 2(10),X'00' . IS THIS CALL PROTECTED? 01040000 - 0002CC 4780 904A 00302 220 BE SVCHPROT . THEN SEE IF WE CAN CALL IT 01050000 - 0002D0 58F0 0270 00270 221 SVCOK L 15,RUNNING . GET PCB POINTER 01060000 - R:F 00000 222 USING PCB,15 01070000 - 0002D4 9500 A003 00003 223 CLI 3(10),X'00' . IS IT A SYSTEM SAVEAREA? 01080000 - 0002D8 4780 9026 002DE 224 BE SYSSEM . DON'T USE REG 14 AS PCB POINTER 01090000 - 0002DC 18EF 225 LR 14,15 . ELSE, SET UP PCB POINTER 01100000 - 0002DE 43BA 0003 00003 226 SYSSEM IC 11,3(10) . GET POINTER TO SAVE AREA OFFSET 01110000 - 0002E2 5AEB 9210 004C8 227 A 14,SVCSAVE(11) . REG 14 -> SAVE AREA 01120000 - 0002E6 954B 0023 00023 228 CLI SVCOLD+3,C'.' . ARE WE CALLING XPER? 01130000 - 0002EA 4780 9042 002FA 229 BE SVCXPER . IF SO, DON'T SAVE RETURN STATUS 01140000 - R:E 00000 230 USING SA,14 01150000 - 0002EE D207 E000 0020 00000 00020 231 MVC SAPSW,SVCOLD . SAVE PSW 01160000 - 0002F4 D23F E008 019C 00008 0019C 232 MVC SAREGS,TRAPSAVE . SAVE REGISTERS 01170000 - 0002FA 581A 0004 00004 233 SVCXPER L 1,4(10) . MAKE ADDRESSING EASY WITHIN 01180000 - 0002FE 8200 A000 00000 234 LPSW 0(10) . ROUTINE, AND GO THERE 01190000 - 000302 58C0 0020 00020 235 SVCHPROT L 12,SVCOLD . GET PROTECTION KEY 01200000 - 000306 14CD 236 NR 12,13 . IS IT A USER? 01210000 - 000308 4780 9018 002D0 237 BZ SVCOK . IF NO, THAT'S FINE 01220000 - 00030C 41A0 91F8 004B0 238 LA 10,SVCRTN+136 . ELSE SET UP CALL TO XQUE 01230000 - 000310 47F0 9018 002D0 239 B SVCOK . 01240000 - 240 DROP 9 01250000 - 000314 0000000000000000 241 SVCCONST DC 3F'0',X'00F00000',F'0' 01260000 -0000328 8484848484848484 243 SVCHTABL DC 256X'84' . TABLE OF PSW OFFSETS 01280000 - 000428 00428 003FF 244 ORG SVCHTABL+C'P' 01290000 - 0003FF 00 245 DC AL1(0) 01300000 - 000400 00400 0040D 246 ORG SVCHTABL+C'V' 01310000 - 00040D 08 247 DC AL1(8) 01320000 - 00040E 0040E 00382 248 ORG SVCHTABL+C'!' 01330000 -1 Sample Operating System Version 2.00 Page 9 - Active Usings: PROGRAM,R0 PROGRAM+X'280',R1 SA,R14 PCB,R15 -0 Loc Object Code Addr1 Addr2 Stmt Source Statement HLASM R6.0 2016/08/29 08.42 -0000382 10 249 DC AL1(16) 01340000 - 000383 00383 00393 250 ORG SVCHTABL+C',' 01350000 - 000393 18 251 DC AL1(24) 01360000 - 000394 00394 003EA 252 ORG SVCHTABL+C'B' 01370000 - 0003EA 20 253 DC AL1(32) 01380000 - 0003EB 003EB 003E9 254 ORG SVCHTABL+C'A' 01390000 - 0003E9 28 255 DC AL1(40) 01400000 - 0003EA 003EA 003EE 256 ORG SVCHTABL+C'F' 01410000 - 0003EE 30 257 DC AL1(48) 01420000 - 0003EF 003EF 003F1 258 ORG SVCHTABL+C'I' 01430000 - 0003F1 38 259 DC AL1(56) 01440000 - 0003F2 003F2 003F9 260 ORG SVCHTABL+C'J' 01450000 - 0003F9 40 261 DC AL1(64) 01460000 - 0003FA 003FA 00373 262 ORG SVCHTABL+C'.' 01470000 - 000373 48 263 DC AL1(72) 01480000 - 000374 00374 00401 264 ORG SVCHTABL+C'R' 01490000 - 000401 50 265 DC AL1(80) 01500000 - 000402 00402 0040A 266 ORG SVCHTABL+C'S' 01510000 - 00040A 58 267 DC AL1(88) 01520000 - 00040B 0040B 003EB 268 ORG SVCHTABL+C'C' 01530000 - 0003EB 60 269 DC AL1(96) 01540000 - 0003EC 003EC 003FD 270 ORG SVCHTABL+C'N' 01550000 - 0003FD 68 271 DC AL1(104) 01560000 - 0003FE 003FE 00410 272 ORG SVCHTABL+C'Y' 01570000 - 000410 70 273 DC AL1(112) 01580000 - 000411 00411 00411 274 ORG SVCHTABL+C'Z' 01590000 - 000411 78 275 DC AL1(120) 01600000 - 000412 00412 003EC 276 ORG SVCHTABL+C'D' 01610000 - 0003EC 80 277 DC AL1(128) 01620000 - 0003ED 003ED 00397 278 ORG SVCHTABL+C'?' 01630000 - 000397 88 279 DC AL1(136) 01640000 - 000398 00398 003F0 280 ORG SVCHTABL+C'H' 01650000 - 0003F0 90 281 DC AL1(144) 01660000 - 0003F1 003F1 003ED 282 ORG SVCHTABL+C'E' 01670000 - 0003ED 98 283 DC AL1(152) 01680000 - 0003EE 003EE 00428 284 ORG SVCHTABL+256 01690000 -0000428 286 SVCRTN DS 0D . THE PSWS 01710000 - 287 * IN THE FOLLOWING PSWS, THE THIRD BYTE INDICATES * 01720000 - 288 * WHETHER THE SVC IS RESTRICTED: * 01730000 - 289 * X'00' -> OPERATING SYSTEM ONLY * 01740000 - 290 * X'FF' -> AVAILABLE TO USER ALSO * 01750000 - 291 * * 01760000 - 292 * THE FOURTH BYTE INDICATES WHICH SAVE AREA TO USE; * 01770000 - 293 * SVCSAVE BELOW SHOWS THE CODE VALUES. * 01780000 - 000428 00000000000004EE 294 DC B'00000000',B'00000000',X'0000',X'00',AL3(XP) 01790000 - 000430 0000000000000534 295 DC B'00000000',B'00000000',X'0000',X'00',AL3(XV) 01800000 - 000438 00000004000005C0 296 DC B'00000000',B'00000000',X'0004',X'00',AL3(XEXC) 01810000 - 000440 00000004000005D2 297 DC B'00000000',B'00000000',X'0004',X'00',AL3(XCOM) 01820000 - 000448 0000000400000744 298 DC B'00000000',B'00000000',X'0004',X'00',AL3(XB) 01830000 - 000450 FF00000C00000600 299 DC B'11111111',B'00000000',X'000C',X'00',AL3(XA) 01840000 - 000458 FF00000C000006B6 300 DC B'11111111',B'00000000',X'000C',X'00',AL3(XF) 01850000 - 000460 000000040000087A 301 DC B'00000000',B'00000000',X'0004',X'00',AL3(XI) 01860000 - 000468 00000004000008A6 302 DC B'00000000',B'00000000',X'0004',X'00',AL3(XJ) 01870000 - 000470 000000040000056A 303 DC B'00000000',B'00000000',X'0004',X'00',AL3(XPER) 01880000 -1 Sample Operating System Version 2.00 Page 10 - Active Usings: PROGRAM,R0 PROGRAM+X'280',R1 SA,R14 PCB,R15 -0 Loc Object Code Addr1 Addr2 Stmt Source Statement HLASM R6.0 2016/08/29 08.42 -0000478 FF00FF08000008EC 304 DC B'11111111',B'00000000',X'FF08',X'00',AL3(XR) 01890000 - 000480 FF00FF0800000978 305 DC B'11111111',B'00000000',X'FF08',X'00',AL3(XS) 01900000 - 000488 FF00FF0800000780 306 DC B'11111111',B'00000000',X'FF08',X'00',AL3(XC) 01910000 - 000490 0000FF04000008CA 307 DC B'00000000',B'00000000',X'FF04',X'00',AL3(XN) 01920000 - 000498 0000FF0800000A0A 308 DC B'00000000',B'00000000',X'FF08',X'00',AL3(XY) 01930000 - 0004A0 FF00FF0800000A42 309 DC B'11111111',B'00000000',X'FF08',X'00',AL3(XZ) 01940000 - 0004A8 FF00FF08000007C6 310 DC B'11111111',B'00000000',X'FF08',X'00',AL3(XD) 01950000 - 0004B0 0000FF0400000A8E 311 DC B'00000000',B'00000000',X'FF04',X'00',AL3(XQUE) 01960000 - 0004B8 FF00FF0800000842 312 DC B'11111111',B'00000000',X'FF08',X'00',AL3(XH) 01970000 - 0004C0 FF00000C00000608 313 DC B'11111111',B'00000000',X'000C',X'00',AL3(XAUTO) 01980000 -00004C8 315 SVCSAVE DS 0F . THE SAVE AREA OFFSETS 02000000 - 0004C8 0000021C 316 DC A(SYSSEMSA) . CODE 00 -> SYSSEMSA 02010000 - 0004CC 0000004C 317 DC A(PCBISA-PCB) . CODE 04 -> INTERRUPT SAVE AREA 02020000 - 0004D0 000000A0 318 DC A(PCBFSA-PCB) . CODE 08 -> FAULT SAVE AREA 02030000 - 0004D4 000000F4 319 DC A(PCBMSA-PCB) . CODE 0C -> MEMORY SAVE AREA 02040000 -- - 321 *********************************************************************** 02060000 - 322 * * 02070000 - 323 * RETURN SEQUENCE FOR REQUEST DRIVEN ROUTINES AND TRAFFIC CONTROLLER * 02080000 - 324 * * 02090000 - 325 *********************************************************************** 02100000 -00004D8 327 DS 0D 02120000 - 0004D8 00000000000004E0 328 RETURN DC B'00000000',B'00000000',X'0000',X'00',AL3(RETURNR) 02130000 -0 004E0 330 RETURNR EQU * . RETURN ROUTINE FOR SVC'S AND XPER 02150000 - 0004E0 D207 0020 E000 00020 00000 331 MVC SVCOLD,SAPSW . SAVE PSW IN A SAFE PLACE 02160000 - 0004E6 980F E008 00008 332 LM 0,15,SAREGS . RELOAD REGISTERS 02170000 - 0004EA 8200 0020 00020 333 LPSW SVCOLD . AND RETURN 02180000 -1 Sample Operating System Version 2.00 Page 11 - Active Usings: PROGRAM,R0 PROGRAM+X'280',R1 SA,R14 PCB,R15 -0 Loc Object Code Addr1 Addr2 Stmt Source Statement HLASM R6.0 2016/08/29 08.42 -0 335 *********************************************************************** 02200000 - 336 * * 02210000 - 337 * REQUEST DRIVEN ROUTINES * 02220000 - 338 * * 02230000 - 339 *********************************************************************** 02240000 -- - 341 *********************************************************************** 02260000 - 342 * * 02270000 - 343 * XP ROUTINE * 02280000 - 344 * * 02290000 - 345 * FUNCTION: TO IMPLEMENT "P" PRIMITIVE FOR SEMAPHORES * 02300000 - 346 * DATABASES: UPON ENTRY, REGISTER 2 CONTAINS ADDRESS SM * 02310000 - 347 * SM DS 0D SEMAPHORE DEFINITION * 02320000 - 348 * SMVAL DS F VALUE * 02330000 - 349 * SMPTR DS A POINTER TO FIRST WAITER * 02340000 - 350 * ROUTINES USED: XPER * 02350000 - 351 * PROCEDURE: SUBTRACT ONE FROM SMVAL; IF NON-NEGATIVE, RETURN. * 02360000 - 352 * IF NEGATIVE, PLACE RUNNING PROCESS AT END OF LIST * 02370000 - 353 * OF PRECESSES WAITING ON SM. BLOCK CALLING PROCESS; * 02380000 - 354 * ENTER TRAFFIC CONTROLLER. * 02390000 - 355 * ERROR CHECKS: NONE * 02400000 - 356 * INTERRUPTS: OFF * 02410000 - 357 * USER ACCESS: NO * 02420000 - 358 * * 02430000 - 359 *********************************************************************** 02440000 -0 004EE 361 XP EQU * . THE XP ROUTINE 02460000 - R:1 004EE 362 USING *,1 02470000 - ** ASMA303W Multiple address resolutions may result from this USING and the USING on statement number 131 - ** ASMA435I Record 362 in /mbhfs/sos4k.asm on volume: - R:2 00000 363 USING SM,2 . ARGUMENT IS A SEMAPHORE 02480000 - 0004EE 5830 2000 00000 364 L 3,SMVAL . GET THE VALUE 02490000 - 0004F2 0630 365 BCTR 3,0 . SUBTRACT ONE 02500000 - 0004F4 5030 2000 00000 366 ST 3,SMVAL . AND STORE IT BACK 02510000 - 0004F8 1233 367 LTR 3,3 . SET CONDITION CODE 02520000 - 0004FA 4740 1014 00502 368 BM XPWAIT . IF IT'S NEGATIVE, MUST WAIT 02530000 - 0004FE 8200 04D8 004D8 369 LPSW RETURN . ELSE RETURN NOW 02540000 - 000502 4140 2004 00004 370 XPWAIT LA 4,SMPTR . START GOING DOWN 02550000 - 000506 5850 2004 00004 371 L 5,SMPTR . CHAIN OF POINTERS 02560000 - 372 DROP 15 02570000 - R:5 00000 373 USING PCB,5 02580000 - 00050A 1255 374 XPLOOP LTR 5,5 . IF REACHED END 02590000 - 00050C 4780 102E 0051C 375 BZ XPTHEN . ADD OUR PCB ON. ELSE, 02600000 - 000510 4140 5030 00030 376 LA 4,PCBNSW . INCREMENT POINTERS 02610000 - 000514 5850 5030 00030 377 L 5,PCBNSW 02620000 - 000518 47F0 101C 0050A 378 B XPLOOP . AND TRY AGAIN 02630000 - 379 DROP 5 02640000 - R:F 00000 380 USING PCB,15 02650000 - 00051C D203 4000 0270 00000 00270 381 XPTHEN MVC 0(4,4),RUNNING . WE'RE AT THE END 02660000 - 000522 5050 F030 00030 382 ST 5,PCBNSW . STORE NULL POINTER 02670000 - 000526 92FF F019 00019 383 MVI PCBBLOKT,X'FF' . AND WE'RE BLOCKED 02680000 - 00052A D253 F04C 021C 0004C 0021C 384 MVC PCBISA,SYSSEMSA . SWITCH SAVE AREAS 02690000 - 000530 47F0 107C 0056A 385 B XPER . SO RUN SOMEONE ELSE 02700000 -1 Sample Operating System Version 2.00 Page 12 - Active Usings: PROGRAM,R0 PROGRAM+X'4EE',R1 SA,R14 PCB,R15 -0 Loc Object Code Addr1 Addr2 Stmt Source Statement HLASM R6.0 2016/08/29 08.42 -0 386 DROP 2 02710000 -1 Sample Operating System Version 2.00 Page 13 - Active Usings: PROGRAM,R0 PROGRAM+X'4EE',R1 SA,R14 PCB,R15 -0 Loc Object Code Addr1 Addr2 Stmt Source Statement HLASM R6.0 2016/08/29 08.42 -0 388 *********************************************************************** 02730000 - 389 * * 02740000 - 390 * XV ROUTINE * 02750000 - 391 * * 02760000 - 392 * FUNCTION: TO IMPLEMENT "V" PRIMITIVE FOR SEMAPHORES * 02770000 - 393 * DATABASES: UPON ENTRY, REGISTER 2 CONTAINS ADDRESS SM * 02780000 - 394 * SM DS 0D SEMAPHORE DEFINITION * 02790000 - 395 * SMVAL DS F VALUE * 02800000 - 396 * SMPTR DS A POINTER TO FIRST WAITER * 02810000 - 397 * ROUTINES USED: NONE * 02820000 - 398 * PROCEDURE: ADD ONE TO SMVAL; IF > ZERO, RETURN. IF ZERO OR * 02830000 - 399 * LESS, REMOVE FIRST PROCESS FROM WAITER CHAIN; * 02840000 - 400 * UNBLOCK IT; IF NEXTTRYM NOT SET, SET IT AND SET * 02850000 - 401 * NEXTTRY TO THAT PROCESS; RETURN; IF NEXTTRYM SET, * 02860000 - 402 * RETURN. * 02870000 - 403 * ERROR CHECKS: NONE * 02880000 - 404 * INTERRUPTS: OFF * 02890000 - 405 * USER ACCESS: NO * 02900000 - 406 * * 02910000 - 407 *********************************************************************** 02920000 -0 00534 409 XV EQU * . THE XV ROUTINE 02940000 - R:1 00534 410 USING *,1 02950000 - ** ASMA303W Multiple address resolutions may result from this USING and the USING on statement number 131 - ** ASMA435I Record 410 in /mbhfs/sos4k.asm on volume: - R:2 00000 411 USING SM,2 . ARGUMENT IS A SEMAPHORE 02960000 - 000534 5830 2000 00000 412 L 3,SMVAL . GET THE VALUE 02970000 - 000538 5A30 1924 00E58 413 A 3,=F'1' . ADD ONE 02980000 - 00053C 5030 2000 00000 414 ST 3,SMVAL . AND STORE IT BACK 02990000 - 000540 47D0 1014 00548 415 BNP XVWAKEUP . IF <=0, SOMEONE'S WAITING 03000000 - 000544 8200 04D8 004D8 416 LPSW RETURN . ELSE RETURN 03010000 - 000548 5840 2004 00004 417 XVWAKEUP L 4,SMPTR . GET THE FIRST OF THE GUYS 03020000 - 418 DROP 15 03030000 - R:4 00000 419 USING PCB,4 03040000 - 00054C D203 2004 4030 00004 00030 420 MVC SMPTR,PCBNSW . REMEMBER THE REST 03050000 - 000552 9200 4019 00019 421 MVI PCBBLOKT,X'00' . WE'RE NO LONGER BLOCKING HIM 03060000 - 000556 95FF 0278 00278 422 CLI NEXTTRYM,X'FF' . IS NEXT TRY MODIFIED? 03070000 - 00055A 4780 1032 00566 423 BE XVRET . IF SO, WELL OK 03080000 - 00055E 5040 0274 00274 424 ST 4,NEXTTRY ELSE MODIFY NEXTTRY 03090000 - 000562 92FF 0278 00278 425 MVI NEXTTRYM,X'FF' . AND SAY SO 03100000 - 000566 8200 04D8 004D8 426 XVRET LPSW RETURN . GET BACK 03110000 - 427 DROP 2,4 03120000 -1 Sample Operating System Version 2.00 Page 14 - Active Usings: PROGRAM,R0 PROGRAM+X'534',R1 SA,R14 -0 Loc Object Code Addr1 Addr2 Stmt Source Statement HLASM R6.0 2016/08/29 08.42 -0 429 *********************************************************************** 03140000 - 430 * * 03150000 - 431 * XPER ROUTINE (TRAFFIC CONTROLLER) * 03160000 - 432 * * 03170000 - 433 * FUNCTION: TO IMPLEMENT MULTIPROGRAMMING * 03180000 - 434 * DATABASES: NONE * 03190000 - 435 * ROUTINES USED: NONE * 03200000 - 436 * PROCEDURE: STARTING WITH NEXTTRY, SEARCH FOR PROCESS ON ALL * 03210000 - 437 * PCB CHAIN NOT BLOCKED OR STOPPED; IF FOUND, USE AS * 03220000 - 438 * NEW RUNNING, FOR 50 MS OF TIME AND RETURN. ELSE, * 03230000 - 439 * ENTER WAIT STATE WITH INTERRUPTS ON, AND TRY TO * 03240000 - 440 * SCHEDULE AGAIN AFTER INTERRUPT; RETURN. * 03250000 - 441 * ERROR CHECKS: NONE * 03260000 - 442 * INTERRUPTS: OFF * 03270000 - 443 * USER ACCESS: NO * 03280000 - 444 * * 03290000 - 445 *********************************************************************** 03300000 -0 0056A 447 XPER EQU * . ROUTINE XPER: TRAFFIC SCHEDULER 03320000 - 00056A 8000 0078 00078 448 SSM IONEW . MASK OFF INTERRUPTS 03330000 - 00056E 0510 449 BALR 1,0 03340000 - R:1 00570 450 USING *,1 03350000 - ** ASMA303W Multiple address resolutions may result from this USING and the USING on statement number 131 - ** ASMA435I Record 450 in /mbhfs/sos4k.asm on volume: - 000570 58A0 0274 00274 451 L 10,NEXTTRY . START LOOKING AT NEXTTRY 03360000 - 000574 18BA 452 LR 11,10 . REMEMBER WHICH THAT WAS 03370000 - R:A 00000 453 USING PCB,10 03380000 - 000576 95FF A019 00019 454 GWLOOP CLI PCBBLOKT,X'FF' . IF IT'S BLOCKED 03390000 - 00057A 4780 1016 00586 455 BE GWINC . IGNORE 03400000 - 00057E 95FF A018 00018 456 CLI PCBSTOPT,X'FF' . ELSE, IF IT'S NOT STOPPED 03410000 - 000582 4770 1030 005A0 457 BNE GWRUN . WE CAN RUN IT 03420000 - 000586 58A0 A010 00010 458 GWINC L 10,PCBNPALL . ELSE, GO TO THE NEXT 03430000 - 00058A 19AB 459 CR 10,11 . IF WE'VE SEEN ALL, QUIT 03440000 - 00058C 4770 1006 00576 460 BNE GWLOOP . ELSE TRY AGAIN 03450000 - 000590 8200 1028 00598 461 LPSW IDLE . SIT AND WAIT 03460000 - 000598 462 DS 0D 03470000 - 000598 FE0200000000056A 463 IDLE DC B'11111110',B'00000010',X'0000',X'00',AL3(XPER) 03480000 -00005A0 D203 0274 A010 00274 00010 465 GWRUN MVC NEXTTRY,PCBNPALL . GET A NEW NEXTTRY 03500000 - 0005A6 9200 0278 00278 466 MVI NEXTTRYM,X'00' . NOT MODIFIED 03510000 - 0005AA 50A0 0270 00270 467 ST 10,RUNNING . GET A NEW RUNNING 03520000 - 0005AE 41E0 A04C 0004C 468 LA 14,PCBISA 03530000 - 0005B2 D203 0050 104C 00050 005BC 469 MVC TIMER,QUANTUM . INTERRUPT AFTER 50 MS 03540000 - 0005B8 8200 04D8 004D8 470 LPSW RETURN . AND GO TO RETURNR 03550000 - 0005BC 00000F00 471 QUANTUM DC X'00000F00' . QUANTUM OF TIME 03560000 - 472 DROP 10 03570000 - R:F 00000 473 USING PCB,15 03580000 -1 Sample Operating System Version 2.00 Page 15 - Active Usings: PROGRAM,R0 PROGRAM+X'570',R1 SA,R14 PCB,R15 -0 Loc Object Code Addr1 Addr2 Stmt Source Statement HLASM R6.0 2016/08/29 08.42 -0 475 *********************************************************************** 03600000 - 476 * * 03610000 - 477 * XEXC ROUTINE * 03620000 - 478 * * 03630000 - 479 * FUNCTION: TO ENTER SMC SECTION * 03640000 - 480 * DATABASES: NONE * 03650000 - 481 * ROUTINES USED: NONE * 03660000 - 482 * PROCEDURE: INCREMENT SMC BYTE IN PCB BY ONE; RETURN. * 03670000 - 483 * ERROR CHECKS: NONE * 03680000 - 484 * INTERRUPTS: OFF * 03690000 - 485 * USER ACCESS: NO * 03700000 - 486 * * 03710000 - 487 *********************************************************************** 03720000 -0 005C0 489 XEXC EQU * . ROUTINE XEXC: ENTER SMC SECTION 03740000 - R:1 005C0 490 USING *,1 03750000 - ** ASMA303W Multiple address resolutions may result from this USING and the USING on statement number 131 - ** ASMA435I Record 490 in /mbhfs/sos4k.asm on volume: - 0005C0 1B88 491 SR 8,8 03760000 - 0005C2 4380 F01A 0001A 492 IC 8,PCBINSMC 03770000 - 0005C6 4188 0001 00001 493 LA 8,1(8) . ADD ONE TO SMC BYTE 03780000 - 0005CA 4280 F01A 0001A 494 STC 8,PCBINSMC 03790000 - 0005CE 8200 04D8 004D8 495 LPSW RETURN . AND LEAVE 03800000 -0 497 *********************************************************************** 03820000 - 498 * * 03830000 - 499 * XCOM ROUTINE * 03840000 - 500 * * 03850000 - 501 * FUNCTION: TO LEAVE SMC SECTION * 03860000 - 502 * DATABASES: NONE * 03870000 - 503 * ROUTINES USED: XP, XV * 03880000 - 504 * PROCEDURE: DECREMENT SMC BYTE IN PCB BY ONE; IF NOT ZERO, * 03890000 - 505 * RETURN. ELSE, CHECK FOR STOP WAITING; IF STOP * 03900000 - 506 * WAITING, ALLOW STOP AND BLOCK SELF; RETURN. IF NO * 03910000 - 507 * STOP WAITING, RETURN. * 03920000 - 508 * ERROR CHECKS: NONE * 03930000 - 509 * INTERRUPTS: OFF * 03940000 - 510 * USER ACCESS: NO * 03950000 - 511 * * 03960000 - 512 *********************************************************************** 03970000 -0 005D2 514 XCOM EQU * . ROUTINE XCOM: LEAVE SMC 03990000 - R:1 005D2 515 USING *,1 04000000 - ** ASMA303W Multiple address resolutions may result from this USING and the USING on statement number 131 - ** ASMA435I Record 515 in /mbhfs/sos4k.asm on volume: - 0005D2 1B88 516 SR 8,8 04010000 - 0005D4 4380 F01A 0001A 517 IC 8,PCBINSMC 04020000 - 0005D8 0680 518 BCTR 8,0 . SUBTRACT ONE FROM IN SMC BYTE 04030000 - 0005DA 4280 F01A 0001A 519 STC 8,PCBINSMC 04040000 - 0005DE 1288 520 LTR 8,8 . IS IT ZERO? 04050000 - 0005E0 4770 102A 005FC 521 BNZ XCOMRET . NO, THEN GET BACK, OTHERWISE 04060000 - 0005E4 9500 F01B 0001B 522 CLI PCBSW,X'00' . IS STOP WAITING? 04070000 - 0005E8 4780 102A 005FC 523 BE XCOMRET . IF NOT, RETURN 04080000 - 0005EC 9200 F01B 0001B 524 MVI PCBSW,X'00' . STOPS NOT WAITING AFTER THIS 04090000 - 0005F0 4120 F034 00034 525 LA 2,PCBSRS . WE'LL "V" THE STOPPER, 04100000 -1 Sample Operating System Version 2.00 Page 16 - Active Usings: PROGRAM,R0 PROGRAM+X'5D2',R1 SA,R14 PCB,R15 -0 Loc Object Code Addr1 Addr2 Stmt Source Statement HLASM R6.0 2016/08/29 08.42 -00005F4 0AE5 526 SVC C'V' 04110000 - 0005F6 4120 F03C 0003C 527 LA 2,PCBSES . AND "P" THE STOPPEE. 04120000 - 0005FA 0AD7 528 SVC C'P' 04130000 - 0005FC 8200 04D8 004D8 529 XCOMRET LPSW RETURN . AND HERE (IF EVER) WE RETURN 04140000 -1 Sample Operating System Version 2.00 Page 17 - Active Usings: PROGRAM,R0 PROGRAM+X'5D2',R1 SA,R14 PCB,R15 -0 Loc Object Code Addr1 Addr2 Stmt Source Statement HLASM R6.0 2016/08/29 08.42 -0 531 *********************************************************************** 04160000 - 532 * * 04170000 - 533 * XA ROUTINE * 04180000 - 534 * XAUTO ROUTINE * 04190000 - 535 * * 04200000 - 536 * FUNCTION: TO ALLOCATE MEMORY * 04210000 - 537 * DATABASES: UPON ENTRY, REGISTER 2 CONTAINS ADDRESS XAX: * 04220000 - 538 * XAX DS 0D * 04230000 - 539 * XAXSIZE DS F SIZE OF BLOCK TO BE ALLOCATED * 04240000 - 540 * XAXADDR DS A ADDRESS OF FIRST BYTE OF BLOCK* 04250000 - 541 * XAXALGN DS F ALIGNMENT OF BLOCK * 04260000 - 542 * ROUTINES USED: XEXC, XCOM, XP, XV, XB * 04270000 - 543 * PROCEDURE: LOCK FSB SEMAPHORE; SEARCH FREE STORAGE FOR LARGE * 04280000 - 544 * ENOUGH MEMORY BLOCK; ALIGN BOUNDARY; USE XB TO * 04290000 - 545 * CHAIN ANY LEFTOVER BLOCKS TO FREE STORAGE LIST; * 04300000 - 546 * PLACE ADDRESS OF ALLOCATED BLOCK IN XAXADDR; UNLOCK* 04310000 - 547 * FSB SEMAPHORE; RETURN. IF CAN'T SATISFY REQUEST, * 04320000 - 548 * UNLOCK FSB SEMAPHORE, APPLY XP ROUTINE TO MEMORY * 04330000 - 549 * SEMAPHORE, BLOCKING PROCESS RUNNING UNTIL MEMORY * 04340000 - 550 * FREED; THEN UNBLOCK; TRY TO SATISFY REQUEST AGAIN. * 04350000 - 551 * ERROR CHECKS: NONE * 04360000 - 552 * INTERRUPTS: ON * 04370000 - 553 * USER ACCESS: NO * 04380000 - 554 * * 04390000 - 555 *********************************************************************** 04400000 -0 00600 557 XA EQU * . THE XA ROUTINE, TO ALLOCATE 04420000 - R:1 00600 558 USING *,1 04430000 - ** ASMA303W Multiple address resolutions may result from this USING and the USING on statement number 131 - ** ASMA435I Record 558 in /mbhfs/sos4k.asm on volume: - 000600 4100 0001 00001 559 LA 0,1 . SET REGISTER ZERO TO ONE TO 04440000 - 000604 47F0 100E 0060E 560 B XACOM . INDICATE C'A' CALL 04450000 - 00608 561 XAUTO EQU * . AUTO STORAGE ENTRY POINT 04460000 - R:1 00608 562 USING *,1 04470000 - ** ASMA303W Multiple address resolutions may result from this USING and the USING on statement number 131 - ** ASMA435I Record 562 in /mbhfs/sos4k.asm on volume: - 000608 1B00 563 SR 0,0 . REG0=0 INDICATES C'E' CALL 04480000 - 00060A 5810 1854 00E5C 564 L 1,=A(XA) . RESET BASE REGISTER PROPERLY 04490000 - R:1 00600 565 USING XA,1 04500000 - ** ASMA303W Multiple address resolutions may result from this USING and the USING on statement number 131 - ** ASMA435I Record 565 in /mbhfs/sos4k.asm on volume: - 00060E 0A5A 566 XACOM SVC C'!' . ENTER SMC 04510000 - 000610 1872 567 LR 7,2 04520000 - R:7 00000 568 USING XAX,7 . ARGUMENT LIST 04530000 - 000612 5860 7000 00000 569 L 6,XAXSIZE . GET THE SIZE REQUESTED 04540000 - 000616 4120 0184 00184 570 XATOP LA 2,FSBSEM . LOCK THE FSB SEMAPHORE 04550000 - 00061A 0AD7 571 SVC C'P' . 04560000 - 00061C 4150 0180 00180 572 LA 5,FSBPTR . START LOOKING DOWN 04570000 - 000620 5840 0180 00180 573 L 4,FSBPTR . THE FREE STORAGE LIST 04580000 - 000624 5880 7008 00008 574 L 8,XAXALGN . WE WOULD HAVE TO START AT WITH 04590000 - 000628 0680 575 BCTR 8,0 . THIS CONSTANT TO FIND ALIGNMENT 04600000 - R:4 00000 576 USING FSB,4 04610000 - 00062A 1244 577 XALOOP LTR 4,4 . IF AT THE END 04620000 - 00062C 4780 1056 00656 578 BZ XAWAIT . WAIT UNTIL A "FREE" OP 04630000 - 000630 18D4 579 LR 13,4 . FIND THE LOCATION 04640000 -1 Sample Operating System Version 2.00 Page 18 - Active Usings: PROGRAM,R0 XA,R1 FSB,R4 XAX,R7 SA,R14 PCB,R15 -0 Loc Object Code Addr1 Addr2 Stmt Source Statement HLASM R6.0 2016/08/29 08.42 -0000632 06D0 580 BCTR 13,0 . IN THIS BLOCK WITH THIS 04650000 - 000634 16D8 581 OR 13,8 . ALIGNMENT 04660000 - 000636 41DD 0001 00001 582 LA 13,1(13) . THAT'S IT 04670000 - 00063A 189D 583 LR 9,13 . AND NOW GET IN REG 9 04680000 - 00063C 1B94 584 SR 9,4 . WHAT IS WASTED AT THE FRONT 04690000 - 00063E 5830 4004 00004 585 L 3,FSBSIZE . GET SIZE MINUS WASTE AT 04700000 - 000642 1B39 586 SR 3,9 . FRONT, LEAVING EFFECTIVE SIZE 04710000 - 000644 1963 587 CR 6,3 . IS IT ENOUGH? 04720000 - 000646 47D0 1062 00662 588 BNP XAFOUND . EUREKA! 04730000 - 00064A 4150 4000 00000 589 LA 5,FSBNEXT . OH WELL, GET THE NEXT FREE 04740000 - 00064E 5840 4000 00000 590 L 4,FSBNEXT . STORAGE BLOCK ON THE CHAIN 04750000 - 000652 47F0 102A 0062A 591 B XALOOP . BETTER LUCK NEXT TIME 04760000 - 000656 0AE5 592 XAWAIT SVC C'V' . NEED TO WAIT 04770000 - 000658 4120 018C 0018C 593 LA 2,MEMORY . SO WE LET OTHER PEOPLE GET IN 04780000 - 00065C 0AD7 594 SVC C'P' . SO THEY'LL WAKE US UP 04790000 - 00065E 47F0 1016 00616 595 B XATOP . AND THEN WE'LL TRY AGAIN 04800000 - 000662 50D0 7004 00004 596 XAFOUND ST 13,XAXADDR . WE'VE NOW GOT THE ADDRESS 04810000 - 000666 D203 5000 4000 00000 00000 597 MVC 0(4,5),FSBNEXT . UNLINK THE BLOCK OUT 04820000 - 00066C 58C0 4004 00004 598 L 12,FSBSIZE . GET THE WHOLE BLOCK SIZE 04830000 - 000670 4120 E048 00048 599 LA 2,SATEMP . START MAKING UP ARG LISTS 04840000 - R:2 00000 600 USING XBX,2 . FOR THE XB ROUTINE 04850000 - 000674 18AD 601 LR 10,13 . THE STARTING LOCATION 04860000 - 000676 1BA4 602 SR 10,4 . MINUS THE START OF THE BLOCK 04870000 - 000678 4780 1086 00686 603 BZ XANF . IF NONE WASTED AT THE FRONT, SKIP 04880000 - 00067C 5040 2004 00004 604 ST 4,XBXADDR . ELSE FREE, STARTING THERE 04890000 - 000680 50A0 2000 00000 605 ST 10,XBXSIZE . UP TO THE BEGINNING OF THE 04900000 - 000684 0AC2 606 SVC C'B' . ALLOCATION; INSERT IT IN THE CHAIN 04910000 - 000686 18BD 607 XANF LR 11,13 . THE STARTING ADDR PLUS THE SIZE 04920000 - 000688 1AB6 608 AR 11,6 . GIVES THE FIRST UNUSED ADDR 04930000 - 00068A 1BCA 609 SR 12,10 . MINUS THE WASTE AT FRONT, 04940000 - 00068C 1BC6 610 SR 12,6 . MINUS THE PART ALLOCATED. IF 04950000 - 00068E 4780 109C 0069C 611 BZ XARETURN . NONE LEFT OVER, GOOD 04960000 - 000692 50B0 2004 00004 612 ST 11,XBXADDR . ELSE STORE ADDRESS AND 04970000 - 000696 50C0 2000 00000 613 ST 12,XBXSIZE . SIZE, AND LINK ONTO 04980000 - 00069A 0AC2 614 SVC C'B' . FREE STORAGE LIST 04990000 - 615 DROP 2 05000000 - 00069C 4120 0184 00184 616 XARETURN LA 2,FSBSEM . WE ARE DONE, SO NOW SOMEONE 05010000 - 0006A0 0AE5 617 SVC C'V' . ELSE CAN COME IN 05020000 - 0006A2 1200 618 LTR 0,0 . IS THIS FOR AUTOMATIC STORAGE? 05030000 - 0006A4 4770 10B0 006B0 619 BNZ XABACK . IF NOT, RETURN NOW 05040000 - 0006A8 5060 F044 00044 620 ST 6,PCBASIZE . OTHERWISE STORE SIZE AND 05050000 - 0006AC 50D0 F048 00048 621 ST 13,PCBAADDR . ADDRESS OF AUTOMATIC STORAGE 05060000 - 0006B0 0A6B 622 XABACK SVC C',' . LEAVE SMC SECTION 05070000 - 0006B2 8200 04D8 004D8 623 LPSW RETURN . GET BACK JOJO 05080000 - 624 DROP 4,7 05090000 -1 Sample Operating System Version 2.00 Page 19 - Active Usings: PROGRAM,R0 XA,R1 SA,R14 PCB,R15 -0 Loc Object Code Addr1 Addr2 Stmt Source Statement HLASM R6.0 2016/08/29 08.42 -0 626 *********************************************************************** 05110000 - 627 * * 05120000 - 628 * XF ROUTINE * 05130000 - 629 * * 05140000 - 630 * FUNCTION: TO FREE MEMORY * 05150000 - 631 * DATABASES: UPON ENTRY, REGISTER 2 CONTAINS ADDRESS XFX: * 05160000 - 632 * XFX DS 0D * 05170000 - 633 * XFXSIZE DS F SIZE OF BLOCK TO BE FREED * 05180000 - 634 * XFXADDR DS A ADDRESS OF FIRST BYTE OF BLOCK* 05190000 - 635 * ROUTINES USED: XEXC, XP, XV, XB, XCOM * 05200000 - 636 * PROCEDURE: LOCK FSB SEMAPHORE; SEARCH FREE STORAGE LIST TO * 05210000 - 637 * FIND IF ANY FREE BLOCK CONTIGUOUSLY FOLLOWS OR * 05220000 - 638 * PRECEDES BLOCK TO BE FREED; IF THERE IS ANY, * 05230000 - 639 * COMPACT THEM INTO A SINGLE BLOCK OF COMBINED SIZE; * 05240000 - 640 * USE XB TO CHAIN COMPACTED BLOCK ONTO FREE STORAGE * 05250000 - 641 * LIST; WAKEUP ALL PROCESSES WAITING ON MEMORY * 05260000 - 642 * SEMAPHORE; UNLOCK FSB SEMAPHORE; RETURN * 05270000 - 643 * ERROR CHECKS: NONE * 05280000 - 644 * INTERRUPTS: ON * 05290000 - 645 * USER ACCESS: NO * 05300000 - 646 * * 05310000 - 647 *********************************************************************** 05320000 -0 006B6 649 XF EQU * . THE XF ROUTINE, TO FREE STORAGE 05340000 - R:1 006B6 650 USING *,1 05350000 - ** ASMA303W Multiple address resolutions may result from this USING and the USING on statement number 131 - ** ASMA435I Record 650 in /mbhfs/sos4k.asm on volume: - 0006B6 0A5A 651 SVC C'!' . ENTER SMC SECTION 05360000 - 0006B8 1872 652 LR 7,2 05370000 - R:7 00000 653 USING XFX,7 . THE ARGUMENT LIST 05380000 - 0006BA 5830 7000 00000 654 L 3,XFXSIZE . GET THE SIZE 05390000 - 0006BE 5840 7004 00004 655 L 4,XFXADDR . AND THE ADDRESS 05400000 - 0006C2 1853 656 LR 5,3 . GET THE ADDRESS OF THE END OF THE 05410000 - 0006C4 1A54 657 AR 5,4 . BLOCK TO BE FREED 05420000 - 0006C6 4120 0184 00184 658 LA 2,FSBSEM . LOCK FSBSEM 05430000 - 0006CA 0AD7 659 SVC C'P' 05440000 - 0006CC 4180 0180 00180 660 LA 8,FSBPTR . START LOOKING DOWN THE FREE 05450000 - 0006D0 5860 0180 00180 661 L 6,FSBPTR . STORAGE LIST, FOR COMPACTION 05460000 - R:6 00000 662 USING FSB,6 05470000 - 0006D4 1266 663 XFLOOP LTR 6,6 . ARE WE THROUGH? 05480000 - 0006D6 4780 105E 00714 664 BZ XFLINK . IF SO, JUST ADD IT ON 05490000 - 0006DA 5890 6000 00000 665 L 9,FSBNEXT . IF NOT. GET THE NEXT PTR 05500000 - 0006DE 1965 666 CR 6,5 . IS THIS BLOCK RIGHT AFTER OURS? 05510000 - 0006E0 4770 103A 006F0 667 BNE XFTHEN . IF NOT, OK. BUT IF IT IS, 05520000 - 0006E4 5098 0000 00000 668 ST 9,0(8) . WE CAN COMPACT, SO UNCHAIN IT 05530000 - 0006E8 5A30 6004 00004 669 A 3,FSBSIZE . AND REMEMBER THE NEW SIZE 05540000 - 0006EC 47F0 1050 00706 670 B XFBACKUP . AND ON TO THE NEXT 05550000 - 0006F0 18A6 671 XFTHEN LR 10,6 . MAYBE IT'S RIGHT BEFORE OURS 05560000 - 0006F2 5AA0 6004 00004 672 A 10,FSBSIZE . GET ENDING ADDRESS OF FREE BLOCK 05570000 - 0006F6 19A4 673 CR 10,4 . IS IT RIGHT BEFORE OURS? 05580000 - 0006F8 4770 1052 00708 674 BNE XFINC . OH FUDGE! NO! 05590000 - 0006FC 5098 0000 00000 675 ST 9,0(8) . IF SO, UNLINK IT 05600000 - 000700 1846 676 LR 4,6 . GET THE NEW BEGINNING LOCATION 05610000 - 000702 5A30 6004 00004 677 A 3,FSBSIZE . AND NEW SIZE OF FREE BLOCK 05620000 - 000706 1868 678 XFBACKUP LR 6,8 . BACK UP ONE FSB 05630000 -1 Sample Operating System Version 2.00 Page 20 - Active Usings: PROGRAM,R0 PROGRAM+X'6B6',R1 FSB,R6 XFX,R7 SA,R14 PCB,R15 -0 Loc Object Code Addr1 Addr2 Stmt Source Statement HLASM R6.0 2016/08/29 08.42 -0000708 4180 6000 00000 679 XFINC LA 8,FSBNEXT . ON TO THE NEXT FSB 05640000 - 00070C 5860 6000 00000 680 L 6,FSBNEXT 05650000 - 000710 47F0 101E 006D4 681 B XFLOOP . TRY, TRY AGAIN 05660000 - 000714 4120 E048 00048 682 XFLINK LA 2,SATEMP . START TO CALL XB 05670000 - R:2 00000 683 USING XBX,2 05680000 - 000718 5030 2000 00000 684 ST 3,XBXSIZE . STORE SIZE 05690000 - 00071C 5040 2004 00004 685 ST 4,XBXADDR . AND ADDRESS 05700000 - 000720 0AC2 686 SVC C'B' . LINK IT ONTO THE FSB CHAIN 05710000 - R:2 00000 687 USING SM,2 05720000 - 000722 4120 018C 0018C 688 LA 2,MEMORY . GET VALUE OF MEMORY SEMAPHORE 05730000 - 000726 41B0 0001 00001 689 LA 11,1(0,0) . SUBTRACT FROM ONE, IT'S A HANDLE 05740000 - 00072A 5BB0 2000 00000 690 S 11,SMVAL . ON THE # OF PEOPLE WAITING 05750000 - 691 DROP 2 05760000 - 00072E 46B0 1088 0073E 692 XFVLOOP BCT 11,XFVDO . LOOP IF ANYONE ELSE IS WAITING 05770000 - 000732 4120 0184 00184 693 LA 2,FSBSEM . WE'RE THROUGH, SO 05780000 - 000736 0AE5 694 SVC C'V' . UNBLOCK FSBSEM 05790000 - 000738 0A6B 695 SVC C',' . LEAVE SMC 05800000 - 00073A 8200 04D8 004D8 696 LPSW RETURN . RETURN 05810000 - 00073E 0AE5 697 XFVDO SVC C'V' . WAKE SOMEONE UP 05820000 - 000740 47F0 1078 0072E 698 B XFVLOOP . TRY AGAIN FOR ANOTHER 05830000 - 699 DROP 6,7 05840000 -1 Sample Operating System Version 2.00 Page 21 - Active Usings: PROGRAM,R0 PROGRAM+X'6B6',R1 SA,R14 PCB,R15 -0 Loc Object Code Addr1 Addr2 Stmt Source Statement HLASM R6.0 2016/08/29 08.42 -0 701 *********************************************************************** 05860000 - 702 * * 05870000 - 703 * XB ROUTINE * 05880000 - 704 * * 05890000 - 705 * FUNCTION: TO CHAIN A STORAGE BLOCK ONTO FREE STORAGE LIST * 05900000 - 706 * DATABASES: UPON ENTRY, REGISTER 2 CONTAINS ADDRESS XBX: * 05910000 - 707 * XBX DS 0D * 05920000 - 708 * XBXSIZE DS F SIZE OF BLOCK * 05930000 - 709 * XBXADDR DS A ADDRESS OF FIRST BYTE OF BLOCK* 05940000 - 710 * ROUTINES USED: NONE * 05950000 - 711 * PROCEDURE: SEARCH FREE STORAGE LIST TO FIND WHERE TO INSERT * 05960000 - 712 * FREE BLOCK IN ORDER OF INCREASING SIZE; FORMAT * 05970000 - 713 * BLOCK LIKE AN FSB; INSERT; RETURN. * 05980000 - 714 * ERROR CHECKS: NONE * 05990000 - 715 * INTERRUPTS: OFF * 06000000 - 716 * USER ACCESS: NO * 06010000 - 717 * COMMENTS: SINCE XB ROUTINE ONLY CALLED BY XA AND XF, FSB * 06020000 - 718 * SEMAPHORE IS ALREADY LOCKED. * 06030000 - 719 * * 06040000 - 720 *********************************************************************** 06050000 -0 00744 722 XB EQU * 06070000 - R:1 00744 723 USING *,1 06080000 - ** ASMA303W Multiple address resolutions may result from this USING and the USING on statement number 131 - ** ASMA435I Record 723 in /mbhfs/sos4k.asm on volume: - R:2 00000 724 USING XBX,2 . ARGUMENT LIST 06090000 - 000744 5830 2000 00000 725 L 3,XBXSIZE . GET THE SIZE 06100000 - 000748 5840 2004 00004 726 L 4,XBXADDR . AND THE ADDRESS 06110000 - 00074C 4180 0180 00180 727 LA 8,FSBPTR . START LOOKING DOWN THE CHAIN 06120000 - 000750 5860 0180 00180 728 L 6,FSBPTR 06130000 - 000754 1266 729 LTR 6,6 . IF ZERO POINTER, WE ARE AT 06140000 - 000756 4780 102C 00770 730 BZ XBINSERT . END OF CHAIN ALREADY 06150000 - R:6 00000 731 USING FSB,6 06160000 - 00075A 5930 6004 00004 732 XBLOOP C 3,FSBSIZE . IF THE SIZE OF OURS IS LESS, 06170000 - 00075E 47D0 102C 00770 733 BNP XBINSERT . TIME TO INSERT 06180000 - 000762 4180 6000 00000 734 LA 8,FSBNEXT . ELSE GO ON TO THE NEXT 06190000 - 000766 5860 6000 00000 735 L 6,FSBNEXT 06200000 - 00076A 1266 736 LTR 6,6 . IF NOT ALREADY THROUGH 06210000 - 00076C 4770 1016 0075A 737 BNZ XBLOOP . BRANCH BACK 06220000 - 000770 5048 0000 00000 738 XBINSERT ST 4,0(8) . NOW, LINK OURS ON 06230000 - 739 DROP 6 06240000 - R:4 00000 740 USING FSB,4 06250000 - 000774 5060 4000 00000 741 ST 6,FSBNEXT . MAKE OURS POINT TO THE NEXT 06260000 - 000778 5030 4004 00004 742 ST 3,FSBSIZE . WITH THE RIGHT SIZE 06270000 - 00077C 8200 04D8 004D8 743 LPSW RETURN . AND RETURN 06280000 - 744 DROP 2,4 06290000 -1 Sample Operating System Version 2.00 Page 22 - Active Usings: PROGRAM,R0 PROGRAM+X'744',R1 SA,R14 PCB,R15 -0 Loc Object Code Addr1 Addr2 Stmt Source Statement HLASM R6.0 2016/08/29 08.42 -0 746 *********************************************************************** 06310000 - 747 * * 06320000 - 748 * XC ROUTINE * 06330000 - 749 * * 06340000 - 750 * FUNCTION: TO CREATE A PROCESS * 06350000 - 751 * DATABASES: UPON ENTRY, REGISTER 2 CONTAINS ADDRESS XCX: * 06360000 - 752 * XCX DS 0D * 06370000 - 753 * XCXNAME DS CL8 NAME OF PROCESS TO BE CREATED * 06380000 - 754 * ROUTINES USED: XEXC, XCOM, XN, XA, XI, XQUE * 06390000 - 755 * PROCEDURE: USE XA TO ALLOCATE NEW PCB; PLACE XCXNAME IN PCB; * 06400000 - 756 * INITIALIZE SEMAPHORES; STOP; BLOCK; OUT OF SMC; * 06410000 - 757 * CALL XI TO LINK PCB ONTO PCB CHAINS; RETURN. * 06420000 - 758 * ERROR CHECKS: IF NAME ALREADY USED IN THIS GROUP, XQUE ENTERED. * 06430000 - 759 * INTERRUPTS: ON * 06440000 - 760 * USER ACCESS: YES * 06450000 - 761 * * 06460000 - 762 *********************************************************************** 06470000 -0 00780 764 XC EQU * . THE XC ROUTINE: CREATE A PROCESS 06490000 - R:1 00780 765 USING *,1 06500000 - ** ASMA303W Multiple address resolutions may result from this USING and the USING on statement number 131 - ** ASMA435I Record 765 in /mbhfs/sos4k.asm on volume: - 000780 1872 766 LR 7,2 06510000 - R:7 00000 767 USING XCX,7 . ARGUMENT LIST 06520000 - 000782 4120 E048 00048 768 LA 2,SATEMP . READY TO MAKE CALLS OUT 06530000 - R:2 00000 769 USING XNX,2 . A XN-LIKE ARGUMENT LIST 06540000 - 000786 D207 2000 7000 00000 00000 770 MVC XNXNAME,XCXNAME . GET THE NAME 06550000 - 00078C 0AD5 771 SVC C'N' . AND CALL TO FIND THE PCB 06560000 - 00078E D503 2008 16E0 00008 00E60 772 CLC XNXADDR,=A(0) . SEE IF THERE 06570000 - 000794 4770 1044 007C4 773 BNE XCERR . IF ALREADY EXISTS, BAD 06580000 - 000798 0A5A 774 SVC C'!' . ENTER SMC SECTION 06590000 - 775 DROP 2 06600000 - R:2 00000 776 USING XAX,2 . READY TO CALL XA 06610000 - 00079A D203 2000 16E4 00000 00E64 777 MVC XAXSIZE,=A(LENPCB) . WE KNOW THE SIZE 06620000 - 0007A0 D203 2008 16E8 00008 00E68 778 MVC XAXALGN,=F'8' . AND THE ALIGNMENT 06630000 - 0007A6 0AC1 779 SVC C'A' . SO CALL 06640000 - 0007A8 5820 2004 00004 780 L 2,XAXADDR . FIND THE ADDRESS 06650000 - 781 DROP 2,15 06660000 - R:2 00000 782 USING PCB,2 . FILL IN THE PCB 06670000 - 0007AC D207 2000 7000 00000 00000 783 MVC PCBNAME,XCXNAME . GIVE IT A NAME 06680000 - 0007B2 92FF 2018 00018 784 MVI PCBSTOPT,X'FF' . IT'S STOPPED 06690000 - 0007B6 D232 2019 1B01 00019 01281 785 MVC PCBBLOKT(PCBISA-PCBBLOKT),TEMPLATE+1 INITIALIZE PCB 06700000 - 0007BC 0AC9 786 SVC C'I' . THREAD IT ON 06710000 - 0007BE 0A6B 787 SVC C',' . LEAVE SMC SECTION 06720000 - 0007C0 8200 04D8 004D8 788 LPSW RETURN . AND RETURN 06730000 - 0007C4 0A6F 789 XCERR SVC C'?' . IF ALREADY EXISTS,KERROR 06740000 - 790 DROP 2,7 06750000 -1 Sample Operating System Version 2.00 Page 23 - Active Usings: PROGRAM,R0 PROGRAM+X'780',R1 SA,R14 -0 Loc Object Code Addr1 Addr2 Stmt Source Statement HLASM R6.0 2016/08/29 08.42 -0 792 *********************************************************************** 06770000 - 793 * * 06780000 - 794 * XD ROUTINE * 06790000 - 795 * * 06800000 - 796 * FUNCTION: TO DESTROY A PROCESS * 06810000 - 797 * DATABASES: UPON ENTRY, REGISTER 2 CONTAINS ADDRESS XDX: * 06820000 - 798 * XDX DS 0D * 06830000 - 799 * XDXNAME DS CL8 NAME OF PROCESS TO BE DESTROYED* 06840000 - 800 * ROUTINES USED: XEXC, XJ, XS, XN, XF, XCOM, XQUE * 06850000 - 801 * PROCEDURE: USE XN TO FIND PCB FOR PROCESS TO BE DESTROYED; * 06860000 - 802 * USE XJ TO UNLOCK PCB FROM PROCESS CHAINS; IF ANY * 06870000 - 803 * MESSAGES FOR THIS PROCESS, FREE STORAGE FOR THEM; * 06880000 - 804 * IF THERE IS ANY AUTOMATIC STORAGE, FREE IT; * 06890000 - 805 * FREE STORAGE FOR PCB; RETURN. * 06900000 - 806 * ERROR CHECKS: IF NAME DOESN'T EXIST OR PROCESS NOT STOPPED, * 06910000 - 807 * XQUE ENTERED. * 06920000 - 808 * INTERRUPTS: ON * 06930000 - 809 * USER ACCESS: YES * 06940000 - 810 * * 06950000 - 811 *********************************************************************** 06960000 -0 007C6 813 XD EQU * . XD ROUTINE: DESTROY A PROCESS 06980000 - R:1 007C6 814 USING *,1 06990000 - ** ASMA303W Multiple address resolutions may result from this USING and the USING on statement number 131 - ** ASMA435I Record 814 in /mbhfs/sos4k.asm on volume: - 0007C6 1872 815 LR 7,2 07000000 - R:7 00000 816 USING XDX,7 . ARG LIST 07010000 - 0007C8 4120 E048 00048 817 LA 2,SATEMP . READY TO CALL OUT 07020000 - R:2 00000 818 USING XNX,2 . WILL CALL XN 07030000 - 0007CC D207 2000 7000 00000 00000 819 MVC XNXNAME,XDXNAME . GET NAME 07040000 - 0007D2 0AD5 820 SVC C'N' . AND CALL 07050000 - 0007D4 5820 2008 00008 821 L 2,XNXADDR . GET ADDRESS 07060000 - 822 DROP 2 07070000 - 0007D8 1222 823 LTR 2,2 . IF ADDRESS IS NULL, 07080000 - 0007DA 4780 107A 00840 824 BZ XDERR . IT'S AN ERROR 07090000 - R:2 00000 825 USING PCB,2 07100000 - 0007DE 95FF 2018 00018 826 CLI PCBSTOPT,X'FF' . IF NOT STOPPED 07110000 - 0007E2 4770 107A 00840 827 BNE XDERR . IT'S AN ERROR 07120000 - 0007E6 0A5A 828 SVC C'!' . ENTER SMC SECTION 07130000 - 829 DROP 2 07140000 - R:F 00000 830 USING PCB,15 07150000 - 0007E8 0AD1 831 SVC C'J' . ELSE UNTHREAD THE ENTRY 07160000 - 0007EA 1882 832 LR 8,2 . REMEMBER THE PCB POINTER 07170000 - 0007EC 4120 E048 00048 833 LA 2,SATEMP . READY TO CALL OUT AGAIN 07180000 - R:8 00000 834 USING PCB,8 07190000 - ** ASMA300W USING overridden by a prior active USING on statement number 830 - ** ASMA435I Record 834 in /mbhfs/sos4k.asm on volume: - 835 DROP 15 07200000 - 0007F0 5890 802C 0002C 836 L 9,PCBFM . GET FIRST MESSAGE 07210000 - 0007F4 1299 837 XDLOOP LTR 9,9 . ANY MORE MESSAGES? 07220000 - 0007F6 4780 1054 0081A 838 BZ XDCHECK . IF NOT, FINISH UP 07230000 - R:9 00000 839 USING MSG,9 07240000 - 0007FA 58A0 9004 00004 840 L 10,MSGNEXT . ELSE REMEMBER NEXT 07250000 - 0007FE 58B0 9008 00008 841 L 11,MSGSIZE . GET THE SIZE 07260000 - 000802 41BB 000F 0000F 842 LA 11,15(11) . AND MAKE IT SOME NUMBER 07270000 -1 Sample Operating System Version 2.00 Page 24 - Active Usings: PROGRAM,R0 PROGRAM+X'7C6',R1 XDX,R7 PCB,R8 MSG,R9 SA,R14 -0 Loc Object Code Addr1 Addr2 Stmt Source Statement HLASM R6.0 2016/08/29 08.42 -0000806 54B0 16A6 00E6C 843 N 11,=F'-8' . OF DOUBLEWORDS 07280000 - R:2 00000 844 USING XFX,2 07290000 - 00080A 5090 2004 00004 845 ST 9,XFXADDR . FREE THE LOCATION 07300000 - 00080E 50B0 2000 00000 846 ST 11,XFXSIZE . THE NUMBER OF WORDS 07310000 - 000812 0AC6 847 SVC C'F' . DO IT 07320000 - 000814 189A 848 LR 9,10 . ON TO THE NEXT 07330000 - 000816 47F0 102E 007F4 849 B XDLOOP . GET THE NEXT MESSAGE 07340000 - 00081A D503 8048 169A 00048 00E60 850 XDCHECK CLC PCBAADDR(4),=A(0) . HAS AUTOMATIC STORAGE BEEN 07350000 - 000820 4780 1068 0082E 851 BE XDTHEN . ALLOCATED? IF NOT, GO FINISH UP 07360000 - 000824 4120 8044 00044 852 LA 2,PCBASIZE . SET UP THE ARGUMENT LIST 07370000 - 000828 0AC6 853 SVC C'F' . FREE IT 07380000 - 00082A 4120 E048 00048 854 LA 2,SATEMP . RESET REGISTER 2 07390000 - 00082E 5080 2004 00004 855 XDTHEN ST 8,XFXADDR . READY TO FREE THE PCB 07400000 - 000832 D203 2000 169E 00000 00E64 856 MVC XFXSIZE,=A(LENPCB) . THE SIZE 07410000 - 000838 0AC6 857 SVC C'F' . FREE IT 07420000 - 00083A 0A6B 858 SVC C',' . LEAVE SMC 07430000 - 00083C 8200 04D8 004D8 859 LPSW RETURN . AND RETURN 07440000 - 000840 0A6F 860 XDERR SVC C'?' . IF PROCESS DOES NOT EXIST 07450000 - 861 DROP 2,7,8,9 07460000 - R:F 00000 862 USING PCB,15 07470000 -- - 864 *********************************************************************** 07490000 - 865 * * 07500000 - 866 * XH ROUTINE * 07510000 - 867 * * 07520000 - 868 * FUNCTION: TO HALT A JOB * 07530000 - 869 * DATABASES: NONE * 07540000 - 870 * ROUTINES USED: XS, XR * 07550000 - 871 * PROCEDURE: SEND MESSAGE TO SUPERVISOR PROCESS FOR THIS JOB * 07560000 - 872 * INDICATING NORMAL TERMINATION; TRIES TO READ * 07570000 - 873 * MESSAGES FOREVER LOOPING; BLOCKS ITSELF, THEREBY * 07580000 - 874 * NEVER RETURNING. * 07590000 - 875 * ERROR CHECKS: NONE * 07600000 - 876 * INTERRUPTS: ON * 07610000 - 877 * USER ACCESS: YES * 07620000 - 878 * COMMENTS: USER NORMALLY USES THIS ROUTINE TO END A JOB. * 07630000 - 879 * * 07640000 - 880 *********************************************************************** 07650000 -0 00842 882 XH EQU * . THE XH ROUTINE: HALT A JOB 07670000 - R:1 00842 883 USING *,1 07680000 - ** ASMA303W Multiple address resolutions may result from this USING and the USING on statement number 131 - ** ASMA435I Record 883 in /mbhfs/sos4k.asm on volume: - 000842 4120 1012 00854 884 LA 2,XHMSG1 . SEND A MESSAGE TO *IBSUP 07690000 - 000846 0AE2 885 SVC C'S' . SEND IT 07700000 - 000848 4120 102A 0086C 886 XHLOOP LA 2,XHMSG2 . READY TO READ A REPLY 07710000 - 00084C 0AD9 887 SVC C'R' . WHICH NEVER COMES 07720000 - 00084E 47F0 1006 00848 888 B XHLOOP . BUT IF IT DOES WERE READY 07730000 - 000854 889 DS 0F 07740000 - 000854 5CC9C2E2E4D74040 890 XHMSG1 DC CL8'*IBSUP' . SAY TO *IBSUP 07750000 - 00085C 0000000C 891 DC F'12' . TWELVE CHARACTERS 07760000 - 000860 D7D9D6C7D9C1D440 892 DC C'PROGRAM HALT' . SAYING WERE OK 07770000 - 00086C 893 XHMSG2 DS CL8 . WHO SENDS US A MESSAGE 07780000 -1 Sample Operating System Version 2.00 Page 25 - Active Usings: PROGRAM,R0 PROGRAM+X'842',R1 SA,R14 PCB,R15 -0 Loc Object Code Addr1 Addr2 Stmt Source Statement HLASM R6.0 2016/08/29 08.42 -0000874 00000001 894 DC F'1' . ONE CHARACTER 07790000 - 000878 895 DS CL1,0H . WHICH GOES HERE 07800000 -1 Sample Operating System Version 2.00 Page 26 - Active Usings: PROGRAM,R0 PROGRAM+X'842',R1 SA,R14 PCB,R15 -0 Loc Object Code Addr1 Addr2 Stmt Source Statement HLASM R6.0 2016/08/29 08.42 -0 897 *********************************************************************** 07820000 - 898 * * 07830000 - 899 * XI ROUTINE * 07840000 - 900 * * 07850000 - 901 * FUNCTION: TO CHAIN A PCB ONTO PROCESS CHAINS * 07860000 - 902 * DATABASES: UPON ENTRY, REGISTER 2 CONTAINS ADDRESS OF A PCB * 07870000 - 903 * ROUTINES USED: NONE * 07880000 - 904 * PROCEDURE: POINTER USED TO CHAIN PCB INTO ALL PCB CHAIN AND * 07890000 - 905 * THIS GROUP CHAIN RIGHT AFTER RUNNING PCB; RETURN. * 07900000 - 906 * ERROR CHECKS: NONE * 07910000 - 907 * INTERRUPTS: OFF * 07920000 - 908 * USER ACCESS: NO * 07930000 - 909 * * 07940000 - 910 *********************************************************************** 07950000 -0 0087A 912 XI EQU * . THE XI ROUTINE: THREAD IN A PCB 07970000 - R:1 0087A 913 USING *,1 07980000 - ** ASMA303W Multiple address resolutions may result from this USING and the USING on statement number 131 - ** ASMA435I Record 913 in /mbhfs/sos4k.asm on volume: - 00087A 58A0 F010 00010 914 L 10,PCBNPALL . GET THE NEXT 'ALL' PCB 07990000 - 00087E 5020 F010 00010 915 ST 2,PCBNPALL . STORE THIS PCB RIGNT AFTER MINE 08000000 - 916 DROP 15 08010000 - R:A 00000 917 USING PCB,10 08020000 - 000882 5020 A014 00014 918 ST 2,PCBLPALL . THE NEXT ONE DOWN POINTS BACK 08030000 - 919 DROP 10 08040000 - R:2 00000 920 USING PCB,2 08050000 - 000886 50F0 2014 00014 921 ST 15,PCBLPALL . THIS PCB POINTS BACK 08060000 - 00088A 50A0 2010 00010 922 ST 10,PCBNPALL . AND FORWARD 08070000 - 923 DROP 2 08080000 - R:F 00000 924 USING PCB,15 08090000 - 00088E 58A0 F008 00008 925 L 10,PCBNPTG . GET NEXT "THIS GROUP" PCB 08100000 - 000892 5020 F008 00008 926 ST 2,PCBNPTG . RUNNING PCB POINTS TO NEW MEMBER 08110000 - 927 DROP 15 . OF PROCESS GROUP 08120000 - R:A 00000 928 USING PCB,10 08130000 - 000896 5020 A00C 0000C 929 ST 2,PCBLPTG . NEXT PCB DOWN POINTS BACK 08140000 - 930 DROP 10 08150000 - R:2 00000 931 USING PCB,2 08160000 - 00089A 50F0 200C 0000C 932 ST 15,PCBLPTG . AND WE POINT BACKWARD 08170000 - 00089E 50A0 2008 00008 933 ST 10,PCBNPTG . AND FORWARD 08180000 - 934 DROP 2 08190000 - 0008A2 8200 04D8 004D8 935 LPSW RETURN . RETURN 08200000 - R:F 00000 936 USING PCB,15 08210000 -1 Sample Operating System Version 2.00 Page 27 - Active Usings: PROGRAM,R0 PROGRAM+X'87A',R1 SA,R14 PCB,R15 -0 Loc Object Code Addr1 Addr2 Stmt Source Statement HLASM R6.0 2016/08/29 08.42 -0 938 *********************************************************************** 08230000 - 939 * * 08240000 - 940 * XJ ROUTINE * 08250000 - 941 * * 08260000 - 942 * FUNCTION: TO UNCHAIN A PCB FROM PROCESS CHAINS * 08270000 - 943 * DATABASES: UPON ENTRY, REGISTER 2 CONTAINS ADDRESS OF A PCB * 08280000 - 944 * ROUTINES USED: NONE * 08290000 - 945 * PROCEDURE: POINTERS TO PCB IN ALL PCB CHAIN AND THIS GROUP * 08300000 - 946 * CHAIN MODIFIED WITHOUT FREEING STORAGE; RETURN. * 08310000 - 947 * ERROR CHECKS: NONE * 08320000 - 948 * INTERRUPTS: OFF * 08330000 - 949 * USER ACCESS: NO * 08340000 - 950 * * 08350000 - 951 *********************************************************************** 08360000 -0 008A6 953 XJ EQU * . THE XJ ROUTINE: UNTHREAD A PCB 08380000 - R:1 008A6 954 USING *,1 08390000 - ** ASMA303W Multiple address resolutions may result from this USING and the USING on statement number 131 - ** ASMA435I Record 954 in /mbhfs/sos4k.asm on volume: - 955 DROP 15 08400000 - R:2 00000 956 USING PCB,2 08410000 - 0008A6 58B0 2014 00014 957 L 11,PCBLPALL . GET PRECEDING PCB 08420000 - 0008AA 58A0 2010 00010 958 L 10,PCBNPALL . AND FOLLOWING ONE IN "ALL" 08430000 - 959 DROP 2 . CHAIN 08440000 - R:B 00000 960 USING PCB,11 08450000 - 0008AE 50A0 B010 00010 961 ST 10,PCBNPALL . LAST POINTS TO NEXT 08460000 - 962 DROP 11 08470000 - R:A 00000 963 USING PCB,10 08480000 - 0008B2 50B0 A014 00014 964 ST 11,PCBLPALL . NEXT POINTS TO LAST 08490000 - 965 DROP 10 08500000 - R:2 00000 966 USING PCB,2 08510000 - 0008B6 58B0 200C 0000C 967 L 11,PCBLPTG . REDO FOR THIS GROUP PCB CHAIN 08520000 - 0008BA 58A0 2008 00008 968 L 10,PCBNPTG 08530000 - 969 DROP 2 08540000 - R:B 00000 970 USING PCB,11 08550000 - 0008BE 50A0 B008 00008 971 ST 10,PCBNPTG . LAST POINTS TO NEXT 08560000 - 972 DROP 11 08570000 - R:A 00000 973 USING PCB,10 08580000 - 0008C2 50B0 A00C 0000C 974 ST 11,PCBLPTG . NEXT POINTS TO LAST 08590000 - 975 DROP 10 08600000 - 0008C6 8200 04D8 004D8 976 LPSW RETURN . AND RETURN 08610000 - R:F 00000 977 USING PCB,15 08620000 -1 Sample Operating System Version 2.00 Page 28 - Active Usings: PROGRAM,R0 PROGRAM+X'8A6',R1 SA,R14 PCB,R15 -0 Loc Object Code Addr1 Addr2 Stmt Source Statement HLASM R6.0 2016/08/29 08.42 -0 979 *********************************************************************** 08640000 - 980 * * 08650000 - 981 * XN ROUTINE * 08660000 - 982 * * 08670000 - 983 * FUNCTION: TO FIND THE PCB FOR A PROCESS GIVEN ITS NAME ONLY * 08680000 - 984 * DATABASES: UPON ENTRY, REGISTER 2 CONTAINS ADDRESS XNX * 08690000 - 985 * XNX DS 0D * 08700000 - 986 * XNXNAME DS CL8 NAME OF PROCESS * 08710000 - 987 * XNXADDR DS A ADDRESS OF PCB * 08720000 - 988 * ROUTINES USED: NONE * 08730000 - 989 * PROCEDURE: SEARCH THIS GROUP PCB CHAIN FOR NAME; IF FOUND, * 08740000 - 990 * STORE POINTER IN XNXADDR. IF NOT FOUND, STORE * 08750000 - 991 * ZERO IN XNXADDR; RETURN. * 08760000 - 992 * ERROR CHECKS: NONE * 08770000 - 993 * INTERRUPTS: OFF * 08780000 - 994 * USER ACCESS: YES * 08790000 - 995 * * 08800000 - 996 *********************************************************************** 08810000 -0 008CA 998 XN EQU * . THE XN ROUTINE: FIND A NAMED PCB 08830000 - R:1 008CA 999 USING *,1 08840000 - ** ASMA303W Multiple address resolutions may result from this USING and the USING on statement number 131 - ** ASMA435I Record 999 in /mbhfs/sos4k.asm on volume: - R:2 00000 1000 USING XNX,2 . THE ARG LIST 08850000 - 0008CA 18AF 1001 LR 10,15 . FIRST PCB TO LOOK AT IS OURS 08860000 - 1002 DROP 15 08870000 - R:A 00000 1003 USING PCB,10 08880000 - 0008CC 58A0 A008 00008 1004 XNXLOOP L 10,PCBNPTG . LOOK AT NEXT PCB 08890000 - 0008D0 D507 A000 2000 00000 00000 1005 CLC PCBNAME,XNXNAME . HAS IT THE RIGHT NAME? 08900000 - 0008D6 4780 101A 008E4 1006 BE XNXFOUND . IF YES, OH JOY. 08910000 - 0008DA 19AF 1007 CR 10,15 . IF NOT, ARE WE THROUGH? 08920000 - 0008DC 4770 1002 008CC 1008 BNE XNXLOOP . IF NOT, TRY THE NEXT PCB 08930000 - 0008E0 41A0 0000 00000 1009 LA 10,0 . ELSE, IT'S NOT HERE 08940000 - 0008E4 50A0 2008 00008 1010 XNXFOUND ST 10,XNXADDR . FOUND IT. SAY WHERE. 08950000 - 0008E8 8200 04D8 004D8 1011 LPSW RETURN . AND RETURN 08960000 - 1012 DROP 2,10 08970000 - R:F 00000 1013 USING PCB,15 08980000 -1 Sample Operating System Version 2.00 Page 29 - Active Usings: PROGRAM,R0 PROGRAM+X'8CA',R1 SA,R14 PCB,R15 -0 Loc Object Code Addr1 Addr2 Stmt Source Statement HLASM R6.0 2016/08/29 08.42 -0 1015 *********************************************************************** 09000000 - 1016 * * 09010000 - 1017 * XR ROUTINE * 09020000 - 1018 * * 09030000 - 1019 * FUNCTION: TO READ A MESSAGE * 09040000 - 1020 * DATABASES: UPON ENTRY, REGISTER 2 CONTAINS ADDRESS XRX * 09050000 - 1021 * XRX DS 0D * 09060000 - 1022 * XRXNAME DS CL8 NAME OF SENDER PROCESS * 09070000 - 1023 * XRXSIZE DS F SIZE OF MESSAGE TEXT * 09080000 - 1024 * XRXTEXT DS C TEXT OF MESSAGE * 09090000 - 1025 * ROUTINES USED: XP, XEXC, XN, XCOM, XF * 09100000 - 1026 * PROCEDURE: USE XP ON MESSAGE SEMAPHORE RECEIVER TO SEE IF ANY * 09110000 - 1027 * MESSAGES WAITING; IF NONE, PROCESS BLOCKED UNTIL * 09120000 - 1028 * THERE IS ONE; LOCK MESSAGE CHAIN; REMOVE A MESSAGE * 09130000 - 1029 * FROM CHAIN AND UNLOCK IT; MOVE TEXT OF MESSAGE, * 09140000 - 1030 * PADDING WITH BLANKS OR TRUNCATING AS NECESSARY; * 09150000 - 1031 * INDICATE CORRECT MESSAGE LENGTH AND NAME OF * 09160000 - 1032 * MESSAGE SENDER; FREE STORAGE USED TO HOLD MESSAGE, * 09170000 - 1033 * AND RETURN. * 09180000 - 1034 * ERROR CHECKS: NONE * 09190000 - 1035 * INTERRUPTS: ON * 09200000 - 1036 * USER ACCESS: YES * 09210000 - 1037 * * 09220000 - 1038 *********************************************************************** 09230000 -0 008EC 1040 XR EQU * . THE XR ROUTINE: READ A MESSAGE 09250000 - R:1 008EC 1041 USING *,1 09260000 - ** ASMA303W Multiple address resolutions may result from this USING and the USING on statement number 131 - ** ASMA435I Record 1041 in /mbhfs/sos4k.asm on volume: - 0008EC 1872 1042 LR 7,2 09270000 - R:7 00000 1043 USING XRX,7 . ARG LIST 09280000 - 0008EE 4120 F024 00024 1044 LA 2,PCBMSR . SEE IF MESSAGES WAITING 09290000 - 0008F2 0AD7 1045 SVC C'P' 09300000 - 0008F4 0A5A 1046 SVC C'!' . ENTER SMC SECTION 09310000 - 0008F6 4120 F01C 0001C 1047 LA 2,PCBMSC . THEN LOCK THE MESSAGE CHAIN 09320000 - 0008FA 0AD7 1048 SVC C'P' 09330000 - 0008FC 5850 F02C 0002C 1049 L 5,PCBFM . GET THE FIRST MESSAGE 09340000 - R:5 00000 1050 USING MSG,5 09350000 - 000900 D203 F02C 5004 0002C 00004 1051 MVC PCBFM,MSGNEXT . REMEMBER THE NEXT 09360000 - 000906 0AE5 1052 SVC C'V' . UNLOCK THE MESSAGE CHAIN 09370000 - 000908 5860 7008 00008 1053 L 6,XRXSIZE . GET THE BUFFER CAPACITY 09380000 - 00090C 5B60 1584 00E70 1054 S 6,=F'2' . MINUS 1, MINUS 1 09390000 - 000910 9240 700C 0000C 1055 MVI XRXTEXT,C' ' . MOVE IN A BLANK 09400000 - 000914 4740 1030 0091C 1056 BM XRNOB 09410000 - 000918 4460 1080 0096C 1057 EX 6,XRFILL . THEN FILL THE REST WITH BLANKS 09420000 - 00091C 4166 0001 00001 1058 XRNOB LA 6,1(6) . THEN GET PROPER BUFFER COUNT 09430000 - 000920 5960 5008 00008 1059 C 6,MSGSIZE . COMPARE WITH MESSAGE LENGTH 09440000 - 000924 4740 1042 0092E 1060 BL XRTHEN . IF LESS, HANDLE ACCORDINGLY 09450000 - 000928 5860 5008 00008 1061 L 6,MSGSIZE . ELSE COUNT FOR MVC IS MESSAGE 09460000 - 00092C 0660 1062 BCTR 6,0 . SIZE MINUS ONE 09470000 - 00092E 1266 1063 XRTHEN LTR 6,6 . ANY CHARACTERS TO MOVE? 09480000 - 000930 4740 104C 00938 1064 BM XRAFT . IF NOT, DON'T 09490000 - 000934 4460 1086 00972 1065 EX 6,XRMOVE . ELSE MOVE THEM 09500000 - 000938 4166 0001 00001 1066 XRAFT LA 6,1(6) . THEN GET LENGTH 09510000 - 00093C 5060 7008 00008 1067 ST 6,XRXSIZE . STORE IT 09520000 -1 Sample Operating System Version 2.00 Page 30 - Active Usings: PROGRAM,R0 PROGRAM+X'8EC',R1 MSG,R5 XRX,R7 SA,R14 PCB,R15 -0 Loc Object Code Addr1 Addr2 Stmt Source Statement HLASM R6.0 2016/08/29 08.42 -0000940 58A0 5000 00000 1068 L 10,MSGSENDR . GET SENDER'S PCB 09530000 - 1069 DROP 15 09540000 - R:A 00000 1070 USING PCB,10 09550000 - 000944 D207 7000 A000 00000 00000 1071 MVC XRXNAME,PCBNAME . AND STORE SENDER'S NAME 09560000 - 00094A 5860 5008 00008 1072 L 6,MSGSIZE . GET SIZE OF MESSAGE TEXT 09570000 - 00094E 4166 000C 0000C 1073 LA 6,LENMSG(6) . ADD SIZE OF MESSAGE BLOCK 09580000 - 000952 4166 0007 00007 1074 LA 6,7(6) . AND TRUNCATE 09590000 - 000956 5460 1580 00E6C 1075 N 6,=F'-8' . UP 09600000 - 00095A 1825 1076 LR 2,5 . SET UP POINTER TO XFX 09610000 - R:2 00000 1077 USING XFX,2 09620000 - 00095C 5050 2004 00004 1078 ST 5,XFXADDR . STORE ADDRESS 09630000 - 000960 5060 2000 00000 1079 ST 6,XFXSIZE . STORE SIZE 09640000 - 000964 0AC6 1080 SVC C'F' . AND FREE THE MESSAGE BLOCK 09650000 - 000966 0A6B 1081 SVC C',' . LEAVE SMC 09660000 - 000968 8200 04D8 004D8 1082 LPSW RETURN . AND RETURN 09670000 - 00096C D200 700D 700C 0000D 0000C 1083 XRFILL MVC XRXTEXT+1,XRXTEXT . FILL WITH BLANKS 09680000 - 000972 D200 700C 500C 0000C 0000C 1084 XRMOVE MVC XRXTEXT,MSGTEXT . MOVE TEXT 09690000 - 1085 DROP 2,5,7,10 09700000 - R:F 00000 1086 USING PCB,15 09710000 -- - 1088 *********************************************************************** 09730000 - 1089 * * 09740000 - 1090 * XS ROUTINE * 09750000 - 1091 * * 09760000 - 1092 * FUNCTION: TO SEND A MESSAGE * 09770000 - 1093 * DATABASES: UPON ENTRY, REGISTER 2 CONTAINS ADDRESS XSX * 09780000 - 1094 * XSX DS 0D * 09790000 - 1095 * XSXNAME DS CL8 NAME OF TARGET PROCESS * 09800000 - 1096 * XSXSIZE DS F SIZE OF TEXT * 09810000 - 1097 * XSXTEXT DS C TEXT OF MESSAGE * 09820000 - 1098 * ROUTINES USED: XP, XV, XEXC, XCOM, XA, XQUE * 09830000 - 1099 * PROCEDURE: USE XN TO GET POINTER TO PCB OF TARGET PROCESS; * 09840000 - 1100 * USE LENGTH OF MESSAGE AND XA TO ALLOCATE BLOCK FOR * 09850000 - 1101 * MESSAGE; LOCK MESSAGE CHAIN OF TARGET PROCESS; * 09860000 - 1102 * PUT MESSAGE BLOCK AT END OF CHAIN; STORE SENDER * 09870000 - 1103 * NAME, SIZE, AND TEXT OF MESSAGE; UNLOCK CHAIN; * 09880000 - 1104 * INDICATE MESSAGE CHAIN IS ONE LONGER; RETURN. * 09890000 - 1105 * ERROR CHECKS: IF NO PROCESS BY GIVEN NAME, ENTER XQUE. * 09900000 - 1106 * INTERRUPTS: ON * 09910000 - 1107 * USER ACCESS: YES * 09920000 - 1108 * * 09930000 - 1109 *********************************************************************** 09940000 -0 00978 1111 XS EQU * . THE XS ROUTINE: SEND MESSAGES 09960000 - R:1 00978 1112 USING *,1 09970000 - ** ASMA303W Multiple address resolutions may result from this USING and the USING on statement number 131 - ** ASMA435I Record 1112 in /mbhfs/sos4k.asm on volume: - 000978 1872 1113 LR 7,2 09980000 - R:7 00000 1114 USING XSX,7 . ARG LIST 09990000 - 00097A 4120 E048 00048 1115 LA 2,SATEMP . READY TO CALL OUT 10000000 - R:2 00000 1116 USING XNX,2 . ABOUT TO CALL XN 10010000 - 00097E D207 2000 7000 00000 00000 1117 MVC XNXNAME,XSXNAME . GIVE NAME OF TARGET PROCESS 10020000 - 000984 0AD5 1118 SVC C'N' . SEE WHERE IT IS 10030000 -1 Sample Operating System Version 2.00 Page 31 - Active Usings: PROGRAM,R0 PROGRAM+X'978',R1 XNX,R2 XSX,R7 SA,R14 PCB,R15 -0 Loc Object Code Addr1 Addr2 Stmt Source Statement HLASM R6.0 2016/08/29 08.42 -0000986 5840 2008 00008 1119 L 4,XNXADDR . GET THE POINTER 10040000 - 00098A 1244 1120 LTR 4,4 . IS THERE INDEED ONE? 10050000 - 00098C 4780 108A 00A02 1121 BZ XSERR . IF NOT, ERROR 10060000 - R:4 00000 1122 USING PCB,4 10070000 - ** ASMA300W USING overridden by a prior active USING on statement number 1086 - ** ASMA435I Record 1122 in /mbhfs/sos4k.asm on volume: - 1123 DROP 2,15 10080000 - R:2 00000 1124 USING XAX,2 . READY TO CALL XA 10090000 - 000990 0A5A 1125 SVC C'!' . ENTERING SMC SECTION 10100000 - 000992 5830 7008 00008 1126 L 3,XSXSIZE . GET THE STATED SIZE 10110000 - 000996 4133 000C 0000C 1127 LA 3,LENMSG(3) . PLUS THE AMOUNT OF OVERHEAD 10120000 - 00099A 4133 0007 00007 1128 LA 3,7(3) . AND TRUNCATE 10130000 - 00099E 5430 14F4 00E6C 1129 N 3,=F'-8' . UP 10140000 - 0009A2 5030 2000 00000 1130 ST 3,XAXSIZE . THAT'S THE SIZE OF THE REGION TO 10150000 - 0009A6 D203 2008 14F0 00008 00E68 1131 MVC XAXALGN,=F'8' . ALLOCATE, ON A DOUBLEWORD BOUND 10160000 - 0009AC 0AC1 1132 SVC C'A' . SO ALLOCATE ALREADY 10170000 - 0009AE 5850 2004 00004 1133 L 5,XAXADDR . GET THE ADDRESS 10180000 - 1134 DROP 2 10190000 - 0009B2 4120 401C 0001C 1135 LA 2,PCBMSC . GET THE MESSAGE CHAIN SEMAPHORE 10200000 - 0009B6 0AD7 1136 SVC C'P' . AND LOCK IT 10210000 - 0009B8 4180 402C 0002C 1137 LA 8,PCBFM . THEN START DOWN THE MESSAGE 10220000 - 0009BC 5890 402C 0002C 1138 L 9,PCBFM . CHAIN 10230000 - R:9 00000 1139 USING MSG,9 10240000 - 0009C0 1299 1140 XSLOOP LTR 9,9 . ARE WE THROUGH? 10250000 - 0009C2 4780 105A 009D2 1141 BZ XSADD . IF SO ADD IT ON 10260000 - 0009C6 4180 9004 00004 1142 LA 8,MSGNEXT . IF NOT, ON TO THE NEXT 10270000 - 0009CA 5890 9004 00004 1143 L 9,MSGNEXT 10280000 - 0009CE 47F0 1048 009C0 1144 B XSLOOP . AND TRY AGAIN 10290000 - 0009D2 5058 0000 00000 1145 XSADD ST 5,0(8) . CHAIN OURS ON THE END 10300000 - 1146 DROP 9 10310000 - R:5 00000 1147 USING MSG,5 10320000 - 0009D6 D203 5004 14E8 00004 00E60 1148 MVC MSGNEXT,=A(0) . SET NEXT POINTER NULL 10330000 - 0009DC 50F0 5000 00000 1149 ST 15,MSGSENDR . STORE THE SENDER 10340000 - 0009E0 5860 7008 00008 1150 L 6,XSXSIZE . GET THE TEXT LENGTH 10350000 - 0009E4 5060 5008 00008 1151 ST 6,MSGSIZE . AND STORE IT 10360000 - 0009E8 0660 1152 BCTR 6,0 . ONE LESS 10370000 - 0009EA 1266 1153 LTR 6,6 . TEST LENGTH 10380000 - 0009EC 4740 107C 009F4 1154 BM XSAFT . IF ZERO, NOTHING TO MOVE 10390000 - 0009F0 4460 108C 00A04 1155 EX 6,XSMOVE . ELSE, MOVE IT 10400000 - 0009F4 0AE5 1156 XSAFT SVC C'V' . UNLOCK THE MESSAGE CHAIN 10410000 - 0009F6 4120 4024 00024 1157 LA 2,PCBMSR . THEN SAY THERE'S 10420000 - 0009FA 0AE5 1158 SVC C'V' . ONE MORE MESSAGE 10430000 - 0009FC 0A6B 1159 SVC C',' . LEAVE SMC SECTION 10440000 - 0009FE 8200 04D8 004D8 1160 LPSW RETURN . AND RETURN 10450000 - 000A02 0A6F 1161 XSERR SVC C'?' 10460000 - 000A04 D200 500C 700C 0000C 0000C 1162 XSMOVE MVC MSGTEXT,XSXTEXT . THE MOVE FOR THE TEXT 10470000 - 1163 DROP 4,5,7 10480000 - R:F 00000 1164 USING PCB,15 10490000 -1 Sample Operating System Version 2.00 Page 32 - Active Usings: PROGRAM,R0 PROGRAM+X'978',R1 SA,R14 PCB,R15 -0 Loc Object Code Addr1 Addr2 Stmt Source Statement HLASM R6.0 2016/08/29 08.42 -0 1166 *********************************************************************** 10510000 - 1167 * * 10520000 - 1168 * XY ROUTINE * 10530000 - 1169 * * 10540000 - 1170 * FUNCTION: TO START A PROCESS * 10550000 - 1171 * DATABASES: UPON ENTRY, REGISTER 2 CONTAINS ADDRESS XYX * 10560000 - 1172 * XYX DS 0D * 10570000 - 1173 * XYXNAME DS CL8 NAME OF PROCESS TO BE STARTED * 10580000 - 1174 * XYXADDR DS A STARTING ADDRESS OF PROCESS * 10590000 - 1175 * ROUTINES USED: XN, XEXC, XCOM, XQUE * 10600000 - 1176 * PROCEDURE: USE XN TO GET POINTER TO THE PCB OF PROCESS TO BE * 10610000 - 1177 * STARTED; STORE IN PCB INTERRUPT SAVE AREA REGISTERS* 10620000 - 1178 * AND PSW WITH STARTING ADDRESS AS SENT FROM STARTING* 10630000 - 1179 * PROCESS; STOPPED BIT TURNED OFF; RETURN. * 10640000 - 1180 * ERROR CHECKS: IF NO PROCESS BY GIVEN NAME, XQUE ENTERED. * 10650000 - 1181 * INTERRUPTS: OFF * 10660000 - 1182 * USER ACCESS: YES * 10670000 - 1183 * * 10680000 - 1184 *********************************************************************** 10690000 -0 00A0A 1186 XY EQU * . THE XY ROUTINE: START A PROCESS 10710000 - R:1 00A0A 1187 USING *,1 10720000 - ** ASMA303W Multiple address resolutions may result from this USING and the USING on statement number 131 - ** ASMA435I Record 1187 in /mbhfs/sos4k.asm on volume: - 000A0A 1872 1188 LR 7,2 10730000 - R:7 00000 1189 USING XYX,7 . THE ARG LIST 10740000 - 000A0C 4120 E048 00048 1190 LA 2,SATEMP . READY TO CALL OUT 10750000 - R:2 00000 1191 USING XNX,2 10760000 - 000A10 D207 2000 7000 00000 00000 1192 MVC XNXNAME,XYXNAME . GIVE XN A NAME 10770000 - 000A16 0AD5 1193 SVC C'N' . CALL XN 10780000 - 000A18 58A0 2008 00008 1194 L 10,XNXADDR . WHERE IS THE PCB? 10790000 - 000A1C 12AA 1195 LTR 10,10 . OR IS THERE ONE? 10800000 - 000A1E 4780 1036 00A40 1196 BZ XYERR . IF NOT, OH HISS BOO 10810000 - 1197 DROP 2,14,15 10820000 - R:A 00000 1198 USING PCB,10 10830000 - 000A22 41D0 A04C 0004C 1199 LA 13,PCBISA . GET INTO THAT PCB'S ISA 10840000 - R:D 00000 1200 USING SA,13 10850000 - 000A26 D207 D000 E000 00000 00000 1201 MVC SAPSW,(SAPSW-SA)(14) . GIVE IT THE CALLER'S PSW 10860000 - 000A2C D202 D005 7009 00005 00009 1202 MVC SAPSW+5(3),XYXADDR+1 . BUT AT THE REQUESTED ADDRESS 10870000 - 000A32 D23F D008 E008 00008 00008 1203 MVC SAREGS,(SAREGS-SA)(14) .GIVE IT HIS REGISTERS 10880000 - 000A38 9200 A018 00018 1204 MVI PCBSTOPT,X'00' . IT'S NO LONGER STOPPED 10890000 - 000A3C 8200 04D8 004D8 1205 LPSW RETURN . AND RETURN 10900000 - 000A40 0A6F 1206 XYERR SVC C'?' . WE DONE BAD 10910000 - 1207 DROP 7,10,13 10920000 - R:E 00000 1208 USING SA,14 10930000 - R:F 00000 1209 USING PCB,15 10940000 -1 Sample Operating System Version 2.00 Page 33 - Active Usings: PROGRAM,R0 PROGRAM+X'A0A',R1 SA,R14 PCB,R15 -0 Loc Object Code Addr1 Addr2 Stmt Source Statement HLASM R6.0 2016/08/29 08.42 -0 1211 *********************************************************************** 10960000 - 1212 * * 10970000 - 1213 * XZ ROUTINE * 10980000 - 1214 * * 10990000 - 1215 * FUNCTION: TO STOP A PROCESS * 11000000 - 1216 * DATABASES: UPON ENTRY, REGISTER 2 CONTAINS ADDRESS XZX * 11010000 - 1217 * XZX DS 0D * 11020000 - 1218 * XZXNAME DS CL8 NAME OF PROCESS TO BE STOPPED * 11030000 - 1219 * ROUTINES USED: XN, XEXC, XCOM, XQUE, XP * 11040000 - 1220 * PROCEDURE: CHECK THAT USER PROCESS CAN'T STOP SYSTEM * 11050000 - 1221 * PROCESS; USE XN TO GET PCB POINTER; IF IN SMC, SET * 11060000 - 1222 * STOP WAITING BIT AND BLOCK SELF UNTIL STOP * 11070000 - 1223 * PERFORMED; ELSE SET STOPPED BIT, AND RETURN. * 11080000 - 1224 * ERROR CHECKS: IF NO PROCESS BY GIVEN NAME OR USER TRIES TO * 11090000 - 1225 * STOP A SYSTEM PROCESS, XQUE ENTERED. * 11100000 - 1226 * INTERRUPTS: ON * 11110000 - 1227 * USER ACCESS: YES * 11120000 - 1228 * * 11130000 - 1229 *********************************************************************** 11140000 -0 00A42 1231 XZ EQU * . THE XZ ROUTINE: STOP A PROCESS 11160000 - R:1 00A42 1232 USING *,1 11170000 - ** ASMA303W Multiple address resolutions may result from this USING and the USING on statement number 131 - ** ASMA435I Record 1232 in /mbhfs/sos4k.asm on volume: - 000A42 1872 1233 LR 7,2 11180000 - R:7 00000 1234 USING XZX,7 . ARG LIST 11190000 - 000A44 955C F000 00000 1235 CLI PCBNAME,C'*' . IS STOPPER A * PROCESS 11200000 - 000A48 4780 1012 00A54 1236 BE XZFINE . THAT'S OK 11210000 - 000A4C 955C 7000 00000 1237 CLI XZXNAME,C'*' . IF NOT, IS STOPPEE A * ? 11220000 - 000A50 4780 104A 00A8C 1238 BE XZERR . CAN'T DO THAT 11230000 - 000A54 4120 E048 00048 1239 XZFINE LA 2,SATEMP . READY TO CALL OUT 11240000 - R:2 00000 1240 USING XNX,2 . WILL CALL XN 11250000 - 000A58 D207 2000 7000 00000 00000 1241 MVC XNXNAME,XZXNAME . GIVE IT THE NAME 11260000 - 000A5E 0AD5 1242 SVC C'N' . AND DO THE CALL 11270000 - 000A60 58A0 2008 00008 1243 L 10,XNXADDR . GET THE PCB'S ADDRESS 11280000 - 000A64 12AA 1244 LTR 10,10 . SEE IF NULL 11290000 - 000A66 4780 104A 00A8C 1245 BZ XZERR . IF SO, ERROR 11300000 - 000A6A 0A5A 1246 SVC C'!' . ENTER SMC 11310000 - 1247 DROP 2,15 11320000 - R:A 00000 1248 USING PCB,10 11330000 - 000A6C 9500 A01A 0001A 1249 XZSTOP CLI PCBINSMC,X'00' . SEE IF IN SMC 11340000 - 000A70 4770 103C 00A7E 1250 BNE XZINSMC . IF SO, BAD 11350000 - 000A74 92FF A018 00018 1251 MVI PCBSTOPT,X'FF' . ELSE JUST STOP IT 11360000 - 000A78 0A6B 1252 SVC C',' . LEAVE SMC 11370000 - 000A7A 8200 04D8 004D8 1253 LPSW RETURN . AND RETURN 11380000 - 000A7E 92FF A01B 0001B 1254 XZINSMC MVI PCBSW,X'FF' . IF IN SMC, SAY STOP WAITING 11390000 - 000A82 4120 A034 00034 1255 LA 2,PCBSRS . AND STOP OURSELVES AGAINST 11400000 - 000A86 0AD7 1256 SVC C'P' . A SEMAPHORE 11410000 - 000A88 47F0 102A 00A6C 1257 B XZSTOP . THEN WE CAN REALLY STOP IT 11420000 - 000A8C 0A6F 1258 XZERR SVC C'?' . AN ERROR 11430000 - 1259 DROP 10,7 11440000 - R:F 00000 1260 USING PCB,15 11450000 -1 Sample Operating System Version 2.00 Page 34 - Active Usings: PROGRAM,R0 PROGRAM+X'A42',R1 SA,R14 PCB,R15 -0 Loc Object Code Addr1 Addr2 Stmt Source Statement HLASM R6.0 2016/08/29 08.42 -0 1262 *********************************************************************** 11470000 - 1263 * * 11480000 - 1264 * XQUE ROUTINE * 11490000 - 1265 * * 11500000 - 1266 * FUNCTION: TO SIGNAL ERROR CONDITION * 11510000 - 1267 * DATABASES: NONE * 11520000 - 1268 * ROUTINES USED: XR, XS * 11530000 - 1269 * PROCEDURE: SEND MESSAGE TO SUPERVISOR PROCESS FOR THIS JOB * 11540000 - 1270 * INDICATING ABNORMAL TERMINATION; TRY TO READ * 11550000 - 1271 * MESSAGES, FOREVER LOOPING; BLOCK ITSELF, THEREBY * 11560000 - 1272 * NEVER RETURNING. * 11570000 - 1273 * ERROR CHECKS: NONE * 11580000 - 1274 * INTERRUPTS: OFF * 11590000 - 1275 * USER ACCESS: YES * 11600000 - 1276 * * 11610000 - 1277 *********************************************************************** 11620000 -0 00A8E 1279 XQUE EQU * . THE XQUE ROUTINE: ERROR! 11640000 - R:1 00A8E 1280 USING *,1 11650000 - ** ASMA303W Multiple address resolutions may result from this USING and the USING on statement number 131 - ** ASMA435I Record 1280 in /mbhfs/sos4k.asm on volume: - 000A8E 4120 1012 00AA0 1281 LA 2,XQUEM1 . SEND AN ERROR MESSAGE TO *IBSUP 11660000 - 000A92 0AE2 1282 SVC C'S' 11670000 - 000A94 4120 102A 00AB8 1283 XQUELOOP LA 2,XQUEM2 . WAIT FOR REPLY 11680000 - 000A98 0AD9 1284 SVC C'R' 11690000 - 000A9A 47F0 1006 00A94 1285 B XQUELOOP . BUT IGNORE IT 11700000 - 000AA0 1286 DS 0F 11710000 - 000AA0 5CC9C2E2E4D74040 1287 XQUEM1 DC CL8'*IBSUP' 11720000 - 000AA8 0000000C 1288 DC F'12' 11730000 - 000AAC D7D9D6C7D9C1D440 1289 DC CL12'PROGRAM FLOP' 11740000 - 000AB8 1290 XQUEM2 DS CL8 11750000 - 000AC0 00000001 1291 DC F'1' 11760000 - 000AC4 1292 DS CL1,0H 11770000 - 1293 DROP 14,15 11780000 -1 Sample Operating System Version 2.00 Page 35 - Active Usings: PROGRAM,R0 PROGRAM+X'A8E',R1 -0 Loc Object Code Addr1 Addr2 Stmt Source Statement HLASM R6.0 2016/08/29 08.42 -0 1295 *********************************************************************** 11800000 - 1296 * * 11810000 - 1297 * INPUT/OUTPUT ROUTINES * 11820000 - 1298 * * 11830000 - 1299 *********************************************************************** 11840000 -0 1301 *********************************************************************** 11860000 - 1302 * * 11870000 - 1303 * SYSTEM SUPPLIED DEVICE HANDLER FOR READERS * 11880000 - 1304 * * 11890000 - 1305 *********************************************************************** 11900000 -0 00AC6 1307 RDRHANDL EQU * . THE READER HANDLER 11920000 - R:3 00000 1308 USING UCB,3 . STARTED WITH REG3 -> UCB 11930000 - 000AC6 0510 1309 BALR 1,0 11940000 - R:1 00AC8 1310 USING *,1 . ESTABLISH ADDRESSING 11950000 - ** ASMA303W Multiple address resolutions may result from this USING and the USING on statement number 131 - ** ASMA435I Record 1310 in /mbhfs/sos4k.asm on volume: - 000AC8 4120 1160 00C28 1311 LA 2,RDRHSEM . LOCK OURSELVES UNTIL WE SET UP 11960000 - 000ACC 0AD7 1312 SVC C'P' . AN AUTOMATIC STORAGE AREA 11970000 - 000ACE 4120 1174 00C3C 1313 LA 2,RDRHAAS . READY TO ALLOCATE 11980000 - R:2 00000 1314 USING XAX,2 11990000 - 000AD2 0AC5 1315 SVC C'E' . ALLOCATE 12000000 - 000AD4 58C0 2004 00004 1316 L 12,XAXADDR . GET A PTR 12010000 - 1317 DROP 2 12020000 - 000AD8 4120 1160 00C28 1318 LA 2,RDRHSEM . AND UNBLOCK OURSELVES 12030000 - 000ADC 0AE5 1319 SVC C'V' 12040000 - 000ADE 8840 0010 00010 1320 SRL 4,16 . SHIFT KEY 12050000 - 000AE2 1BAA 1321 SR 10,10 . CLEAR REG 10 12060000 - R:C 00000 1322 USING RDRHAS,12 . AUTOMATIC AREA 12070000 - 000AE4 9200 C07A 0007A 1323 MVI JOBBIT,X'00' . INITIALIZE 12080000 - 000AE8 4160 C000 00000 1324 LA 6,RDRHCCB . GET PTR TO CCB 12090000 - 000AEC 4120 C008 00008 1325 RDRHLOOP LA 2,RDRHMSG . TRY TO READ A MESSAGE 12100000 - R:2 00000 1326 USING XRX,2 12110000 - 000AF0 D203 2008 13A0 00008 00E68 1327 MVC XRXSIZE,=F'8' . WE CAN TAKE 8 CHARS 12120000 - 000AF6 0AD9 1328 SVC C'R' . READ IT 12130000 - 000AF8 D503 13AC 200C 00E74 0000C 1329 CLC =C'READ',XRXTEXT . IF FIRST WORD IS READ, OK 12140000 - 000AFE 4770 1024 00AEC 1330 BNE RDRHLOOP . ELSE IGNORE 12150000 - 000B02 5850 2010 00010 1331 L 5,XRXTEXT+4 . GET 2ND WORD OF TEXT 12160000 - 1332 DROP 2 12170000 - 000B06 4120 3004 00004 1333 LA 2,UCBUS . LOCK THE UCB AND IT'S UNIT 12180000 - 000B0A 0AD7 1334 SVC C'P' 12190000 - 000B0C 4120 C008 00008 1335 LA 2,RDRHMSG . RESET ADDRESSING POINTER 12200000 - R:2 00000 1336 USING XRX,2 12210000 - 000B10 95FF C07A 0007A 1337 CLI JOBBIT,X'FF' . HAVE WE JUST READ $JOB CARD? 12220000 - 000B14 4770 1066 00B2E 1338 BNE RDRHMORE . IF NO, GO CHECK PROTECTION, ELSE 12230000 - 000B18 955C 2000 00000 1339 CLI XRXNAME,C'*' . IS JSP CALLING US? 12240000 - 000B1C 4770 10F8 00BC0 1340 BNE RDRHNO . IF NOT, TELL HIM NO. 12250000 - 000B20 D24F 5000 C01C 00000 0001C 1341 MVC 0(80,5),RDRHTEMP . IF IT IS, GIVE JSP THE $JOB CARD 12260000 - 000B26 9200 C07A 0007A 1342 MVI JOBBIT,X'00' . SAY WE DON'T HAVE $JOB WAITING 12270000 - 000B2A 47F0 1114 00BDC 1343 B RDRHSOK . AND SEND MESSAGE BACK 12280000 - 1344 DROP 2 12290000 - 000B2E 955C C008 00008 1345 RDRHMORE CLI RDRHMSG,C'*' . IS SYSTEM CALLING? 12300000 - 000B32 4780 1098 00B60 1346 BE RDRHPOK . THEN PROTECTION OK, ELSE 12310000 - 000B36 18B5 1347 LR 11,5 . GET ADDRESS THAT'S TO HOLD CARD, 12320000 -1 Sample Operating System Version 2.00 Page 36 - Active Usings: PROGRAM,R0 PROGRAM+X'AC8',R1 UCB,R3 RDRHAS,R12 -0 Loc Object Code Addr1 Addr2 Stmt Source Statement HLASM R6.0 2016/08/29 08.42 -0000B38 54B0 116C 00C34 1348 N 11,PROTCON1 . get the page boundary 12330002 - 1349 * ISKE 10,11 . find storage key 12334002 - 000B3C B22900AB 1350 DC X'B22900AB' Assembler (XF) doesn't support ISKE 12338002 - 000B40 54A0 1170 00C38 1351 N 10,PROTCON2 . ignore low order bits 12342002 - 000B44 19A4 1352 CR 10,4 . DOES IT MATCH OURS? 12350000 - 000B46 4770 10F8 00BC0 1353 BNE RDRHNO . IF NOT, TELL HIM NO 12360000 - 000B4A 41B5 004F 0004F 1354 LA 11,79(5) . CHECK LAST BYTE ADDR OF CARD 12370000 - 000B4E 54B0 116C 00C34 1355 N 11,PROTCON1 . get the page boundary 12380002 - 1356 * ISKE 10,11 . find storage key 12384002 - 000B52 B22900AB 1357 DC X'B22900AB' Assembler (XF) doesn't support ISKE 12388002 - 000B56 54A0 1170 00C38 1358 N 10,PROTCON2 . ignore low order bits 12392002 - 000B5A 19A4 1359 CR 10,4 . DOES IT MATCH OURS? 12400000 - 000B5C 4770 10F8 00BC0 1360 BNE RDRHNO . IF NOT, TELL HIM NO 12410000 - 000B60 5450 1168 00C30 1361 RDRHPOK N 5,CCBCON1 . MAKE ADDRESS INTO 12420000 - 000B64 5050 C000 00000 1362 ST 5,RDRHCCB . A CCW (OR CCB) 12430000 - 000B68 9602 C000 00000 1363 OI RDRHCCB,X'02' 12440000 - 000B6C D203 C004 13B0 00004 00E78 1364 MVC RDRHCCB+4,=F'80' . WE'LL READ EIGHTY CHARACTERS 12450000 - 000B72 D203 3014 1398 00014 00E60 1365 MVC UCBCSW(4),=A(0) . CLEAR THE LAST CSW THERE 12460000 - 000B78 D203 3018 1398 00018 00E60 1366 MVC UCBCSW+4(4),=A(0) 12470000 - 000B7E 4120 0194 00194 1367 LA 2,CAWSEM . LOCK THE CAW 12480000 - 000B82 0AD7 1368 SVC C'P' 12490000 - 000B84 5060 0048 00048 1369 ST 6,CAW . THAT'S THE CAW 12500000 - 000B88 5870 3000 00000 1370 L 7,UCBADDR . GET THE UNIT ADDRESS 12510000 - 000B8C 9C00 7000 00000 1371 SIO 0(7) . START THE I/O 12520000 - 000B90 4770 1154 00C1C 1372 BNZ RDSTATUS . BRANCH IF SIO UNSUCCESSFUL 12530000 - 000B94 0AE5 1373 SVC C'V' . THEN UNLOCK THE CAW 12540000 - 000B96 4120 300C 0000C 1374 RDRHWAIT LA 2,UCBWS . NOW WAIT FOR AN INTERRUPT 12550000 - 000B9A 0AD7 1375 SVC C'P' 12560000 - 000B9C 9185 3018 00018 1376 TM UCBCSW+4,X'85' . CHECK THE STATUS 12570003 - 000BA0 4780 10CE 00B96 1377 BZ RDRHWAIT . IF NOT FINISHED, WAIT 12580000 - 000BA4 9101 3018 00018 1378 TM UCBCSW+4,X'01' . CHECK FOR EXCEPTION 12590000 - 000BA8 4710 10F0 00BB8 1379 BO RDRHEXC . if yes, ignore this interrupt 12600003 - 000BAC 9180 3018 00018 1380 TM UCBCSW+4,X'80' . if no, check for attention 12602003 - 000BB0 4710 1098 00B60 1381 BO RDRHPOK . if yes, try to restart the I/O 12604003 - 000BB4 47F0 1102 00BCA 1382 B RDRHOK . else, all is groovy 12606003 - 000BB8 94FE 3018 00018 1383 RDRHEXC NI UCBCSW+4,X'FE' . clear exception .. 12608003 - 000BBC 47F0 10CE 00B96 1384 B RDRHWAIT . .. and continue waiting 12610003 - 000BC0 D201 C078 13CC 00078 00E94 1385 RDRHNO MVC RDRHM+12(2),=C'NO' . message back is no 12612003 - 000BC6 47F0 111A 00BE2 1386 B RDRHSEND . GET READY TO SEND 12620000 - 000BCA 955C C008 00008 1387 RDRHOK CLI RDRHMSG,C'*' . IS THE SYSTEM CALLING? 12630000 - 000BCE 4780 1114 00BDC 1388 BE RDRHSOK . THAT'S FINE. OTHERWISE, 12640000 - 000BD2 D504 13D0 5000 00E98 00000 1389 CLC =C'$JOB,',0(5) . WAS IT A $JOB CARD? 12650000 - 000BD8 4780 1136 00BFE 1390 BE ENDADATA . OOPS! WE HIT END OF DATA STREAM 12660000 - 000BDC D201 C078 13CE 00078 00E96 1391 RDRHSOK MVC RDRHM+12(2),=C'OK' .GROOVINESS MESSAGE 12670000 - 000BE2 D203 C074 13A8 00074 00E70 1392 RDRHSEND MVC RDRHM+8(4),=F'2' . SAY THERE ARE 2 CHARACTERS 12680000 - 000BE8 D207 C06C C008 0006C 00008 1393 MVC RDRHM+0(8),RDRHMSG+0 . SEND BACK TO SAME GUY 12690000 - 000BEE 4120 3004 00004 1394 LA 2,UCBUS . NOW UNLOCK UCB AND UNIT 12700000 - 000BF2 0AE5 1395 SVC C'V' 12710000 - 000BF4 4120 C06C 0006C 1396 LA 2,RDRHM . SET UP MESSAGE 12720000 - 000BF8 0AE2 1397 SVC C'S' . AND SEND IT 12730000 - 000BFA 47F0 1024 00AEC 1398 B RDRHLOOP 12740000 - 000BFE D201 C078 13CC 00078 00E94 1399 ENDADATA MVC RDRHM+12(2),=C'NO' . TELL USER NO MORE CARDS 12750000 - 000C04 D24F C01C 5000 0001C 00000 1400 MVC RDRHTEMP(80),0(5) . SAVE THE $JOB CARD 12760000 - 000C0A 9240 5000 00000 1401 MVI 0(5),C' ' . BLANK OUT THE USER'S COPY 12770000 - 000C0E D24E 5001 5000 00001 00000 1402 MVC 1(79,5),0(5) 12780000 -1 Sample Operating System Version 2.00 Page 37 - Active Usings: PROGRAM,R0 PROGRAM+X'AC8',R1 UCB,R3 RDRHAS,R12 -0 Loc Object Code Addr1 Addr2 Stmt Source Statement HLASM R6.0 2016/08/29 08.42 -0000C14 92FF C07A 0007A 1403 MVI JOBBIT,X'FF' . INDICATE WE HAVE A NEW $JOB CARD 12790000 - 000C18 47F0 111A 00BE2 1404 B RDRHSEND . AND SEND THE MESSAGE BACK 12800000 - 000C1C 0AE5 1405 RDSTATUS SVC C'V' . UNLOCK THE CAW 12810000 - 000C1E 4120 300C 0000C 1406 LA 2,UCBWS . AND WAIT FOR AN INTERRUPT 12820000 - 000C22 0AD7 1407 SVC C'P' 12830000 - 000C24 47F0 1098 00B60 1408 B RDRHPOK . AND TRY TO RESTART THE I/O 12840000 - 1409 DROP 3,12 12850000 -0000C28 0000000100000000 1411 RDRHSEM DC F'1,0' 12870000 - 000C30 00FFFFFF 1412 CCBCON1 DC X'00FFFFFF' MASK 12880000 - 000C34 00FFF000 1413 PROTCON1 DC X'00FFF000' page alignment 12890002 - 000C38 FFFFFFF0 1414 PROTCON2 DC X'FFFFFFF0' ignore low order bits 12893002 - 000C3C 00000080 1415 RDRHAAS DC A(LENRDRHA) ALLOCATE ARGLIST FOR STORAGE 12900000 - 000C40 00000000 1416 DC F'0' 12910000 - 000C44 00000008 1417 DC F'8' 12920000 -- - 1419 *********************************************************************** 12940000 - 1420 * * 12950000 - 1421 * SYSTEM SUPPLIED DEVICE HANDLER FOR PRINTERS * 12960000 - 1422 * * 12970000 - 1423 *********************************************************************** 12980000 -0 00C48 1425 PRTHANDL EQU * . THE PRINTER HANDLER 13000000 - R:3 00000 1426 USING UCB,3 . ENTERED WITH REG3 -> THE UCB 13010000 - 000C48 0510 1427 BALR 1,0 13020000 - R:1 00C4A 1428 USING *,1 . ESTABLISH ADDRESSING 13030000 - ** ASMA303W Multiple address resolutions may result from this USING and the USING on statement number 131 - ** ASMA435I Record 1428 in /mbhfs/sos4k.asm on volume: - 000C4A 4120 1116 00D60 1429 LA 2,PRTHSEM . LOCK UNTIL ALLOCATE STORAGE 13040000 - 000C4E 0AD7 1430 SVC C'P' . 13050000 - 000C50 4120 111E 00D68 1431 LA 2,PRTHAAS . READY TO ALLOCATE 13060000 - R:2 00000 1432 USING XAX,2 13070000 - 000C54 0AC5 1433 SVC C'E' . ALLOCATE 13080000 - 000C56 58C0 2004 00004 1434 L 12,XAXADDR . GET THE ADDRESS 13090000 - 1435 DROP 2 13100000 - 000C5A 4120 1116 00D60 1436 LA 2,PRTHSEM . 13110000 - 000C5E 0AE5 1437 SVC C'V' UNLOCK TO ROUTINE 13120000 - 000C60 8840 0010 00010 1438 SRL 4,16 . SHIFT KEY 13130000 - 000C64 1BAA 1439 SR 10,10 . CLEAR REG 10 13140000 - R:C 00000 1440 USING PRTHAS,12 . ADDRESSING IN THE AUTO AREA 13150000 - 000C66 4160 C000 00000 1441 LA 6,PRTHCCB . MAKE A CAW 13160000 - 000C6A 4120 C008 00008 1442 PRTHLOOP LA 2,PRTHMSG . READY TO READ A MESSAGE 13170000 - R:2 00000 1443 USING XRX,2 13180000 - 000C6E D203 2008 121E 00008 00E68 1444 MVC XRXSIZE,=F'8' . WE CAN TAKE 8 CHARACTERS 13190000 - 000C74 0AD9 1445 SVC C'R' . READ IT 13200000 - 000C76 5850 2010 00010 1446 L 5,XRXTEXT+4 . LOAD THE ADDRESS 13210000 - 000C7A D503 1232 200C 00E7C 0000C 1447 CLC =C'PRIN',XRXTEXT . IS IT A PRIN REQUEST? 13220000 - 000C80 4780 1048 00C92 1448 BE PRTHPRIN 13230000 - 000C84 D503 1236 200C 00E80 0000C 1449 CLC =C'STC1',XRXTEXT . OR A SKIP REQUEST? 13240000 - 000C8A 4780 1096 00CE0 1450 BE PRTHSTC1 13250000 - 000C8E 47F0 1020 00C6A 1451 B PRTHLOOP . IF NEITHER, IGNORE 13260000 - 1452 DROP 2 13270000 - 000C92 4120 3004 00004 1453 PRTHPRIN LA 2,UCBUS 13280000 -1 Sample Operating System Version 2.00 Page 38 - Active Usings: PROGRAM,R0 PROGRAM+X'C4A',R1 UCB,R3 PRTHAS,R12 -0 Loc Object Code Addr1 Addr2 Stmt Source Statement HLASM R6.0 2016/08/29 08.42 -0000C96 0AD7 1454 SVC C'P' . LOCK THE UCB AND UNIT 13290000 - 000C98 955C C008 00008 1455 CLI PRTHMSG,C'*' . IS SYSTEM CALLING? 13300000 - 000C9C 4780 1080 00CCA 1456 BE PRTHPOK . THEN PROTECTION OK. ELSE 13310000 - 000CA0 18B5 1457 LR 11,5 . GET ADDRESS THAT'S TO HOLD MSG, 13320000 - 000CA2 54B0 0C34 00C34 1458 N 11,PROTCON1 . get the page boundary 13330002 - 1459 * ISKE 10,11 . find storage key 13334002 - 000CA6 B22900AB 1460 DC X'B22900AB' Assembler (XF) doesn't support ISKE 13338002 - 000CAA 54A0 0C38 00C38 1461 N 10,PROTCON2 . ignore low order bits 13342002 - 000CAE 19A4 1462 CR 10,4 . DOES IT MATCH OURS? 13350000 - 000CB0 4770 10DC 00D26 1463 BNE PRTHNO . IF NOT, TELL HIM NO 13360000 - 000CB4 41B5 0083 00083 1464 LA 11,131(5) . CHECK LAST BYTE ADDRESS OF LINE 13370000 - 000CB8 54B0 0C34 00C34 1465 N 11,PROTCON1 . get the page boundary 13380002 - 1466 * ISKE 10,11 . find storage key 13384002 - 000CBC B22900AB 1467 DC X'B22900AB' Assembler (XF) doesn't support ISKE 13388002 - 000CC0 54A0 0C38 00C38 1468 N 10,PROTCON2 . ignore low order bits 13392002 - 000CC4 19A4 1469 CR 10,4 . DOES IT MATCH OURS? 13400000 - 000CC6 4770 10DC 00D26 1470 BNE PRTHNO . IF NOT, TELL HIM NO 13410000 - 000CCA 5450 0C30 00C30 1471 PRTHPOK N 5,CCBCON1 . MAKE A WRITE REQUEST 13420000 - 000CCE 5050 C000 00000 1472 ST 5,PRTHCCB . FOR THE CCB 13430000 - 000CD2 9609 C000 00000 1473 OI PRTHCCB,X'09' . PRINT COMMAND CODE 13440000 - 000CD6 D203 C004 123A 00004 00E84 1474 MVC PRTHCCB+4,=F'132' . WE'LL PRINT 132 CHARACTERS 13450000 - 000CDC 47F0 10A2 00CEC 1475 B PRTHCOMM . BRANCH TO COMMON SECTION 13460000 - 000CE0 D207 C000 1206 00000 00E50 1476 PRTHSTC1 MVC PRTHCCB(8),=X'8900000020000001' SKIP TO TOP OF PAGE 13470000 - 000CE6 4120 3004 00004 1477 LA 2,UCBUS 13480000 - 000CEA 0AD7 1478 SVC C'P' . LOCK THE UCB AND UNIT 13490000 - 000CEC 4120 0194 00194 1479 PRTHCOMM LA 2,CAWSEM . LOCK THE CAW 13500000 - 000CF0 0AD7 1480 SVC C'P' 13510000 - 000CF2 5060 0048 00048 1481 ST 6,CAW . STORE OUR CAW 13520000 - 000CF6 D203 3014 1216 00014 00E60 1482 MVC UCBCSW(4),=A(0) . CLEAR THE LAST CSW THERE 13530000 - 000CFC D203 3018 1216 00018 00E60 1483 MVC UCBCSW+4(4),=A(0) 13540000 - 000D02 5870 3000 00000 1484 L 7,UCBADDR . GET THE ADDRESS 13550000 - 000D06 9C00 7000 00000 1485 SIO 0(7) . START THE I/O 13560000 - 000D0A 4770 1108 00D52 1486 BNZ PTSTATUS . BRANCH IF SIO UNSUCCESSFUL 13570000 - 000D0E 0AE5 1487 SVC C'V' . AND UNLOCK THE CAW 13580000 - 000D10 4120 300C 0000C 1488 PRTHWAIT LA 2,UCBWS . START TO WAIT 13590000 - 000D14 0AD7 1489 SVC C'P' 13600000 - 000D16 9105 3018 00018 1490 TM UCBCSW+4,X'05' . IS THE UNIT READY? 13610000 - 000D1A 4780 10C6 00D10 1491 BZ PRTHWAIT . IF NOT, ITS STILL ON. WAIT 13620000 - 000D1E 9101 3018 00018 1492 TM UCBCSW+4,X'01' . WAS THERE AN EXCEPTION? 13630000 - 000D22 4780 10E6 00D30 1493 BZ PRTHOK . IF NOT, GOOD 13640000 - 000D26 D201 C028 124A 00028 00E94 1494 PRTHNO MVC PRTHM+12(2),=C'NO' .THERE WAS, SO SAY SO 13650000 - 000D2C 47F0 10EC 00D36 1495 B PRTHSEND 13660000 - 000D30 D201 C028 124C 00028 00E96 1496 PRTHOK MVC PRTHM+12(2),=C'OK' .NO ERRORS 13670000 - 000D36 D203 C024 1226 00024 00E70 1497 PRTHSEND MVC PRTHM+8(4),=F'2' . SENDING 2 CHARACTERS 13680000 - 000D3C D207 C01C C008 0001C 00008 1498 MVC PRTHM+0(8),PRTHMSG+0 . SEND TO OUR SENDER 13690000 - 000D42 4120 3004 00004 1499 LA 2,UCBUS 13700000 - 000D46 0AE5 1500 SVC C'V' . UNLOCK THE UCB 13710000 - 000D48 4120 C01C 0001C 1501 LA 2,PRTHM 13720000 - 000D4C 0AE2 1502 SVC C'S' . SEND IT 13730000 - 000D4E 47F0 1020 00C6A 1503 B PRTHLOOP . AND READ ANOTHER MESSAGE 13740000 - 000D52 0AE5 1504 PTSTATUS SVC C'V' . UNLOCK THE CAW 13750000 - 000D54 4120 300C 0000C 1505 LA 2,UCBWS . AND WAIT FOR THE INTERRUPT 13760000 - 000D58 0AD7 1506 SVC C'P' 13770000 - 000D5A 47F0 10A2 00CEC 1507 B PRTHCOMM . AND TRY TO RESTART THE I/O 13780000 - 1508 DROP 3,12 13790000 -1 Sample Operating System Version 2.00 Page 39 - Active Usings: PROGRAM,R0 PROGRAM+X'C4A',R1 -0 Loc Object Code Addr1 Addr2 Stmt Source Statement HLASM R6.0 2016/08/29 08.42 -0000D5E 0000 - 000D60 0000000100000000 1510 PRTHSEM DC F'1,0' LOCK 13810000 - 000D68 00000030 1511 PRTHAAS DC A(LENPRTHA) XA ARG LIST FOR AUTO STORAGE 13820000 - 000D6C 00000000 1512 DC F'0' 13830000 - 000D70 00000008 1513 DC F'8' 13840000 -1 Sample Operating System Version 2.00 Page 40 - Active Usings: PROGRAM,R0 PROGRAM+X'C4A',R1 -0 Loc Object Code Addr1 Addr2 Stmt Source Statement HLASM R6.0 2016/08/29 08.42 -0 1515 *********************************************************************** 13860000 - 1516 * * 13870000 - 1517 * SYSTEM ROUTINE FOR USER SUPPLIED DEVICE HANDLER * 13880000 - 1518 * * 13890000 - 1519 *********************************************************************** 13900000 -0 00D74 1521 EXCPHNDL EQU * . EXCP DEVICE HANDLER 13920000 - R:3 00000 1522 USING UCB,3 . WILL HAVE REG3 -> UCB 13930000 - 000D74 0510 1523 BALR 1,0 13940000 - R:1 00D76 1524 USING *,1 . ESTABLISH ADDRESSING 13950000 - ** ASMA303W Multiple address resolutions may result from this USING and the USING on statement number 131 - ** ASMA435I Record 1524 in /mbhfs/sos4k.asm on volume: - 000D76 4120 10C6 00E3C 1525 LA 2,EXCPHSEM . LOCK OURSELVES UNTIL WE HAVE 13960000 - 000D7A 0AD7 1526 SVC C'P' . SET UP AUTOMATIC STORAGE 13970000 - 000D7C 4120 10CE 00E44 1527 LA 2,EXCPHAAS . READY TO ALLOCATE 13980000 - R:2 00000 1528 USING XAX,2 13990000 - 000D80 0AC5 1529 SVC C'E' . ALLOCATE 14000000 - 000D82 58C0 2004 00004 1530 L 12,XAXADDR . GET POINTER TO AUTO STORAGE 14010000 - 1531 DROP 2 14020000 - 000D86 4120 10C6 00E3C 1532 LA 2,EXCPHSEM . AND UNLOCK OURSELVES 14030000 - 000D8A 0AE5 1533 SVC C'V' UNLOCK TO ROUTINE 14040000 - 000D8C 184B 1534 LR 4,11 14050000 - 000D8E 8940 0008 00008 1535 SLL 4,8 . SHIFT KEY FOR CAW 14060000 - R:C 00000 1536 USING EXCPHAS,12 . FOR ADDRESSING AUTO AREA 14070000 - 000D92 4120 C000 00000 1537 EXCPLOOP LA 2,EXCPHMSG . TRY TO READ A MESSAGE 14080000 - R:2 00000 1538 USING XRX,2 14090000 - 000D96 D203 2008 1112 00008 00E88 1539 MVC XRXSIZE,=F'12' . WE'LL TAKE 12 CHARACTERS 14100000 - 000D9C 0AD9 1540 SVC C'R' 14110000 - 000D9E D503 1116 200C 00E8C 0000C 1541 CLC =C'EXCP',XRXTEXT . IS IT AN EXCP MESSAGE? 14120000 - 000DA4 4770 101C 00D92 1542 BNE EXCPLOOP . IF NOT, IGNORE IT 14130000 - 000DA8 5850 2010 00010 1543 L 5,XRXTEXT+4 . REG 5 CONTAINS CHAN AND DEV 14140000 - 000DAC 5860 2014 00014 1544 L 6,XRXTEXT+8 . REG 6 CONTAINS ADDR OF CCWS 14150000 - 1545 DROP 2 14160000 - 000DB0 4170 112E 00EA4 1546 LA 7,UCBTABLE . GET PTR TO UCB TABLE 14170000 - 000DB4 5957 0000 00000 1547 EXCPCOMP C 5,0(7) . COMPARE UNIT ADDRESS 14180000 - 000DB8 4780 1054 00DCA 1548 BE EXCPFIND . THAT'S THE UCB WE WANT 14190000 - 000DBC 4177 0020 00020 1549 LA 7,UCBLENG(7) . GET PTR TO NEXT UCB 14200000 - 000DC0 5970 111A 00E90 1550 C 7,=A(UCBTBEND) . ARE WE THROUGH WITH TABLE? 14210000 - 000DC4 4770 103E 00DB4 1551 BNE EXCPCOMP . IF NOT, LOOK SOME MORE 14220000 - 000DC8 0A6F 1552 SVC C'?' . ELSE ERROR 14230000 - 000DCA 1837 1553 EXCPFIND LR 3,7 . SET REG 3 TO UCB PTR 14240000 - 000DCC 4120 3004 00004 1554 LA 2,UCBUS 14250000 - 000DD0 0AD7 1555 SVC C'P' . LOCK THE UCB 14260000 - 000DD2 1664 1556 OR 6,4 . OR IN THE USER'S KEY 14270000 - 000DD4 D203 3014 10EA 00014 00E60 1557 MVC UCBCSW(4),=A(0) . CLEAR THE LAST CSW THERE 14280000 - 000DDA D203 3018 10EA 00018 00E60 1558 MVC UCBCSW+4(4),=A(0) 14290000 - 000DE0 4120 0194 00194 1559 LA 2,CAWSEM 14300000 - 000DE4 0AD7 1560 SVC C'P' . LOCK CAW 14310000 - 000DE6 5060 0048 00048 1561 ST 6,CAW . STORE OUR CAW 14320000 - 000DEA 9C00 5000 00000 1562 SIO 0(5) . START THE I/O 14330000 - 000DEE 0AE5 1563 SVC C'V' . UNLOCK THE CAW 14340000 - 000DF0 4120 300C 0000C 1564 EXCPWAIT LA 2,UCBWS . NOW WAIT FOR AN INTERRUPT 14350000 - 000DF4 0AD7 1565 SVC C'P' 14360000 - 000DF6 D207 C024 3014 00024 00014 1566 MVC EXCPHM+12(8),UCBCSW . GIVE USER HIS CSW 14370000 - 000DFC D203 C020 1112 00020 00E88 1567 MVC EXCPHM+8(4),=F'12' 14380000 -1 Sample Operating System Version 2.00 Page 41 - Active Usings: PROGRAM,R0 PROGRAM+X'D76',R1 UCB,R3 EXCPHAS,R12 -0 Loc Object Code Addr1 Addr2 Stmt Source Statement HLASM R6.0 2016/08/29 08.42 -0000E02 D207 C018 C000 00018 00000 1568 MVC EXCPHM(8),EXCPHMSG 14390000 - 000E08 4120 C018 00018 1569 LA 2,EXCPHM 14400000 - 000E0C 0AE2 1570 SVC C'S' . AND SENT THE MESSAGE 14410000 - 000E0E 4120 C000 00000 1571 LA 2,EXCPHMSG . AND WAIT FOR A REPLY 14420000 - R:2 00000 1572 USING XRX,2 14430000 - 000E12 D203 2008 10F2 00008 00E68 1573 MVC XRXSIZE(4),=F'8' . FROM THE USER 14440000 - 000E18 0AD9 1574 SVC C'R' 14450000 - 000E1A D501 1120 200C 00E96 0000C 1575 CLC =C'OK',XRXTEXT . AM I DONE? 14460000 - 000E20 4780 10BA 00E30 1576 BE EXCPDONE 14470000 - 000E24 D504 1127 200C 00E9D 0000C 1577 CLC =C'AGAIN',XRXTEXT . DOES HE WANT ANOTHER CSW? 14480000 - 000E2A 4780 107A 00DF0 1578 BE EXCPWAIT 14490000 - 000E2E 0A6F 1579 SVC C'?' . WRONG MESSAGE 14500000 - 1580 DROP 2 14510000 - 000E30 4120 3004 00004 1581 EXCPDONE LA 2,UCBUS . UNLOCK UNIT 14520000 - 000E34 0AE5 1582 SVC C'V' 14530000 - 000E36 47F0 101C 00D92 1583 B EXCPLOOP . AND GET ANOTHER MESSAGE 14540000 - 1584 DROP 3,12 14550000 - 000E3A 0000 - 000E3C 0000000100000000 1585 EXCPHSEM DC F'1,0' 14560000 - 000E44 00000030 1586 EXCPHAAS DC A(LENEXCPA) . ALLOCATION OF AUTO STORAGE 14570000 - 000E48 00000000 1587 DC F'0' 14580000 - 000E4C 00000008 1588 DC F'8' 14590000 -- - 000E50 1590 LTORG 14610000 - 000E50 8900000020000001 1591 =X'8900000020000001' - 000E58 00000001 1592 =F'1' - 000E5C 00000600 1593 =A(XA) - 000E60 00000000 1594 =A(0) - 000E64 00000148 1595 =A(LENPCB) - 000E68 00000008 1596 =F'8' - 000E6C FFFFFFF8 1597 =F'-8' - 000E70 00000002 1598 =F'2' - 000E74 D9C5C1C4 1599 =C'READ' - 000E78 00000050 1600 =F'80' - 000E7C D7D9C9D5 1601 =C'PRIN' - 000E80 E2E3C3F1 1602 =C'STC1' - 000E84 00000084 1603 =F'132' - 000E88 0000000C 1604 =F'12' - 000E8C C5E7C3D7 1605 =C'EXCP' - 000E90 00000FC4 1606 =A(UCBTBEND) - 000E94 D5D6 1607 =C'NO' - 000E96 D6D2 1608 =C'OK' - 000E98 5BD1D6C26B 1609 =C'$JOB,' - 000E9D C1C7C1C9D5 1610 =C'AGAIN' -1 Sample Operating System Version 2.00 Page 42 - Active Usings: PROGRAM,R0 PROGRAM+X'D76',R1 -0 Loc Object Code Addr1 Addr2 Stmt Source Statement HLASM R6.0 2016/08/29 08.42 -0 1612 *********************************************************************** 14630000 - 1613 * * 14640000 - 1614 * UNIT CONTROL BLOCKS * 14650000 - 1615 * * 14660000 - 1616 *********************************************************************** 14670000 -0000EA4 1618 UCBTABLE DS 0F . TABLE OF UNIT CONTROL BLOCKS 14690000 - 1619 * UCB FOR READER 1 14700000 - 000EA4 00000012 1620 UCBRDR1 DC X'00000012' . DEVICE ADDRESS, 14710000 - 000EA8 0000000100000000 1621 DC F'1,0' . USER SEMAPHORE, 14720000 - 000EB0 0000000000000000 1622 DC F'0,0' . WAIT SEMAPHORE, 14730000 - 000EB8 0000000000000000 1623 DC F'0,0' . CHANNEL STATUS WORD 14740000 - 000EC0 00 1624 DC X'00' 14750000 - 000EC4 1625 DS 0F 14760000 - 1626 * UCB FOR PRINTER 1 14770000 - 000EC4 00000010 1627 UCBPRT1 DC X'00000010' . DEVICE ADDRESS, 14780000 - 000EC8 0000000100000000 1628 DC F'1,0' . USER SEMAPHORE, 14790000 - 000ED0 0000000000000000 1629 DC F'0,0' . WAIT SEMAPHORE, 14800000 - 000ED8 0000000000000000 1630 DC F'0,0' . CHANNEL STATUS WORD 14810000 - 000EE0 00 1631 DC X'00' 14820000 - 000EE4 1632 DS 0F 14830000 - 1633 * UCB FOR READER 2 14840000 - 000EE4 0000000C 1634 UCBRDR2 DC X'0000000C' . DEVICE ADDRESS, 14850000 - 000EE8 0000000100000000 1635 DC F'1,0' . USER SEMAPHORE, 14860000 - 000EF0 0000000000000000 1636 DC F'0,0' . WAIT SEMAPHORE, 14870000 - 000EF8 0000000000000000 1637 DC F'0,0' . CHANNEL STATUS WORD 14880000 - 000F00 00 1638 DC X'00' 14890000 - 000F04 1639 DS 0F 14900000 - 1640 * UCB FOR PRINTER 2 14910000 - 000F04 0000000E 1641 UCBPRT2 DC X'0000000E' . DEVICE ADDRESS, 14920000 - 000F08 0000000100000000 1642 DC F'1,0' . USER SEMAPHORE, 14930000 - 000F10 0000000000000000 1643 DC F'0,0' . WAIT SEMAPHORE, 14940000 - 000F18 0000000000000000 1644 DC F'0,0' . CHANNEL STATUS WORD 14950000 - 000F20 00 1645 DC X'00' 14960000 - 000F24 1646 DS 0F 14970000 - 1647 * UCB for READER 3 14970302 - 000F24 00000112 1648 UCBRDR3 DC X'00000112' . device address, 14970602 - 000F28 0000000100000000 1649 DC F'1,0' . user semaphore, 14970902 - 000F30 0000000000000000 1650 DC F'0,0' . wait semaphore, 14971202 - 000F38 0000000000000000 1651 DC F'0,0' . channel status word 14971502 - 000F40 00 1652 DC X'00' 14971802 - 000F44 1653 DS 0F 14972102 - 1654 * UCB for PRINTER 3 14972402 - 000F44 00000110 1655 UCBPRT3 DC X'00000110' . device address, 14972702 - 000F48 0000000100000000 1656 DC F'1,0' . user semaphore, 14973002 - 000F50 0000000000000000 1657 DC F'0,0' . wait semaphore, 14973302 - 000F58 0000000000000000 1658 DC F'0,0' . channel status word 14973602 - 000F60 00 1659 DC X'00' 14973902 - 000F64 1660 DS 0F 14974202 - 1661 * UCB for READER 4 14974502 - 000F64 0000010C 1662 UCBRDR4 DC X'0000010C' . device address, 14974802 - 000F68 0000000100000000 1663 DC F'1,0' . user semaphore, 14975102 - 000F70 0000000000000000 1664 DC F'0,0' . wait semaphore, 14975402 - 000F78 0000000000000000 1665 DC F'0,0' . channel status word 14975702 - 000F80 00 1666 DC X'00' 14976002 -1 Sample Operating System Version 2.00 Page 43 - Active Usings: PROGRAM,R0 PROGRAM+X'D76',R1 -0 Loc Object Code Addr1 Addr2 Stmt Source Statement HLASM R6.0 2016/08/29 08.42 -0000F84 1667 DS 0F 14976302 - 1668 * UCB for PRINTER 4 14976602 - 000F84 0000010E 1669 UCBPRT4 DC X'0000010E' . device address, 14976902 - 000F88 0000000100000000 1670 DC F'1,0' . user semaphore, 14977202 - 000F90 0000000000000000 1671 DC F'0,0' . wait semaphore, 14977502 - 000F98 0000000000000000 1672 DC F'0,0' . channel status word 14977802 - 000FA0 00 1673 DC X'00' 14978102 - 000FA4 1674 DS 0F 14978402 - 1675 * UCB for CONSOLE 1 14978504 - 000FA4 00000009 1676 UCBCONS1 DC X'00000009' . device address, 14978604 - 000FA8 0000000100000000 1677 DC F'1,0' . user semaphore, 14978704 - 000FB0 0000000000000000 1678 DC F'0,0' . wait semaphore, 14978804 - 000FB8 0000000000000000 1679 DC F'0,0' . channel status word 14978904 - 000FC0 00 1680 DC X'00' 14979004 - 000FC4 1681 DS 0F 14979104 - 00FC4 1682 UCBTBEND EQU * 14980000 -1 Sample Operating System Version 2.00 Page 44 - Active Usings: PROGRAM,R0 PROGRAM+X'D76',R1 -0 Loc Object Code Addr1 Addr2 Stmt Source Statement HLASM R6.0 2016/08/29 08.42 -0 1684 *********************************************************************** 15000000 - 1685 * * 15010000 - 1686 * I/O INTERRUPT HANDLER * 15020000 - 1687 * * 15030000 - 1688 *********************************************************************** 15040000 -0 00FC4 1690 IOHANDL EQU * . THE I/O INTERRUPT HANDLER 15060000 - 000FC4 900F 01DC 001DC 1691 STM 0,15,IOHSAVE . SAVE REGISTERS 15070000 - 000FC8 0510 1692 BALR 1,0 15080000 - R:1 00FCA 1693 USING *,1 . ESTABLISH ADRESSING 15090000 - ** ASMA303W Multiple address resolutions may result from this USING and the USING on statement number 131 - ** ASMA435I Record 1673 in /mbhfs/sos4k.asm on volume: - 000FCA 94FD 0039 00039 1694 NI IOOLD+1,X'FD' . TURN OFF WAIT BIT 15100000 - 000FCE 5860 172E 016F8 1695 L 6,=A(UCBTABLE) . GET POINTER TO UCB TABLE 15110000 - 000FD2 D501 6002 003A 00002 0003A 1696 IOCOMP CLC 2(2,6),IOOLD+2 . COMPARE DEVICE AND CHANNEL 15120000 - 000FD8 4780 1022 00FEC 1697 BE IODEVFND . IF EQUAL, REG 6 INDICATES PTR 15130000 - 000FDC 4166 0020 00020 1698 LA 6,UCBLENG(6) . INCREMENT TO NEXT ENTRY 15140000 - 000FE0 5960 1732 016FC 1699 C 6,=A(UCBTBEND) . ARE WE AT END OF TABLE? 15150000 - 000FE4 4770 1008 00FD2 1700 BNE IOCOMP . IF NOT DONE, TRY NEXT UCB 15160000 - 000FE8 47F0 106C 01036 1701 B IOBACK . ELSE, IGNORE IT 15170000 - R:6 00000 1702 USING UCB,6 . IT'S A UCB PTR 15180000 - 000FEC D203 6014 0040 00014 00040 1703 IODEVFND MVC UCBCSW(4),CSW . MOVE IN THE NEW CSW 15190000 - 000FF2 5870 0044 00044 1704 L 7,CSW+4 . GET STATUS BYTE 15200000 - 000FF6 5670 6018 00018 1705 O 7,UCBCSW+4 . OR IN NEW STATUS INFORMATION 15210000 - 000FFA 5070 6018 00018 1706 ST 7,UCBCSW+4 . AND STORE IT BACK 15220000 - 000FFE D201 601A 0046 0001A 00046 1707 MVC UCBCSW+6(2),CSW+6 . MOVE IN BYTE COUNT 15230000 - 001004 4120 600C 0000C 1708 LA 2,UCBWS 15240000 - 001008 9500 601C 0001C 1709 CLI UCBFPR,X'00' . IS FAST PROCESSING 15250000 - 00100C 4780 106A 01034 1710 BE IONOFPR . REQUIRED? IF NOT, RETURN 15260000 - 001010 58F0 0270 00270 1711 L 15,RUNNING . IF SO, STOP GUY NOW RUNNING 15270000 - R:F 00000 1712 USING PCB,15 15280000 - 001014 95FF F019 00019 1713 CLI PCBBLOKT,X'FF' . IS ANYONE REALLY RUNNING? 15290000 - 001018 4780 1062 0102C 1714 BE IOWAIT . IF NOT, START UP SLEEPER 15300000 - 00101C 41D0 F04C 0004C 1715 LA 13,PCBISA . IF SO, STOP RUNNING PROCESS 15310000 - R:D 00000 1716 USING SA,13 15320000 - 001020 D207 D000 0038 00000 00038 1717 MVC SAPSW,IOOLD . SAVE PROCESS WHICH WAS 15330000 - 001026 D23F D008 01DC 00008 001DC 1718 MVC SAREGS,IOHSAVE . INTERRUPTED 15340000 - 1719 DROP 13,15 15350000 - 00102C 9200 0278 00278 1720 IOWAIT MVI NEXTTRYM,X'00' . MAKE NEXTTRY NOT MODIFIED 15360000 - 001030 0AE5 1721 SVC C'V' . SO CAN FAST PROCESS SLEEPER 15370000 - 001032 0A4B 1722 SVC C'.' . GO PROCESS IT RIGHT AWAY 15380000 - 001034 0AE5 1723 IONOFPR SVC C'V' . AND WAKE UP THE SLEEPER 15390000 - 001036 980F 01DC 001DC 1724 IOBACK LM 0,15,IOHSAVE . RELOAD OUR REGISTERS 15400000 - 00103A 8200 0038 00038 1725 LPSW IOOLD . AND STEALTHILY RETURN 15410000 - 1726 DROP 1,6 15420000 -1 Sample Operating System Version 2.00 Page 45 - Active Usings: PROGRAM,R0 -0 Loc Object Code Addr1 Addr2 Stmt Source Statement HLASM R6.0 2016/08/29 08.42 -0 1728 *********************************************************************** 15440000 - 1729 * * 15450000 - 1730 * IPL ENTERED ROUTINE * 15460000 - 1731 * * 15470000 - 1732 * FUNCTION: TO INITIALIZE SYSTEM PARAMETERS, SET STORAGE KEYS, * 15480000 - 1733 * AND CREATE MULTIPLE JOB STREAMS. * 15490000 - 1734 * * 15500000 - 1735 *********************************************************************** 15510000 -0 0103E 1737 IPLRTN EQU * . THE IPL-ENTERED ROUTINE 15530000 - 00103E 0510 1738 BALR 1,0 15540000 - R:1 01040 1739 USING *,1 . ESTABLISH ADDRESSING 15550000 - 001040 D202 007D 1281 0007D 012C1 1740 MVC IONEW+5(3),SOSIONEW activate IO handler 15553002 - 001046 D202 005D 1289 0005D 012C9 1741 MVC EXTNEW+5(3),IPLEXNEW ignore external interrupts for now 15556002 - 00104C 41F0 10D0 01110 1742 LA 15,IPLPCB . I'M RUNNING 15560000 - 001050 50F0 0270 00270 1743 ST 15,RUNNING . INITIALIZE 'RUNNING' 15570000 - 001054 50F0 0274 00274 1744 ST 15,NEXTTRY . INITIALIZE 'NEXTTRY' 15580000 - 001058 D207 1700 1690 01740 016D0 1745 MVC VERYEND,=A(0,CORESIZE-(VERYEND-PROGRAM)) FREE CORE 15590000 - 00105E 4130 0008 00008 1746 LA 3,8 . SET ZERO KEY AND FETCH PROTECT 15600000 - 001062 5820 1224 01264 1747 L 2,CORESIZ . START PAST THE LAST BLOCK 15610000 - 001066 5B20 161C 0165C 1748 IPLCL S 2,PAGESIZE . get the previous block, page aligned 15620002 - 00106A 4740 1036 01076 1749 BM IPLTH . IF NEGATIVE, WE'RE THROUGH HERE 15630000 - 1750 * SSKE 3,2 . else set the storage key to 15640002 - 00106E B22B0032 1751 DC X'B22B0032' Assembler (XF) doesn't support SSKE 15643002 - 001072 47F0 1026 01066 1752 B IPLCL . ZERO, AND WORK BACKWARDS 15650000 - 001076 1B44 1753 IPLTH SR 4,4 . INDEX IN TABLES FOR INPUT STREAM 15660000 - 001078 5850 1088 010C8 1754 L 5,STREAMS . HOW MANY STREAMS? 15670000 - 00107C 4120 1218 01258 1755 IPLLOOP LA 2,IPLAPCBS . READY TO ALLOCATE A PCB 15680000 - R:2 00000 1756 USING XAX,2 15690000 - 001080 0AC1 1757 SVC C'A' . ALLOCATE 15700000 - 001082 5820 2004 00004 1758 L 2,XAXADDR . GET THE ADDRESS 15710000 - 001086 D253 2000 1228 00000 01268 1759 MVC 0(TYPLEN,2),TYPPCB .MAKE IT LOOK LIKE A PCB 15720000 - 00108C 0AC9 1760 SVC C'I' . CHAIN IT ON 15730000 - R:2 00000 1761 USING PCB,2 15740000 - 00108E 5020 2008 00008 1762 ST 2,PCBNPTG . BUT PUT IT IN A GROUP BY ITSELF 15750000 - 001092 5020 200C 0000C 1763 ST 2,PCBLPTG 15760000 - 1764 DROP 2 15770000 - R:F 00000 1765 USING PCB,15 15780000 - 001096 50F0 F00C 0000C 1766 ST 15,PCBLPTG . LIKEWISE FOR THE IPL PCB 15790000 - 00109A 50F0 F008 00008 1767 ST 15,PCBNPTG 15800000 - 1768 DROP 15 15810000 - R:2 00000 1769 USING PCB,2 15820000 - 00109E 4180 204C 0004C 1770 LA 8,PCBISA . GET THE NEW PCB'S ISA 15830000 - R:8 00000 1771 USING SA,8 15840000 - 0010A2 4190 8008 00008 1772 LA 9,SAREGS . ABOUT TO FIX INIT REGS 15850000 - R:9 00000 1773 USING REGS,9 15860000 - 0010A6 41A0 108C 010CC 1774 LA 10,UCBTAB 15870000 - 0010AA 1AA4 1775 AR 10,4 15880000 - 0010AC D203 900C A000 0000C 00000 1776 MVC REG3,0(10) . REG3 -> (RDRUCB,PRTUCB) 15890000 - 0010B2 D203 9010 A010 00010 00010 1777 MVC REG4,KEYTAB-UCBTAB(10) . REG4 = KEY 15900000 - 1778 DROP 9 15910000 - 0010B8 4144 0004 00004 1779 LA 4,4(4) . GO TO NEXT JOB STREAM 15920000 - 0010BC 4650 103C 0107C 1780 BCT 5,IPLLOOP . DO FOR EACH STREAM 15930000 - 0010C0 D202 005D 1285 0005D 012C5 1781 MVC EXTNEW+5(3),SOSEXNEW reactivate ext interrupt handler 15935002 - 0010C6 0A4B 1782 SVC C'.' . THEN ENTER TRAFFIC CONTROLLER 15940000 -1 Sample Operating System Version 2.00 Page 46 - Active Usings: PROGRAM,R0 PROGRAM+X'1040',R1 PCB,R2 SA,R8 -0 Loc Object Code Addr1 Addr2 Stmt Source Statement HLASM R6.0 2016/08/29 08.42 -00010C8 00000004 1784 STREAMS DC F'4' . NUMBER OF STREAMS 15960002 -0 010CC 1786 UCBTAB EQU * . TABLE OF PTRS TO UCB BLOCKS 15980000 - 0010CC 000010EC 1787 DC A(UCBLP1) 15990000 - 0010D0 000010F4 1788 DC A(UCBLP2) 16000000 - 0010D4 000010FC 1789 DC A(UCBLP3) 16003002 - 0010D8 00001104 1790 DC A(UCBLP4) 16006002 -0 010DC 1792 KEYTAB EQU * . TABLE OF PROTECTION KEYS 16020000 - 0010DC 00100000 1793 DC X'00100000' storage key for stream 1 region 16030002 - 0010E0 00200000 1794 DC X'00200000' storage key for stream 2 region 16034002 - 0010E4 00300000 1795 DC X'00300000' storage key for stream 3 region 16038002 - 0010E8 00400000 1796 DC X'00400000' storage key for stream 4 region 16042002 -00010EC 00000EA400000EC4 1798 UCBLP1 DC A(UCBRDR1,UCBPRT1) 16060000 - 0010F4 00000EE400000F04 1799 UCBLP2 DC A(UCBRDR2,UCBPRT2) 16070000 - 0010FC 00000F2400000F44 1800 UCBLP3 DC A(UCBRDR3,UCBPRT3) 16073002 - 001104 00000F6400000F84 1801 UCBLP4 DC A(UCBRDR4,UCBPRT4) 16076002 -0001110 1803 DS 0D 16090000 - 001110 4040404040404040 1804 IPLPCB DC CL8' ' . IPL ROUTINE PCB 16100000 - 001118 0000111000001110 1805 DC 4A(IPLPCB) 16110000 - 001128 FF000000 1806 DC X'FF000000' . INITIALIZED FLAGS 16120000 - 00112C 0000000100000000 1807 DC F'1,0' 16130000 - 001134 0000000000000000 1808 DC 5F'0,0' 16140000 - 00115C 0002000000000000 1809 DC X'0002000000000000' 16150000 - 001164 1810 DS CL76 16160000 - 0011B0 1811 DS CL84 16170000 - 001204 1812 DS CL84 16180000 -0001258 00000148 1814 IPLAPCBS DC A(LENPCB) . ALLOC LIST FOR PCB'S 16200000 - 00125C 00000000 1815 DC A(0) 16210000 - 001260 00000008 1816 DC F'8' 16220000 - 001264 01000000 1817 CORESIZ DC A(CORESIZE) . BYTES OF CORE IN OBJECT MACHINE 16230000 -0001268 1819 DS 0D 16250000 - 001268 5CC9C2E2E4D74040 1820 TYPPCB DC CL8'*IBSUP' . A TEMPLATE *IBSUP PCB 16260000 - 001270 0000000000000000 1821 DC 4A(0) 16270000 - 001280 00000000 1822 TEMPLATE DC X'00000000' . INITIALIZED FLAGS 16280000 - 001284 0000000100000000 1823 DC F'1,0' 16290000 - 00128C 0000000000000000 1824 DC 5F'0,0' 16300000 - 0012B4 FF000000000012CC 1825 DC X'FF00000000',AL3(JSP) 16310000 - 00054 1826 TYPLEN EQU *-TYPPCB 16320000 - 0012BC 8200 0018 00018 1827 EXINTRPT LPSW EXTOLD ignore external interrupts 16321002 - 0012C0 1828 DS 0F align 16322002 - 0012C0 00 1829 DC X'00' filler 16323002 - 0012C1 000FC4 1830 SOSIONEW DC AL3(IOHANDL) sample OS IO new PSW instruction addr 16324002 - 0012C4 00 1831 DC X'00' filler 16325002 - 0012C5 00027A 1832 SOSEXNEW DC AL3(EXTHANDL) sample OS ext new PSW instruction addr 16326002 - 0012C8 00 1833 DC X'00' filler 16327002 - 0012C9 0012BC 1834 IPLEXNEW DC AL3(EXINTRPT) IPLRTN ext new PSW instruction addr 16328002 -1 Sample Operating System Version 2.00 Page 47 - Active Usings: PROGRAM,R0 PROGRAM+X'1040',R1 PCB,R2 SA,R8 -0 Loc Object Code Addr1 Addr2 Stmt Source Statement HLASM R6.0 2016/08/29 08.42 -0 1836 *********************************************************************** 16340000 - 1837 * * 16350000 - 1838 * JOB STREAM PROCESSOR * 16360000 - 1839 * * 16370000 - 1840 *********************************************************************** 16380000 -0 012CC 1842 JSP EQU * . THE JOB STREAM PROCESSOR 16400000 - 0012CC 0510 1843 BALR 1,0 . (PROCESS *IBSUP) 16410000 - R:1 012CE 1844 USING *,1 . ESTABLISH ADDRESSING 16420000 - 0012CE 4120 1392 01660 1845 LA 2,JSPSUSEM . LOCK OURSELVES UNTIL 16430000 - 0012D2 0AD7 1846 SVC C'P' . WE CAN ALLOCATE STORAGE 16440000 - 0012D4 4120 139A 01668 1847 LA 2,JSPAAS . READY TO ALLOCATE 16450000 - R:2 00000 1848 USING XAX,2 16460000 - 0012D8 0AC5 1849 SVC C'E' . ALLOCATE 16470000 - 0012DA 58C0 2004 00004 1850 L 12,XAXADDR . PTR TO AUTO AREA 16480000 - 1851 DROP 2 16490000 - R:C 00000 1852 USING JSPAS,12 . USE FOR ADDRESSING 16500000 - 0012DE 4120 1392 01660 1853 LA 2,JSPSUSEM . UNLOCK OURSELVES 16510000 - 0012E2 0AE5 1854 SVC C'V' 16520000 - 0012E4 D207 C164 140A 00164 016D8 1855 MVC TREAD+0(8),=CL8'*IN' . INITIALIZE VALUES IN AUTOMATIC 16530000 - 0012EA D203 C16C 1432 0016C 01700 1856 MVC TREAD+8(4),=F'8' . STORAGE 16540000 - 0012F0 D203 C170 1436 00170 01704 1857 MVC TREAD+12(4),=C'READ' 16550000 - 0012F6 4120 C084 00084 1858 LA 2,CARD 16560000 - 0012FA 5020 C174 00174 1859 ST 2,ACARD 16570000 - 0012FE D207 C190 1412 00190 016E0 1860 MVC USERL+0(8),=CL8'USERPROG' 16580000 - 001304 D20B C178 1352 00178 01620 1861 MVC WRITE(12),SKIP 16590000 - 00130A D203 C184 143A 00184 01708 1862 MVC WRITE+12(4),=C'PRIN' 16600000 - 001310 4150 C000 00000 1863 LA 5,LINE 16610000 - 001314 5050 C188 00188 1864 ST 5,WRITE+16 16620000 - 001318 D203 C1B0 138E 001B0 0165C 1865 MVC CORE+8(4),PAGESIZE align to page boundary 16630002 - 00131E D207 C1B8 1412 001B8 016E0 1866 MVC TALK+0(8),=CL8'USERPROG' 16640000 - 001324 D203 C1C0 143E 001C0 0170C 1867 MVC TALK+8(4),=F'12' 16650000 - 00132A D203 C1D8 1442 001D8 01710 1868 MVC ANYBACK+8(4),=F'1' 16660000 - 001330 D203 C1B4 1446 001B4 01714 1869 MVC RLDTEMP,=A(0) 16670000 - 001336 5040 C18C 0018C 1870 ST 4,KEY . STORE KEY 16680000 - 00133A 1853 1871 LR 5,3 . GET PTR TO UCB PTR BLOCK 16690000 - 00133C 5835 0000 00000 1872 L 3,0(5) . GET READER POINTER 16700000 - 001340 4120 1362 01630 1873 LA 2,INSEQ . READY TO CREATE & START *IN 16710000 - 001344 0AC3 1874 SVC C'C' . CREATE 16720000 - 001346 0AE8 1875 SVC C'Y' . START 16730000 - 001348 5835 0004 00004 1876 L 3,4(5) . GET PTR TO PRINTER UCB 16740000 - 00134C 4120 136E 0163C 1877 LA 2,OUTSEQ . READY TO CREATE & START *OUT 16750000 - 001350 0AC3 1878 SVC C'C' . CREATE 16760000 - 001352 0AE8 1879 SVC C'Y' . START 16770000 -0001354 4120 C164 00164 1881 LOOP LA 2,TREAD . READT TO READ A CARD 16790000 - 001358 0AE2 1882 SVC C'S' . START TO READ 16800000 - 00135A D203 C0DC 144A 000DC 01718 1883 MVC RREPLY1,=F'132' . 132 CHARS FOR REPLY 16810000 - 001360 4120 C0D4 000D4 1884 LA 2,RREPLY 16820000 - 001364 0AD9 1885 SVC C'R' . LISTEN FOR REPLY 16830000 - 001366 D501 C0E0 145A 000E0 01728 1886 CLC REPLY(2),=C'OK' . IS REPLY 'OK'? 16840000 - 00136C 4770 10B0 0137E 1887 BNE STOP . IF NOT, STOP 16850000 - 001370 D504 145C C084 0172A 00084 1888 CLC =C'$JOB,',CARD . HAVE WE A JOB CARD? 16860000 - 001376 4780 10B6 01384 1889 BE JOB . GOOD! 16870000 - 00137A 47F0 1086 01354 1890 B LOOP . ELSE LOOP 16880000 -1 Sample Operating System Version 2.00 Page 48 - Active Usings: PROGRAM,R0 PROGRAM+X'12CE',R1 SA,R8 JSPAS,R12 -0 Loc Object Code Addr1 Addr2 Stmt Source Statement HLASM R6.0 2016/08/29 08.42 -000137E 4120 134A 01618 1891 STOP LA 2,JSPNEVER . WAIT FOR A "V" OPERATION 16890000 - 001382 0AD7 1892 SVC C'P' . THAT NEVER COMES 16900000 -0001384 9200 C1DD 001DD 1894 JOB MVI LOADED,X'00' . REMEMBER NOT LOADED 16920000 - 001388 D283 C000 141A 00000 016E8 1895 MVC LINE,=CL8' ' . CLEAR A LINE, PUT IN 16930000 - 00138E D27B C008 C007 00008 00007 1896 MVC LINE+8(124),LINE+7 .ALL BLANKS 16940000 - 001394 D24F C000 C084 00000 00084 1897 MVC LINE(80),CARD . GET READY TO SEND $JOB CARD 16950000 - 00139A 4120 C178 00178 1898 LA 2,WRITE . TO PRINTER 16960000 - 00139E 0AE2 1899 SVC C'S' . SEND IT 16970000 - 0013A0 4120 C0D4 000D4 1900 LA 2,RREPLY 16980000 - 0013A4 0AD9 1901 SVC C'R' . AND WAIT FOR REPLY 16990000 - 0013A6 4120 C190 00190 1902 LA 2,USERL . CREATE USERPROG 17000000 - 0013AA 0AC3 1903 SVC C'C' 17010000 - 0013AC 4140 C088 00088 1904 LA 4,CARD+4 . START TO SCAN CARD 17020000 - 0013B0 4530 131C 015EA 1905 BAL 3,SCAN . GET NEXT TOKEN 17030000 - 0013B4 0650 1906 BCTR 5,0 . less one to remove K 17040002 - 0013B6 5650 138A 01658 1907 O 5,COREPKLN . length of packed size for execute 17049002 - 0013BA 4450 137A 01648 1908 EX 5,COREPACK . pack core digits 17058002 - 0013BE 4F80 1382 01650 1909 CVB 8,COREPCKD . convert core requested to binary 17067002 - 0013C2 1B99 1910 SR 9,9 . is core .. 17076002 - 0013C4 8C80 0002 00002 1911 SRDL 8,2 . .. modulo four .. 17085002 - 0013C8 1299 1912 LTR 9,9 . .. equal zero? 17094002 - 0013CA 4780 1104 013D2 1913 BZ COREOK . -> yes, use it 17103002 - 0013CE 4180 8001 00001 1914 LA 8,1(,8) . -> no, up one page 17112002 - 0013D2 8980 000C 0000C 1915 COREOK SLL 8,12 . core bytes, rounded up to full pages 17121002 - 0013D6 5080 C1A8 001A8 1916 ST 8,CORE . remember core requirement 17130002 - 0013DA 4530 131C 015EA 1917 ASGNUNIT BAL 3,SCAN . GET NEXT TOKEN 17150000 - 0013DE 957E 4000 00000 1918 CLI 0(4),C'=' . IS IT AN '='? 17160000 - 0013E2 4770 1194 01462 1919 BNE LOAD . IF NOT, LOAD IN THE OBJECT DECK 17170000 - 0013E6 955C 9000 00000 1920 CLI 0(9),C'*' . HAS USER NAMED IT STARTING 17180000 - 0013EA 4780 12C8 01596 1921 BE EXPUNGE . WITH '*'? IF SO, THROW HIM OUT 17190000 - 0013EE 4120 C19C 0019C 1922 LA 2,SEQ . ELSE CREATE A PROCESS 17200000 - 0013F2 D207 C19C 141A 0019C 016E8 1923 MVC SEQ,=CL8' ' . BLANK OUT THE NAME 17210000 - 0013F8 4450 1154 01422 1924 EX 5,UNAMMOV . THEN MOVE THE RELEVANT 17220000 - 0013FC 0AC3 1925 SVC C'C' . CHARACTERS AND CREATE 17230000 - 0013FE 4120 C19C 0019C 1926 LA 2,SEQ . WE'LL START IT IN A MOMENT 17240000 - 001402 4530 131C 015EA 1927 BAL 3,SCAN . SCAN AGAIN 17250000 - 001406 4450 115A 01428 1928 EX 5,CMPIN . IS IT 'IN'? 17260000 - 00140A 4780 116C 0143A 1929 BE ASIN . IF SO, ASSIGN IT AS IN 17270000 - 00140E 4450 1160 0142E 1930 EX 5,CMPOUT . IF IT'S 'OUT' 17280000 - 001412 4780 117C 0144A 1931 BE ASOUT . ASSIGN IT AS OUT 17290000 - 001416 4450 1166 01434 1932 EX 5,CMPEXCP . IS IT 'EXCP'? 17300000 - 00141A 4780 1184 01452 1933 BE ASEXCP . IF SO, ASSIGN IT AS EXCP 17310000 - 00141E 47F0 12C8 01596 1934 B EXPUNGE . ERROR: GO ON TO NEXT JOB 17320000 - 001422 D200 C19C 9000 0019C 00000 1935 UNAMMOV MVC SEQ(0),0(9) . MOVE THE UNIT'S PROCESS NAME 17330000 - 001428 D500 9000 1461 00000 0172F 1936 CMPIN CLC 0(0,9),=C'IN ' . DOES IT SAY 'IN'? 17340000 - 00142E D500 9000 144E 00000 0171C 1937 CMPOUT CLC 0(0,9),=C'OUT ' . DOES IT SAY 'OUT'? 17350000 - 001434 D500 9000 1464 00000 01732 1938 CMPEXCP CLC 0(0,9),=C'EXCP ' . DOES IT SAY 'EXCP'? 17360000 -000143A 41B0 140A 016D8 1940 ASIN LA 11,=CL8'*IN' . POINT TO NAME OF READER HANDLER 17380000 - 00143E D203 C1A4 1452 001A4 01720 1941 SETDIM MVC UNITRTN,=A(DIM) . USE DIM AS THE INTERFACE 17390000 - 001444 0AE8 1942 SVC C'Y' 17400000 - 001446 47F0 110C 013DA 1943 B ASGNUNIT 17410000 - 00144A 41B0 1422 016F0 1944 ASOUT LA 11,=CL8'*OUT' . POINT TO NAME OF PRINTER HANDLER 17420000 - 00144E 47F0 1170 0143E 1945 B SETDIM 17430000 -1 Sample Operating System Version 2.00 Page 49 - Active Usings: PROGRAM,R0 PROGRAM+X'12CE',R1 SA,R8 JSPAS,R12 -0 Loc Object Code Addr1 Addr2 Stmt Source Statement HLASM R6.0 2016/08/29 08.42 -0001452 D203 C1A4 1456 001A4 01724 1946 ASEXCP MVC UNITRTN,=A(EXCPHNDL) . USE FOR USER SUPPLIED 17440000 - 001458 58B0 C18C 0018C 1947 L 11,KEY 17450000 - 00145C 0AE8 1948 SVC C'Y' . I/O ROUTINE 17460000 - 00145E 47F0 110C 013DA 1949 B ASGNUNIT 17470000 -0001462 4120 C1A8 001A8 1951 LOAD LA 2,CORE . READY TO ALLOCATE THE REGION 17490000 - 001466 0AC1 1952 SVC C'A' . AND ALLOCATE IT 17500000 - 001468 92FF C1DD 001DD 1953 MVI LOADED,X'FF' . REMEMBER THAT WE'RE LOADED 17510000 - 00146C 5890 C1AC 001AC 1954 L 9,CORE+4 . GET THE FIRST ADDRESS 17520000 - 001470 5840 C18C 0018C 1955 L 4,KEY . GET THE KEY 17530000 - 001474 8840 0010 00010 1956 SRL 4,16 17540000 - 001478 5640 13A2 01670 1957 O 4,FETCHPRT fetch protected 17545002 - 00147C 1839 1958 LR 3,9 . GET THE BLOCK FOLLOWING OURS 17550000 - 00147E 1A38 1959 AR 3,8 17560000 - 001480 5B30 138E 0165C 1960 LOADSK S 3,PAGESIZE . get the previous block, page aligned 17570002 - 001484 1939 1961 CR 3,9 . HAVE WE PASSED THE START? 17580000 - 001486 4740 11C4 01492 1962 BL LOADLOOP . IF SO, START LOADING 17590000 - 1963 * SSKE 4,3 . else set this block to the key 17600002 - 00148A B22B0043 1964 DC X'B22B0043' Assembler (XF) doesn't support SSKE 17603002 - 00148E 47F0 11B2 01480 1965 B LOADSK . AND BRANCH BACK 17610000 - 001492 4120 C164 00164 1966 LOADLOOP LA 2,TREAD . READ IN OBJECT DECK 17620000 - 001496 0AE2 1967 SVC C'S' . GET A CARD A'READING 17630000 - 001498 D203 C0DC 144A 000DC 01718 1968 MVC RREPLY1,=F'132' 17640000 - 00149E 4120 C0D4 000D4 1969 LA 2,RREPLY 17650000 - 0014A2 0AD9 1970 SVC C'R' . WAIT FOR ANSWER 17660000 - 0014A4 D502 C085 1469 00085 01737 1971 CLC CARD+1(3),=C'TXT' . IS IT A TXT CARD? 17670000 - 0014AA 4780 11F8 014C6 1972 BE TXTCARD 17680000 - 0014AE D502 C085 146C 00085 0173A 1973 CLC CARD+1(3),=C'RLD' . IS IT A RLD CARD? 17690000 - 0014B4 4780 1212 014E0 1974 BE RLDCARD 17700000 - 0014B8 D502 C085 146F 00085 0173D 1975 CLC CARD+1(3),=C'END' . IS IT AN END CARD? 17710000 - 0014BE 4780 1270 0153E 1976 BE ENDCARD 17720000 - 0014C2 47F0 11C4 01492 1977 B LOADLOOP . IF NONE, IGNORE. 17730000 -00014C6 58A0 C088 00088 1979 TXTCARD L 10,CARD+4 . GET THE RELATIVE ADDRESS 17750000 - 0014CA 1AA9 1980 AR 10,9 . PLUS THE ABSOLUTE ADDRESS 17760000 - 0014CC 48B0 C08E 0008E 1981 LH 11,CARD+10 . GET THE COUNT, 17770000 - 0014D0 06B0 1982 BCTR 11,0 . DECREMENTED 17780000 - 0014D2 44B0 120C 014DA 1983 EX 11,TXTMOV . AND MOVE THE TEXT 17790000 - 0014D6 47F0 11C4 01492 1984 B LOADLOOP . AND READ ANOTHER CARD! OH WOW! 17800000 - 0014DA D200 A000 C094 00000 00094 1985 TXTMOV MVC 0(0,10),CARD+16 17810000 -00014E0 48B0 C08E 0008E 1987 RLDCARD LH 11,CARD+10 . GET THE BYTE COUNT 17830000 - 0014E4 41D0 C098 00098 1988 LA 13,CARD+20 . AND AN INDEX INTO THE CARD 17840000 - 0014E8 58AD 0000 00000 1989 RLDLOOP L 10,0(13) . GET THE LOCATION TO BE RLD'D 17850000 - 0014EC 1AA9 1990 AR 10,9 . GET THE ABSOLUTE ADDRESS 17860000 - 0014EE 9103 D003 00003 1991 TM 3(13),X'03' . IS IT A FULLWORD? 17870000 - 0014F2 4770 1252 01520 1992 BNZ NOTALGND . IF NO, HANDLE AS THREE BYTES 17880000 - 0014F6 587A 0000 00000 1993 L 7,0(10) . GET THAT WORD (HAD BETTER BE 17890000 - 0014FA 1A79 1994 AR 7,9 . ONE); ADD THE RELOCATION 17900000 - 0014FC 507A 0000 00000 1995 ST 7,0(10) . ADDRESS, AND STORE IT BACK 17910000 - 001500 9101 D000 00000 1996 RLDCONT TM 0(13),X'01' . CHECK IF LONG OR SHORT FIELD 17920000 - 001504 4770 1242 01510 1997 BNZ SHORT . AND BRANCH ACCORDINGLY 17930000 - 001508 4140 0008 00008 1998 LA 4,8 . SKIP EIGHT BYTES 17940000 - 00150C 47F0 1246 01514 1999 B RLDFINI 17950000 - 001510 4140 0004 00004 2000 SHORT LA 4,4 . SKIP FOUR BYTES 17960000 -1 Sample Operating System Version 2.00 Page 50 - Active Usings: PROGRAM,R0 PROGRAM+X'12CE',R1 SA,R8 JSPAS,R12 -0 Loc Object Code Addr1 Addr2 Stmt Source Statement HLASM R6.0 2016/08/29 08.42 -0001514 1AD4 2001 RLDFINI AR 13,4 . INCREMENT THE CARD INDEX 17970000 - 001516 1BB4 2002 SR 11,4 . DECREMENT THE BYTE COUNT 17980000 - 001518 4720 121A 014E8 2003 BP RLDLOOP . AND TRY AGAIN 17990000 - 00151C 47F0 11C4 01492 2004 B LOADLOOP . OR READ ANOTHER CARD 18000000 - 001520 D202 C1B5 A000 001B5 00000 2005 NOTALGND MVC RLDTEMP+1(3),0(10) . PUT ADDRESS HERE 18010000 - 001526 5870 C1B4 001B4 2006 L 7,RLDTEMP . RELOCATE IT 18020000 - 00152A 1A79 2007 AR 7,9 18030000 - 00152C 5070 C1B4 001B4 2008 ST 7,RLDTEMP . AND PUT IT BACK TO 18040000 - 001530 D202 A000 C1B5 00000 001B5 2009 MVC 0(3,10),RLDTEMP+1 . WHERE IT BELONGS 18050000 - 001536 9400 C1B4 001B4 2010 NI RLDTEMP,X'00' . CLEAR OUT TEMPORARY 18060000 - 00153A 47F0 1232 01500 2011 B RLDCONT . AND LOOP BACK 18070000 -000153E 4120 C190 00190 2013 ENDCARD LA 2,USERL . FIND THE PCB FOR USERPROG 18090000 - 001542 0AD5 2014 SVC C'N' 18100000 - 001544 5840 C198 00198 2015 L 4,USERL+8 . GET THE ADDRESS 18110000 - R:4 00000 2016 USING PCB,4 18120000 - 001548 92FF 4019 00019 2017 MVI PCBBLOKT,X'FF' . TEMPORARILY BLOCK IT 18130000 - 00154C 5090 C198 00198 2018 ST 9,USERL+8 . STORE THE BEGINNING ADDRESS 18140000 - 001550 0AE8 2019 SVC C'Y' . THEN START IT 18150000 - 001552 5850 C18C 0018C 2020 L 5,KEY . GET THE KEY 18160000 - 001556 5650 404C 0004C 2021 O 5,PCBISA+0 . THEN OR THIS INTO THE 18170000 - 00155A 5050 404C 0004C 2022 ST 5,PCBISA+0 . FIRST WORD OF THE PCB 18180000 - 00155E 9601 404D 0004D 2023 OI PCBISA+1,X'01' . OR IN A 'PROGRAM STATE' BIT 18190000 - 001562 9200 4019 00019 2024 MVI PCBBLOKT,X'00' . AND THEN UNBLOCK IT 18200000 - 2025 DROP 4 18210000 - 001566 4120 C1B8 001B8 2026 LA 2,TALK . LISTEN TO WHAT IT SAYS 18220000 - 00156A 0AD9 2027 SVC C'R' 18230000 -000156C D207 C000 141A 00000 016E8 2029 MVC LINE(8),=CL8' ' . IF JOB FINISHED, CLEAR A LINE 18250000 - 001572 D27B C008 C007 00008 00007 2030 MVC LINE+8(124),LINE+7 18260000 - 001578 D20B C000 C1C4 00000 001C4 2031 MVC LINE(12),TALK+12 . MOVE THE MESSAGE ONTO THE LINE 18270000 - 00157E 4120 C178 00178 2032 LA 2,WRITE . AND SAY TO WRITE IT 18280000 - 001582 0AE2 2033 SVC C'S' 18290000 - 001584 4120 C1D0 001D0 2034 LA 2,ANYBACK 18300000 - 001588 0AD9 2035 SVC C'R' 18310000 - 00158A 4120 1352 01620 2036 LA 2,SKIP . SKIP TO THE TOP OF THE NEXT PAGE 18320000 - 00158E 0AE2 2037 SVC C'S' 18330000 - 001590 4120 C1D0 001D0 2038 LA 2,ANYBACK 18340000 - 001594 0AD9 2039 SVC C'R' 18350000 -0001596 5850 0270 00270 2041 EXPUNGE L 5,RUNNING . EXPUNGE A JOB: LOOK AT ALL PCBS 18370000 - 00159A 4120 C19C 0019C 2042 LA 2,SEQ 18380000 - R:5 00000 2043 USING PCB,5 18390000 - 00159E D207 C19C 5000 0019C 00000 2044 EXPLOOP MVC SEQ(8),PCBNAME . GET THE PROCESS NAME 18400000 - 0015A4 5840 5008 00008 2045 L 4,PCBNPTG . GET THE NEXT PTR 18410000 - 0015A8 955C C19C 0019C 2046 CLI SEQ+0,C'*' . IS IT A '*' PROCESS? 18420000 - 0015AC 4780 12E6 015B4 2047 BE EXPNXT . IF SO, SKIP OVER 18430000 - 0015B0 0AE9 2048 SVC C'Z' . ELSE STOP IT 18440000 - 0015B2 0AC4 2049 SVC C'D' . AND DESTROY IT 18450000 - 0015B4 1854 2050 EXPNXT LR 5,4 . GO TO THE NEXT PCB 18460000 - 0015B6 5950 0270 00270 2051 C 5,RUNNING . ARE WE THROUGH? 18470000 - 0015BA 4770 12D0 0159E 2052 BNE EXPLOOP . IF NOT, LOOP AGAIN 18480000 - 0015BE 9500 C1DD 001DD 2053 CLI LOADED,X'00' . WAS CORE ALLOCATED? 18490000 - 0015C2 4780 1086 01354 2054 BE LOOP . IF NOT, GO READ THE NEXT $JOB CARD 18500000 - 0015C6 4140 0008 00008 2055 LA 4,8 . set zero key and fetch protect 18510002 -1 Sample Operating System Version 2.00 Page 51 - Active Usings: PROGRAM,R0 PROGRAM+X'12CE',R1 PCB,R5 SA,R8 JSPAS,R12 -0 Loc Object Code Addr1 Addr2 Stmt Source Statement HLASM R6.0 2016/08/29 08.42 -00015CA 1839 2056 LR 3,9 . AND A POINTER TO THE NEXT 18520000 - 0015CC 1A38 2057 AR 3,8 . BLOCK AFTER OURS 18530000 - 0015CE 5B30 138E 0165C 2058 LOADCL S 3,PAGESIZE . get the previous block, page aligned 18540002 - 0015D2 1939 2059 CR 3,9 . ARE WE THROUGH? 18550000 - 0015D4 4740 1312 015E0 2060 BL LOADD . IF SO, GO FREE CORE 18560000 - 2061 * SSKE 4,3 . else clear storage key 18570002 - 0015D8 B22B0043 2062 DC X'B22B0043' Assembler (XF) doesn't support SSKE 18573002 - 0015DC 47F0 1300 015CE 2063 B LOADCL . AND LOOP BACK 18580000 - 0015E0 4120 C1A8 001A8 2064 LOADD LA 2,CORE 18590000 - 0015E4 0AC6 2065 SVC C'F' . FREE THE STORAGE 18600000 - 0015E6 47F0 1086 01354 2066 B LOOP . READ ANOTHER $JOB CARD 18610000 -00015EA 1B55 2068 SCAN SR 5,5 . START THE TOKEN COUNT AT ZERO 18630000 - 0015EC 4144 0001 00001 2069 SCANLOOP LA 4,1(4) . GO TO NEXT CHARACTER 18640000 - 0015F0 956B 4000 00000 2070 CLI 0(4),C',' . DO WE HAVE A DELIMITER? IF SO, 18650000 - 0015F4 4780 1342 01610 2071 BE TOKSTART 18660000 - 0015F8 957E 4000 00000 2072 CLI 0(4),C'=' . DITTO 18670000 - 0015FC 4780 1342 01610 2073 BE TOKSTART 18680000 - 001600 9540 4000 00000 2074 CLI 0(4),C' ' . DITTO 18690000 - 001604 4780 1342 01610 2075 BE TOKSTART 18700000 - 001608 4155 0001 00001 2076 LA 5,1(5) . AND UP COUNT 18710000 - 00160C 47F0 131E 015EC 2077 B SCANLOOP . AND LOOP 18720000 - 001610 1894 2078 TOKSTART LR 9,4 . SET REG9 TO START 18730000 - 001612 1B95 2079 SR 9,5 . OF THIS TOKEN 18740000 - 001614 0650 2080 BCTR 5,0 . LESS ONE FOR EXECUTE INSTRUCTION 18750000 - 001616 07F3 2081 BR 3 18760000 --001618 0000000000000000 2083 JSPNEVER DC F'0,0' . A GOOD WAY TO DIE: P(JSPNEVER) 18780000 - 001620 5CD6E4E340404040 2084 SKIP DC CL8'*OUT' . MESSAGE BLOCK FOR A NEW PAGE 18790000 - 001628 00000008 2085 DC F'8' 18800000 - 00162C E2E3C3F1 2086 DC CL4'STC1' 18810000 - 001630 5CC9D54040404040 2087 INSEQ DC CL8'*IN' . SEQ TO CREATE & START *IN 18820000 - 001638 00000AC6 2088 DC A(RDRHANDL) 18830000 - 00163C 5CD6E4E340404040 2089 OUTSEQ DC CL8'*OUT' . SEQ TO CREATE & START *OUT 18840000 - 001644 00000C48 2090 DC A(PRTHANDL) 18850000 - 001648 F200 1382 9000 01650 00000 2091 COREPACK PACK COREPCKD(1),0(1,9) . executed to pack core size req'd 18860002 - 001650 2092 COREPCKD DS D . packed core requirement goes here 18880002 - 001658 00000070 2093 COREPKLN DC X'00000070' . length of packed size for execute 18900002 - 00165C 00001000 2094 PAGESIZE DC F'4096' . page size for core computation 18920002 - 001660 0000000100000000 2095 JSPSUSEM DC F'1,0' . SEMAPHORE TO LOCK ROUTINE 18990000 - 001668 000001E0 2096 JSPAAS DC A(LENJSPAS) . ALLOCATE LIST FOR AUTO STORAGE 19000000 - 00166C 2097 DS A 19010000 - 001670 00000008 2098 FETCHPRT DC F'8' reused to or in fetch protection 19020002 -1 Sample Operating System Version 2.00 Page 52 - Active Usings: PROGRAM,R0 PROGRAM+X'12CE',R1 PCB,R5 SA,R8 JSPAS,R12 -0 Loc Object Code Addr1 Addr2 Stmt Source Statement HLASM R6.0 2016/08/29 08.42 -0 2100 *********************************************************************** 19040000 - 2101 * * 19050000 - 2102 * DEVICE INTERFACE MODULE * 19060000 - 2103 * * 19070000 - 2104 * FUNCTION: TO INTERFACE BETWEEN USERPROG AND DEVICE HANDLER * 19080000 - 2105 * DATABASES: NONE * 19090000 - 2106 * ROUTINES USED: XA, XP, XV, XR, XS * 19100000 - 2107 * PROCEDURE: ALLOCATE AUTOMATIC STORAGE; START TO READ MESSAGE * 19110000 - 2108 * FROM USER; SEND MESSAGE TO DEVICE HANDLER; * 19120000 - 2109 * CONTINUE LOOPING, SENDING MESSAGES FROM USER TO * 19130000 - 2110 * DEVICE HANDLER AND BACK. * 19140000 - 2111 * ERROR CHECKS: NONE * 19150000 - 2112 * INTERRUPTS: ON * 19160000 - 2113 * USER ACCESS: YES * 19170000 - 2114 * * 19180000 - 2115 *********************************************************************** 19190000 -0 01674 2117 DIM EQU * . THE DEVICE INTERFACE MODULE 19210000 - 001674 0510 2118 BALR 1,0 19220000 - R:1 01676 2119 USING *,1 . ESTABLISH ADDRESSING 19230000 - 001676 4120 1042 016B8 2120 LA 2,DIMSEM . LOCK UNTIL GET STORAGE 19240000 - 00167A 0AD7 2121 SVC C'P' 19250000 - 00167C 4120 104A 016C0 2122 LA 2,DIMAAS . READY TO ALLOCATE STORAGE 19260000 - R:2 00000 2123 USING XAX,2 19270000 - 001680 0AC5 2124 SVC C'E' . DO IT 19280000 - 001682 58C0 2004 00004 2125 L 12,XAXADDR . GET THE ADDRESS 19290000 - 2126 DROP 2 19300000 - 001686 4120 1042 016B8 2127 LA 2,DIMSEM . UNLOCK OURSELVES 19310000 - 00168A 0AE5 2128 SVC C'V' 19320000 - R:C 00000 2129 USING DIMAS,12 . USE 12 FOR AUTO STORAGE 19330000 - 00168C D207 C090 B000 00090 00000 2130 MVC DIMLMS,0(11) . MOVE NAME OF RECIEVER 19340000 - 001692 4180 0084 00084 2131 LA 8,132 . REG 8 = SIZE OF MESSAGE 19350000 - 001696 5080 C008 00008 2132 DIMLOOP ST 8,DIMMSG+8 . GET READY TO READ A MESSAGE 19360000 - 00169A 4120 C000 00000 2133 LA 2,DIMMSG 19370000 - 00169E 0AD9 2134 SVC C'R' . READ 19380000 - 0016A0 D207 C098 C000 00098 00000 2135 MVC DIMTEMP,DIMMSG . SAVE SENDER NAME 19390000 - 0016A6 D207 C000 C090 00000 00090 2136 MVC DIMMSG,DIMLMS . SEND IT BACK TO THE LAST GUY 19400000 - 0016AC 0AE2 2137 SVC C'S' . SEND IT 19410000 - 0016AE D207 C090 C098 00090 00098 2138 MVC DIMLMS,DIMTEMP . AND REMEMBER WHO TO SEND TO NEXT 19420000 - 0016B4 47F0 1020 01696 2139 B DIMLOOP . RELOOP 19430000 - 0016B8 0000000100000000 2140 DIMSEM DC F'1,0' . SEMAPHORE FOR ENTRY 19440000 - 0016C0 000000A0 2141 DIMAAS DC A(DIMLEN) . ALLOCATE SEQ FOR AUTO STORAGE 19450000 - 0016C4 00000000 2142 DC A(0) 19460000 - 0016C8 00000008 2143 DC F'8' 19470000 - 2144 DROP 12 19480000 -1 Sample Operating System Version 2.00 Page 53 - Active Usings: PROGRAM,R0 PROGRAM+X'1676',R1 PCB,R5 SA,R8 -0 Loc Object Code Addr1 Addr2 Stmt Source Statement HLASM R6.0 2016/08/29 08.42 -00016D0 2146 LTORG 19500000 - 0016D0 0000000000FFE8C0 2147 =A(0,CORESIZE-(VERYEND-PROGRAM)) - 0016D8 5CC9D54040404040 2148 =CL8'*IN' - 0016E0 E4E2C5D9D7D9D6C7 2149 =CL8'USERPROG' - 0016E8 4040404040404040 2150 =CL8' ' - 0016F0 5CD6E4E340404040 2151 =CL8'*OUT' - 0016F8 00000EA4 2152 =A(UCBTABLE) - 0016FC 00000FC4 2153 =A(UCBTBEND) - 001700 00000008 2154 =F'8' - 001704 D9C5C1C4 2155 =C'READ' - 001708 D7D9C9D5 2156 =C'PRIN' - 00170C 0000000C 2157 =F'12' - 001710 00000001 2158 =F'1' - 001714 00000000 2159 =A(0) - 001718 00000084 2160 =F'132' - 00171C D6E4E340 2161 =C'OUT ' - 001720 00001674 2162 =A(DIM) - 001724 00000D74 2163 =A(EXCPHNDL) - 001728 D6D2 2164 =C'OK' - 00172A 5BD1D6C26B 2165 =C'$JOB,' - 00172F C9D540 2166 =C'IN ' - 001732 C5E7C3D740 2167 =C'EXCP ' - 001737 E3E7E3 2168 =C'TXT' - 00173A D9D3C4 2169 =C'RLD' - 00173D C5D5C4 2170 =C'END' - 001740 2171 VERYEND DS 6D . beginning of free storage 19510004 - 001770 2172 LOADER DS 0D IPL loader goes here 19521002 -1 Sample Operating System Version 2.00 Page 54 - Active Usings: PROGRAM,R0 PROGRAM+X'1676',R1 PCB,R5 SA,R8 -0 Loc Object Code Addr1 Addr2 Stmt Source Statement HLASM R6.0 2016/08/29 08.42 -0 00000 2174 R0 EQU 0 19521502 - 00001 2175 R1 EQU 1 19522002 - 00002 2176 R2 EQU 2 19522502 - 00003 2177 R3 EQU 3 19523002 - 00004 2178 R4 EQU 4 19523502 - 00005 2179 R5 EQU 5 19524002 - 00006 2180 R6 EQU 6 19524502 - 00007 2181 R7 EQU 7 19525002 - 00008 2182 R8 EQU 8 19525502 - 00009 2183 R9 EQU 9 19526002 - 0000A 2184 R10 EQU 10 19526502 - 0000B 2185 R11 EQU 11 19527002 - 0000C 2186 R12 EQU 12 19527502 - 0000D 2187 R13 EQU 13 19528002 - 0000E 2188 R14 EQU 14 19528502 - 0000F 2189 R15 EQU 15 19529002 - 2190 *********************************************************************** 19530000 - 2191 * * 19540000 - 2192 * DATABASE DEFINITIONS * 19550000 - 2193 * * 19560000 - 2194 *********************************************************************** 19570000 -0000000 00000 00148 2196 PCB DSECT . PROCESS CONTROL BLOCK DEFINITION 19590000 - 000000 2197 PCBNAME DS CL8 . NAME 19600000 - 000008 2198 PCBNPTG DS F . NEXT POINTER THIS GROUP 19610000 - 00000C 2199 PCBLPTG DS F . LAST POINTER THIS GROUP 19620000 - 000010 2200 PCBNPALL DS F . NEXT POINTER ALL 19630000 - 000014 2201 PCBLPALL DS F . LAST POINTER ALL 19640000 - 000018 2202 PCBSTOPT DS C . STOPPED 19650000 - 000019 2203 PCBBLOKT DS C . BLOCKED 19660000 - 00001A 2204 PCBINSMC DS C . IN SMC 19670000 - 00001B 2205 PCBSW DS C . STOP WAITING 19680000 - 00001C 2206 PCBMSC DS CL8 . MESSAGE SEMAPHORE COMMON 19690000 - 000024 2207 PCBMSR DS CL8 . MESSAGE SEMAPHORE RECEIVER 19700000 - 00002C 2208 PCBFM DS F . FIRST MESSAGE 19710000 - 000030 2209 PCBNSW DS F . NEXT SEMAPHORE WAITER 19720000 - 000034 2210 PCBSRS DS CL8 . STOPPER SEMAPHORE 19730000 - 00003C 2211 PCBSES DS CL8 . STOPPEE SEMAPHORE 19740000 - 000044 2212 PCBASIZE DS F . AUTOMATIC STORAGE SIZE 19750000 - 000048 2213 PCBAADDR DS A . AUTOMATIC STORAGE ADDRESS 19760000 - 00004C 2214 PCBISA DS CL84 . INTERRUPT SAVE AREA 19770000 - 0000A0 2215 PCBFSA DS CL84 . FAULT SAVE AREA 19780000 - 0000F4 2216 PCBMSA DS CL84 . MEMORY SAVE AREA 19790000 - 000148 2217 DS 0D . (ALIGN) 19800000 - 00148 2218 LENPCB EQU *-PCB . (LENGTH) 19810000 -0000000 00000 00054 2220 SA DSECT . SAVE AREA DEFINITION 19830000 - 000000 2221 SAPSW DS D . PROGRAM STATUS WORD 19840000 - 000008 2222 SAREGS DS CL64 . REGISTERS 19850000 - 000048 2223 SATEMP DS CL12 . TEMPORARIES 19860000 -0000000 00000 00040 2225 REGS DSECT . REGISTER DEFINITION 19880000 - 000000 2226 REG0 DS F . REGISTER 0 19890000 - 000004 2227 REG1 DS F . REGISTER 1 19900000 - 000008 2228 REG2 DS F . REGISTER 2 19910000 -1 Sample Operating System Version 2.00 Page 55 - Active Usings: PROGRAM,R0 PROGRAM+X'1676',R1 PCB,R5 SA,R8 -0D-Loc Object Code Addr1 Addr2 Stmt Source Statement HLASM R6.0 2016/08/29 08.42 -000000C 2229 REG3 DS F . REGISTER 3 19920000 - 000010 2230 REG4 DS F . REGISTER 4 19930000 - 000014 2231 REG5 DS F . REGISTER 5 19940000 - 000018 2232 REG6 DS F . REGISTER 6 19950000 - 00001C 2233 REG7 DS F . REGISTER 7 19960000 - 000020 2234 REG8 DS F . REGISTER 8 19970000 - 000024 2235 REG9 DS F . REGISTER 9 19980000 - 000028 2236 REG10 DS F . REGISTER 10 19990000 - 00002C 2237 REG11 DS F . REGISTER 11 20000000 - 000030 2238 REG12 DS F . REGISTER 12 20010000 - 000034 2239 REG13 DS F . REGISTER 13 20020000 - 000038 2240 REG14 DS F . REGISTER 14 20030000 - 00003C 2241 REG15 DS F . REGISTER 15 20040000 -0000000 00000 00008 2243 FSB DSECT . FREE STORAGE BLOCK DEFINITIONS 20060000 - 000000 2244 FSBNEXT DS A . NEXT 20070000 - 000004 2245 FSBSIZE DS F . SIZE 20080000 -0000000 00000 00008 2247 SM DSECT . SEMAPHORE DEFINITION 20100000 - 000000 2248 SMVAL DS F . VALUE 20110000 - 000004 2249 SMPTR DS F . PTR 20120000 -0000000 00000 0000C 2251 MSG DSECT . MESSAGE DEFINITION 20140000 - 000000 2252 MSGSENDR DS A . POINTER TO SENDER'S PCB 20150000 - 000004 2253 MSGNEXT DS A . NEXT 20160000 - 000008 2254 MSGSIZE DS F . SIZE 20170000 - 00000C 2255 MSGTEXT DS 0C . TEXT 20180000 - 0000C 2256 LENMSG EQU *-MSG . (LENGTH) 20190000 -0000000 00000 0000C 2258 XAX DSECT . XA ARGUMENT LIST 20210000 - 000000 2259 XAXSIZE DS F . SIZE 20220000 - 000004 2260 XAXADDR DS F . ADDRESS 20230000 - 000008 2261 XAXALGN DS F . ALIGNMENT 20240000 -0000000 00000 00008 2263 XFX DSECT . XF ARGUMENT LIST 20260000 - 000000 2264 XFXSIZE DS F . SIZE 20270000 - 000004 2265 XFXADDR DS F . ADDRESS 20280000 -0000000 00000 00008 2267 XBX DSECT . XB ARGUMENT LIST 20300000 - 000000 2268 XBXSIZE DS F . SIZE 20310000 - 000004 2269 XBXADDR DS F . ADDRESS 20320000 -0000000 00000 00008 2271 XCX DSECT . XC ARGUMENT LIST 20340000 - 000000 2272 XCXNAME DS CL8 . NAME 20350000 -0000000 00000 00008 2274 XDX DSECT . AD ARGUMENT LIST 20370000 - 000000 2275 XDXNAME DS CL8 . NAME 20380000 -0000000 00000 0000C 2277 XNX DSECT . XN ARGUMENT LIST 20400000 - 000000 2278 XNXNAME DS CL8 . NAME 20410000 - 000008 2279 XNXADDR DS A . ADDRESS 20420000 -0000000 00000 0000C 2281 XRX DSECT . XR ARGUMENT LIST 20440000 - 000000 2282 XRXNAME DS CL8 . NAME 20450000 - 000008 2283 XRXSIZE DS F . SIZE 20460000 -1 Sample Operating System Version 2.00 Page 56 - Active Usings: PROGRAM,R0 PROGRAM+X'1676',R1 PCB,R5 SA,R8 -0D-Loc Object Code Addr1 Addr2 Stmt Source Statement HLASM R6.0 2016/08/29 08.42 -000000C 2284 XRXTEXT DS 0C . TEXT 20470000 -0000000 00000 0000C 2286 XSX DSECT . XS ARGUMENT LIST 20490000 - 000000 2287 XSXNAME DS CL8 . NAME 20500000 - 000008 2288 XSXSIZE DS F . SIZE 20510000 - 00000C 2289 XSXTEXT DS 0C . TEXT 20520000 -0000000 00000 0000C 2291 XYX DSECT . XY ARGUMENT LIST 20540000 - 000000 2292 XYXNAME DS CL8 . NAME 20550000 - 000008 2293 XYXADDR DS A . ADDR 20560000 -0000000 00000 00008 2295 XZX DSECT . XZ ARGUMENT LIST 20580000 - 000000 2296 XZXNAME DS CL8 . NAME 20590000 -0000000 00000 00080 2298 RDRHAS DSECT . READER HANDLER AUTOMATIC STORAGE 20610000 - 000000 2299 RDRHCCB DS 2F . CCB 20620000 - 000008 2300 RDRHMSG DS CL8 . MESSAGE BLOCK FOR REQUESTS 20630000 - 000010 2301 DS F'8' 20640000 - 000014 2302 DS CL8 20650000 - 00001C 2303 RDRHTEMP DS CL80 . AREA FOR $JOB IN DATA STREAM 20660000 - 00006C 2304 RDRHM DS CL8 . MESSAGE BLOCK FOR REPLY 20670000 - 000074 2305 DS F'2' 20680000 - 000078 2306 DS CL2 20690000 - 00007A 2307 JOBBIT DS 1C 20700000 - 000080 2308 DS 0D 20710000 - 00080 2309 LENRDRHA EQU *-RDRHAS . (LENGTH) 20720000 -0000000 00000 00030 2311 PRTHAS DSECT . PRINTER HANDLER AUTOMATIC STORAGE 20740000 - 000000 2312 PRTHCCB DS 2F . CCB 20750000 - 000008 2313 PRTHMSG DS CL8 . MESSAGE BLOCK FOR REQUESTS 20760000 - 000010 2314 DS F'2' 20770000 - 000014 2315 DS CL8 20780000 - 00001C 2316 PRTHM DS CL8 . MESSAGE BLOCK FOR REPLY 20790000 - 000024 2317 DS F'2' 20800000 - 000028 2318 DS CL2 20810000 - 000030 2319 DS 0D 20820000 - 00030 2320 LENPRTHA EQU *-PRTHAS . (LENGTH) 20830000 -0000000 00000 00030 2322 EXCPHAS DSECT . EXCP HANDLER AUTOMATIC STORAGE 20850000 - 000000 2323 EXCPHMSG DS CL8 . MESSAGE BLOCK FOR REQUESTS 20860000 - 000008 2324 DS F'12' 20870000 - 00000C 2325 DS CL12 20880000 - 000018 2326 EXCPHM DS CL8 . MESSAGE BLOCK FOR REPLY 20890000 - 000020 2327 DS F'12' 20900000 - 000024 2328 DS CL12 20910000 - 000030 2329 DS 0D 20920000 - 00030 2330 LENEXCPA EQU *-EXCPHAS . (LENGTH) 20930000 -0000000 00000 00020 2332 UCB DSECT . UNIT CONTROL BLOCK DEFINITION 20950000 - 000000 2333 UCBADDR DS F . ADDRESS 20960000 - 000004 2334 UCBUS DS FL8 . USER SEMAPHORE 20970000 - 00000C 2335 UCBWS DS FL8 . WAITER SEMAPHORE 20980000 - 000014 2336 UCBCSW DS FL8 . CHANNEL STATUS WORD 20990000 - 00001C 2337 UCBFPR DS CL1 . FAST PROCESSING REQUIRED 21000000 - 000020 2338 DS 0F 21010000 -1 Sample Operating System Version 2.00 Page 57 - Active Usings: PROGRAM,R0 PROGRAM+X'1676',R1 PCB,R5 SA,R8 -0D-Loc Object Code Addr1 Addr2 Stmt Source Statement HLASM R6.0 2016/08/29 08.42 -0 00020 2339 UCBLENG EQU *-UCB 21020000 -0000000 00000 001E0 2341 JSPAS DSECT . JSP AUTOMATIC STORAGE 21040000 - 000000 2342 LINE DS CL132 . PRINTED LINE 21050000 - 000084 2343 DS 0F 21060000 - 000084 2344 CARD DS CL80 . CARD READ 21070000 - 0000D4 2345 DS 0F 21080000 - 0000D4 2346 RREPLY DS CL8 . MESSAGE BLOCK FOR REPLIES 21090000 - 0000DC 2347 RREPLY1 DS F 21100000 - 0000E0 2348 REPLY DS CL132 21110000 - 000164 2349 TREAD DS 0F . MESSAGE BLOCK FOR READING 21120000 - 000164 2350 DS CL8'*IN' 21130000 - 00016C 2351 DS F'8' 21140000 - 000170 2352 DS CL4'READ' 21150000 - 000174 2353 ACARD DS A(0) 21160000 - 000178 2354 WRITE DS CL8'*OUT' . MESSAGE BLOCK TO PRINT A LINE 21170000 - 000180 2355 DS F'8' 21180000 - 000184 2356 DS CL4'PRIN' 21190000 - 000188 2357 DS A(LINE) 21200000 - 00018C 2358 KEY DS F 21210000 - 000190 2359 USERL DS CL8'USERPROG' . LIST FOR MANIPULATING USERPROG 21220000 - 000198 2360 DS F 21230000 - 00019C 2361 SEQ DS CL8' ' . COMMON ARG LIST FOR I/O PROCESS 21240000 - 0001A4 2362 UNITRTN DS A 21250000 - 0001A8 2363 CORE DS F . MEMORY ALLOCATED AND FREE 21260000 - 0001AC 2364 DS F . SEQUENCE 21270000 - 0001B0 2365 DS F'4096' align to page boundary 21280002 - 0001B4 2366 RLDTEMP DS F 21290000 - 0001B8 2367 TALK DS CL8'USERPROG' . MESSAGE BLOCK FOR MESSAGE FROM 21300000 - 0001C0 2368 DS F'12' . USERPROG 21310000 - 0001C4 2369 DS CL12 21320000 - 0001D0 2370 ANYBACK DS CL8 . MESSAGE BLOCK FOR IGNORING MESS 21330000 - 0001D8 2371 DS F'1' 21340000 - 0001DC 2372 DS CL1 21350000 - 0001DD 2373 LOADED DS C . IS CORE ALLOCATED 21360000 - 0001E0 2374 DS 0D 21370000 - 001E0 2375 LENJSPAS EQU *-JSPAS . (LENGTH) 21380000 -0000000 00000 000A0 2377 DIMAS DSECT . DEVICE INTERFACE MODULE STORAGE 21400000 - 000000 2378 DIMMSG DS CL8 . MESSAGE BLOCK 21410000 - 000008 2379 DS F'132' 21420000 - 00000C 2380 DS CL132 21430000 - 000090 2381 DIMLMS DS CL8 . LAST MESSAGE SENDER 21440000 - 000098 2382 DIMTEMP DS CL8 . TEMPORARY 21450000 - 0000A0 2383 DS 0D 21460000 - 000A0 2384 DIMLEN EQU *-DIMAS . (LENGTH) 21470000 - 2385 END 21480000 -1 Relocation Dictionary Page 58 -- Pos.Id Rel.Id Address Type Action HLASM R6.0 2016/08/29 08.42 -0 00000001 00000001 00000005 A 3 + - 00000001 00000001 0000005D A 3 + - 00000001 00000001 00000065 A 3 + - 00000001 00000001 0000006D A 3 + - 00000001 00000001 00000180 A 4 + - 00000001 00000001 0000042D A 3 + - 00000001 00000001 00000435 A 3 + - 00000001 00000001 0000043D A 3 + - 00000001 00000001 00000445 A 3 + - 00000001 00000001 0000044D A 3 + - 00000001 00000001 00000455 A 3 + - 00000001 00000001 0000045D A 3 + - 00000001 00000001 00000465 A 3 + - 00000001 00000001 0000046D A 3 + - 00000001 00000001 00000475 A 3 + - 00000001 00000001 0000047D A 3 + - 00000001 00000001 00000485 A 3 + - 00000001 00000001 0000048D A 3 + - 00000001 00000001 00000495 A 3 + - 00000001 00000001 0000049D A 3 + - 00000001 00000001 000004A5 A 3 + - 00000001 00000001 000004AD A 3 + - 00000001 00000001 000004B5 A 3 + - 00000001 00000001 000004BD A 3 + - 00000001 00000001 000004C5 A 3 + - 00000001 00000001 000004C8 A 4 + - 00000001 00000001 000004DD A 3 + - 00000001 00000001 0000059D A 3 + - 00000001 00000001 00000E5C A 4 + - 00000001 00000001 00000E90 A 4 + - 00000001 00000001 000010CC A 4 + - 00000001 00000001 000010D0 A 4 + - 00000001 00000001 000010D4 A 4 + - 00000001 00000001 000010D8 A 4 + - 00000001 00000001 000010EC A 4 + - 00000001 00000001 000010F0 A 4 + - 00000001 00000001 000010F4 A 4 + - 00000001 00000001 000010F8 A 4 + - 00000001 00000001 000010FC A 4 + - 00000001 00000001 00001100 A 4 + - 00000001 00000001 00001104 A 4 + - 00000001 00000001 00001108 A 4 + - 00000001 00000001 00001118 A 4 + - 00000001 00000001 0000111C A 4 + - 00000001 00000001 00001120 A 4 + - 00000001 00000001 00001124 A 4 + - 00000001 00000001 000012B9 A 3 + - 00000001 00000001 000012C1 A 3 + - 00000001 00000001 000012C5 A 3 + - 00000001 00000001 000012C9 A 3 + - 00000001 00000001 00001638 A 4 + - 00000001 00000001 00001644 A 4 + - 00000001 00000001 000016F8 A 4 + - 00000001 00000001 000016FC A 4 + - 00000001 00000001 00001720 A 4 + -1 Relocation Dictionary Page 59 -- Pos.Id Rel.Id Address Type Action HLASM R6.0 2016/08/29 08.42 -0 00000001 00000001 00001724 A 4 + - 00000001 00000002 0000007D A 3 + - 00000003 00000001 00001815 A 3 + - 00000003 00000001 00001819 A 3 + - 00000003 00000001 00001821 A 3 + -1 Ordinary Symbol and Literal Cross Reference Page 60 --Symbol Length Value Id R Type Asm Program Defn References HLASM R6.0 2016/08/29 08.42 -0ACARD 4 00000174 FFFFFFEB A A 2353 1859M - ANYBACK 8 000001D0 FFFFFFEB C C 2370 1868M 2034 2038 - ASEXCP 6 00001452 00000001 I 1946 1933B - ASGNUNIT 4 000013DA 00000001 I 1917 1943B 1949B - ASIN 4 0000143A 00000001 I 1940 1929B - ASOUT 4 0000144A 00000001 I 1944 1931B - CARD 80 00000084 FFFFFFEB C C 2344 1858 1888 1897 1904 1971 1973 1975 1979 1981 1985 - 1987 1988 - CARDLDR 1 00001770 00000002 J 43 62 66U - CAW 4 00000048 00000001 F F 142 74M 1369M 1481M 1561M - CAWSEM 4 00000194 00000001 F F 158 1367 1479 1559 - CCBCON1 4 00000C30 00000001 X X 1412 1361 1471 - CCWCHAIN 8 00001810 00000002 D D 123 73 - CMPEXCP 6 00001434 00000001 I 1938 1932X - CMPIN 6 00001428 00000001 I 1936 1928X - CMPOUT 6 0000142E 00000001 I 1937 1930X - CONTINUE 4 000017FC 00000002 F F 119 96M - CORE 4 000001A8 FFFFFFEB F F 2363 1865M 1916M 1951 1954 2064 - COREOK 4 000013D2 00000001 I 1915 1913B - COREPACK 6 00001648 00000001 I 2091 1908X - COREPCKD 8 00001650 00000001 D D 2092 1909 2091M - COREPKLN 4 00001658 00000001 X X 2093 1907 - CORESIZ 4 00001264 00000001 A A 1817 1747 - CORESIZE 1 01000000 00000001 A U 129 1817 2147 - CSW 8 00000040 00000001 D D 141 106 1703 1704 1707 - DIM 1 00001674 00000001 U 2117 2162 - DIMAAS 4 000016C0 00000001 A A 2141 2122 - DIMAS 1 00000000 FFFFFFEA J 2377 2129U 2384 - DIMLEN 1 000000A0 FFFFFFEA A U 2384 2141 - DIMLMS 8 00000090 FFFFFFEA C C 2381 2130M 2136 2138M - DIMLOOP 4 00001696 00000001 I 2132 2139B - DIMMSG 8 00000000 FFFFFFEA C C 2378 2132M 2133 2135 2136M - DIMSEM 4 000016B8 00000001 F F 2140 2120 2127 - DIMTEMP 8 00000098 FFFFFFEA C C 2382 2135M 2138 - EIGHT 4 00001808 00000002 F F 122 89 - ENBLECH0 2 000017EE 00000002 C C 115 72 - ENDADATA 6 00000BFE 00000001 I 1399 1390B - ENDCARD 4 0000153E 00000001 I 2013 1976B - EXCPCOMP 4 00000DB4 00000001 I 1547 1551B - EXCPDONE 4 00000E30 00000001 I 1581 1576B - EXCPFIND 2 00000DCA 00000001 I 1553 1548B - EXCPHAAS 4 00000E44 00000001 A A 1586 1527 - EXCPHAS 1 00000000 FFFFFFED J 2322 1536U 2330 - EXCPHM 8 00000018 FFFFFFED C C 2326 1566M 1567M 1568M 1569 - EXCPHMSG 8 00000000 FFFFFFED C C 2323 1537 1568 1571 - EXCPHNDL 1 00000D74 00000001 U 1521 2163 - EXCPHSEM 4 00000E3C 00000001 F F 1585 1525 1532 - EXCPLOOP 4 00000D92 00000001 I 1537 1542B 1583B - EXCPWAIT 4 00000DF0 00000001 I 1564 1578B - EXINTRPT 4 000012BC 00000001 I 1827 1834 - EXPLOOP 6 0000159E 00000001 I 2044 2052B - EXPNXT 2 000015B4 00000001 I 2050 2047B - EXPUNGE 4 00001596 00000001 I 2041 1921B 1934B - EXTHANDL 1 0000027A 00000001 U 175 146 1832 - EXTHRET 4 000002A8 00000001 I 191 180B 184B -1 Ordinary Symbol and Literal Cross Reference Page 61 --Symbol Length Value Id R Type Asm Program Defn References HLASM R6.0 2016/08/29 08.42 -0EXTNEW 1 00000058 00000001 B B 146 1741M 1781M - EXTOLD 8 00000018 00000001 D D 136 179 187 192 1827 - FETCHPRT 4 00001670 00000001 F F 2098 1957 - FSB 1 00000000 FFFFFFFC J 2243 576U 662U 731U 740U - FSBNEXT 4 00000000 FFFFFFFC A A 2244 589 590 597 665 679 680 734 735 741M - FSBPTR 4 00000180 00000001 A A 155 572 573 660 661 727 728 - FSBSEM 4 00000184 00000001 F F 156 570 616 658 693 - FSBSIZE 4 00000004 FFFFFFFC F F 2245 585 598 669 672 677 732 742M - GWINC 4 00000586 00000001 I 458 455B - GWLOOP 4 00000576 00000001 I 454 460B - GWRUN 6 000005A0 00000001 I 465 457B - IDLE 1 00000598 00000001 B B 463 461 - INSEQ 8 00001630 00000001 C C 2087 1873 - IOBACK 4 00001036 00000001 I 1724 1701B - IOCOMP 6 00000FD2 00000001 I 1696 1700B - IODEVFND 6 00000FEC 00000001 I 1703 1697B - IOHANDL 1 00000FC4 00000001 U 1690 1830 - IOHSAVE 4 000001DC 00000001 F F 161 1691M 1718 1724 - IOINTRPT 1 000017DA 00000002 U 105 70 150 - IOINTRTN 4 000017EA 00000002 I 110 107B - IONEW 1 00000078 00000001 B B 150 71M 448 1740M - IONOFPR 2 00001034 00000001 I 1723 1710B - IOOLD 8 00000038 00000001 D D 140 108M 109M 110 1694M 1696 1717 1725 - IOWAIT 4 0000102C 00000001 I 1720 1714B - IPLAPCBS 4 00001258 00000001 A A 1814 1755 - IPLCL 4 00001066 00000001 I 1748 1752B - IPLEXNEW 3 000012C9 00000001 R A 1834 1741 - IPLLOOP 4 0000107C 00000001 I 1755 1780B - IPLPCB 8 00001110 00000001 C C 1804 1742 1805 - IPLRTN 1 0000103E 00000001 U 1737 133 - IPLTH 2 00001076 00000001 I 1753 1749B - JOB 4 00001384 00000001 I 1894 1889B - JOBBIT 1 0000007A FFFFFFEF C C 2307 1323M 1337 1342M 1403M - JSP 1 000012CC 00000001 U 1842 1825 - JSPAAS 4 00001668 00000001 A A 2096 1847 - JSPAS 1 00000000 FFFFFFEB J 2341 1852U 2375 - JSPNEVER 4 00001618 00000001 F F 2083 1891 - JSPSUSEM 4 00001660 00000001 F F 2095 1845 1853 - KEY 4 0000018C FFFFFFEB F F 2358 1870M 1947 1955 2020 - KEYTAB 1 000010DC 00000001 U 1792 1777 - LENEXCPA 1 00000030 FFFFFFED A U 2330 1586 - LENJSPAS 1 000001E0 FFFFFFEB A U 2375 2096 - LENMSG 1 0000000C FFFFFFFA A U 2256 1073 1127 - LENPCB 1 00000148 FFFFFFFF A U 2218 1595 1814 - LENPRTHA 1 00000030 FFFFFFEE A U 2320 1511 - LENRDRHA 1 00000080 FFFFFFEF A U 2309 1415 - LINE 132 00000000 FFFFFFEB C C 2342 1863 1895M 1896M 1896 1897M 2029M 2030M 2030 2031M 2357 - LOAD 4 00001462 00000001 I 1951 1919B - LOADADDR 4 00001800 00000002 F F 120 76 - LOADCL 4 000015CE 00000001 I 2058 2063B - LOADD 4 000015E0 00000001 I 2064 2060B - LOADED 1 000001DD FFFFFFEB C C 2373 1894M 1953M 2053 - LOADER 8 00001770 00000001 D D 2172 49 50 52 - LOADLOOP 4 00001492 00000001 I 1966 1962B 1977B 1984B 2004B - LOADSK 4 00001480 00000001 I 1960 1965B -1 Ordinary Symbol and Literal Cross Reference Page 62 --Symbol Length Value Id R Type Asm Program Defn References HLASM R6.0 2016/08/29 08.42 -0LOOP 4 00001354 00000001 I 1881 1890B 2054B 2066B - MEMORY 4 0000018C 00000001 F F 157 593 688 - MSG 1 00000000 FFFFFFFA J 2251 839U 1050U 1139U 1147U 2256 - MSGNEXT 4 00000004 FFFFFFFA A A 2253 840 1051 1142 1143 1148M - MSGSENDR 4 00000000 FFFFFFFA A A 2252 1068 1149M - MSGSIZE 4 00000008 FFFFFFFA F F 2254 841 1059 1061 1072 1151M - MSGTEXT 1 0000000C FFFFFFFA C C 2255 1084 1162M - NEXTCARD 2 0000179C 00000002 I 80 88B - NEXTTRY 4 00000274 00000001 A A 166 424M 451 465M 1744M - NEXTTRYM 1 00000278 00000001 C C 167 422 425M 466M 1720M - NOTALGND 6 00001520 00000001 I 2005 1992B - NUMCARDS 4 00001804 00000002 F F 121 75 - OUTSEQ 8 0000163C 00000001 C C 2089 1877 - PAGESIZE 4 0000165C 00000001 F F 2094 1748 1865 1960 2058 - PCB 1 00000000 FFFFFFFF J 2196 182U 222U 317 318 319 373U 380U 419U 453U 473U - 782U 825U 830U 834U 862U 917U 920U 924U 928U 931U - 936U 956U 960U 963U 966U 970U 973U 977U 1003U 1013U - 1070U 1086U 1122U 1164U 1198U 1209U 1248U 1260U 1712U 1761U - 1765U 1769U 2016U 2043U 2218 - PCBAADDR 4 00000048 FFFFFFFF A A 2213 621M 850 - PCBASIZE 4 00000044 FFFFFFFF F F 2212 620M 852 - PCBBLOKT 1 00000019 FFFFFFFF C C 2203 183 383M 421M 454 785 785M 1713 2017M 2024M - PCBFM 4 0000002C FFFFFFFF F F 2208 836 1049 1051M 1137 1138 - PCBFSA 84 000000A0 FFFFFFFF C C 2215 318 - PCBINSMC 1 0000001A FFFFFFFF C C 2204 492 494M 517 519M 1249 - PCBISA 84 0000004C FFFFFFFF C C 2214 185 317 384M 468 785 1199 1715 1770 2021 2022M - 2023M - PCBLPALL 4 00000014 FFFFFFFF F F 2201 918M 921M 957 964M - PCBLPTG 4 0000000C FFFFFFFF F F 2199 929M 932M 967 974M 1763M 1766M - PCBMSA 84 000000F4 FFFFFFFF C C 2216 319 - PCBMSC 8 0000001C FFFFFFFF C C 2206 1047 1135 - PCBMSR 8 00000024 FFFFFFFF C C 2207 1044 1157 - PCBNAME 8 00000000 FFFFFFFF C C 2197 783M 1005 1071 1235 2044 - PCBNPALL 4 00000010 FFFFFFFF F F 2200 458 465 914 915M 922M 958 961M - PCBNPTG 4 00000008 FFFFFFFF F F 2198 925 926M 933M 968 971M 1004 1762M 1767M 2045 - PCBNSW 4 00000030 FFFFFFFF F F 2209 376 377 382M 420 - PCBSES 8 0000003C FFFFFFFF C C 2211 527 - PCBSRS 8 00000034 FFFFFFFF C C 2210 525 1255 - PCBSTOPT 1 00000018 FFFFFFFF C C 2202 456 784M 826 1204M 1251M - PCBSW 1 0000001B FFFFFFFF C C 2205 522 524M 1254M - PGMHANDL 1 000002B0 00000001 U 194 148 - PROGRAM 1 00000000 00000001 J 42 68U 127 2147 - PROTCON1 4 00000C34 00000001 X X 1413 1348 1355 1458 1465 - PROTCON2 4 00000C38 00000001 X X 1414 1351 1358 1461 1468 - PRTHAAS 4 00000D68 00000001 A A 1511 1431 - PRTHANDL 1 00000C48 00000001 U 1425 2090 - PRTHAS 1 00000000 FFFFFFEE J 2311 1440U 2320 - PRTHCCB 4 00000000 FFFFFFEE F F 2312 1441 1472M 1473M 1474M 1476M - PRTHCOMM 4 00000CEC 00000001 I 1479 1475B 1507B - PRTHLOOP 4 00000C6A 00000001 I 1442 1451B 1503B - PRTHM 8 0000001C FFFFFFEE C C 2316 1494M 1496M 1497M 1498M 1501 - PRTHMSG 8 00000008 FFFFFFEE C C 2313 1442 1455 1498 - PRTHNO 6 00000D26 00000001 I 1494 1463B 1470B - PRTHOK 6 00000D30 00000001 I 1496 1493B - PRTHPOK 4 00000CCA 00000001 I 1471 1456B -1 Ordinary Symbol and Literal Cross Reference Page 63 --Symbol Length Value Id R Type Asm Program Defn References HLASM R6.0 2016/08/29 08.42 -0PRTHPRIN 4 00000C92 00000001 I 1453 1448B - PRTHSEM 4 00000D60 00000001 F F 1510 1429 1436 - PRTHSEND 6 00000D36 00000001 I 1497 1495B - PRTHSTC1 6 00000CE0 00000001 I 1476 1450B - PRTHWAIT 4 00000D10 00000001 I 1488 1491B - PTSTATUS 2 00000D52 00000001 I 1504 1486B - QUANTUM 4 000005BC 00000001 X X 471 469 - RDRHAAS 4 00000C3C 00000001 A A 1415 1313 - RDRHANDL 1 00000AC6 00000001 U 1307 2088 - RDRHAS 1 00000000 FFFFFFEF J 2298 1322U 2309 - RDRHCCB 4 00000000 FFFFFFEF F F 2299 1324 1362M 1363M 1364M - RDRHEXC 4 00000BB8 00000001 I 1383 1379B - RDRHLOOP 4 00000AEC 00000001 I 1325 1330B 1398B - RDRHM 8 0000006C FFFFFFEF C C 2304 1385M 1391M 1392M 1393M 1396 1399M - RDRHMORE 4 00000B2E 00000001 I 1345 1338B - RDRHMSG 8 00000008 FFFFFFEF C C 2300 1325 1335 1345 1387 1393 - RDRHNO 6 00000BC0 00000001 I 1385 1340B 1353B 1360B - RDRHOK 4 00000BCA 00000001 I 1387 1382B - RDRHPOK 4 00000B60 00000001 I 1361 1346B 1381B 1408B - RDRHSEM 4 00000C28 00000001 F F 1411 1311 1318 - RDRHSEND 6 00000BE2 00000001 I 1392 1386B 1404B - RDRHSOK 6 00000BDC 00000001 I 1391 1343B 1388B - RDRHTEMP 80 0000001C FFFFFFEF C C 2303 1341 1400M - RDRHWAIT 4 00000B96 00000001 I 1374 1377B 1384B - RDSTATUS 2 00000C1C 00000001 I 1405 1372B - READ 1 000017F0 00000002 X X 116 81 - REGS 1 00000000 FFFFFFFD J 2225 1773U - REG3 4 0000000C FFFFFFFD F F 2229 1776M - REG4 4 00000010 FFFFFFFD F F 2230 1777M - REPLY 132 000000E0 FFFFFFEB C C 2348 1886 - RETURN 1 000004D8 00000001 B B 328 369 416 426 470 495 529 623 696 743 788 - 859 935 976 1011 1082 1160 1205 1253 - RETURNR 1 000004E0 00000001 U 330 328 - RLDCARD 4 000014E0 00000001 I 1987 1974B - RLDCONT 4 00001500 00000001 I 1996 2011B - RLDFINI 2 00001514 00000001 I 2001 1999B - RLDLOOP 4 000014E8 00000001 I 1989 2003B - RLDTEMP 4 000001B4 FFFFFFEB F F 2366 1869M 2005M 2006 2008M 2009 2010M - RREPLY 8 000000D4 FFFFFFEB C C 2346 1884 1900 1969 - RREPLY1 4 000000DC FFFFFFEB F F 2347 1883M 1968M - RUNNING 4 00000270 00000001 A A 165 181 221 381 467M 1711 1743M 2041 2051 - R11 1 0000000B 00000001 A U 2185 67M 68U 111D - R12 1 0000000C 00000001 A U 2186 63M 65M 66U 111D - R2 1 00000002 00000001 A U 2176 64M 65 69M 71 80M 81M 82 83M 84 95M - 96 - R3 1 00000003 00000001 A U 2177 70M 71 75M 88M - R4 1 00000004 00000001 A U 2178 76M 80 86M 86 - R5 1 00000005 00000001 A U 2179 73M 74 82 84 85 87M 87 89M 90 - SA 1 00000000 FFFFFFFE J 2220 186U 230U 1200U 1201 1203 1208U 1716U 1771U - SAPSW 8 00000000 FFFFFFFE D D 2221 187M 231M 331 1201M 1201 1202M 1717M - SAREGS 64 00000008 FFFFFFFE C C 2222 188M 232M 332 1203M 1203 1718M 1772 - SATEMP 12 00000048 FFFFFFFE C C 2223 599 682 768 817 833 854 1115 1190 1239 - SCAN 2 000015EA 00000001 I 2068 1905B 1917B 1927B - SCANLOOP 4 000015EC 00000001 I 2069 2077B - SEQ 8 0000019C FFFFFFEB C C 2361 1922 1923M 1926 1935M 2042 2044M 2046 -1 Ordinary Symbol and Literal Cross Reference Page 64 --Symbol Length Value Id R Type Asm Program Defn References HLASM R6.0 2016/08/29 08.42 -0SETDIM 6 0000143E 00000001 I 1941 1945B - SHORT 4 00001510 00000001 I 2000 1997B - SKIP 8 00001620 00000001 C C 2084 1861 2036 - SM 1 00000000 FFFFFFFB J 2247 363U 411U 687U - SMPTR 4 00000004 FFFFFFFB F F 2249 370 371 417 420M - SMVAL 4 00000000 FFFFFFFB F F 2248 364 366M 412 414M 690 - SOSEXNEW 3 000012C5 00000001 R A 1832 1781 - SOSIONEW 3 000012C1 00000001 R A 1830 1740 - STOP 4 0000137E 00000001 I 1891 1887B - STREAMS 4 000010C8 00000001 F F 1784 1754 - SVCCONST 4 00000314 00000001 F F 241 215 - SVCHANDL 1 000002B2 00000001 U 211 147 - SVCHPROT 4 00000302 00000001 I 235 220B - SVCHTABL 1 00000328 00000001 X X 243 217 244 246 248 250 252 254 256 258 260 - 262 264 266 268 270 272 274 276 278 280 - 282 284 - SVCOK 4 000002D0 00000001 I 221 237B 239B - SVCOLD 8 00000020 00000001 D D 137 216 228 231 235 331M 333 - SVCRTN 8 00000428 00000001 D D 286 218 238 - SVCSAVE 4 000004C8 00000001 F F 315 227 - SVCXPER 4 000002FA 00000001 I 233 229B - SYSSEM 4 000002DE 00000001 I 226 224B - SYSSEMSA 84 0000021C 00000001 C C 163 316 384 - TALK 8 000001B8 FFFFFFEB C C 2367 1866M 1867M 2026 2031 - TEMPLATE 4 00001280 00000001 X X 1822 785 - TIMER 4 00000050 00000001 F F 144 469M - TOKSTART 2 00001610 00000001 I 2078 2071B 2073B 2075B - TRAPSAVE 4 0000019C 00000001 F F 160 176M 188 191 212M 232 - TREAD 4 00000164 FFFFFFEB F F 2349 1855M 1856M 1857M 1881 1966 - TXTCARD 4 000014C6 00000001 I 1979 1972B - TXTMOV 6 000014DA 00000001 I 1985 1983X - TYPLEN 1 00000054 00000001 A U 1826 1759 - TYPPCB 8 00001268 00000001 C C 1820 1759 1826 - UCB 1 00000000 FFFFFFEC J 2332 1308U 1426U 1522U 1702U 2339 - UCBADDR 4 00000000 FFFFFFEC F F 2333 1370 1484 - UCBCSW 8 00000014 FFFFFFEC G F 2336 1365M 1366M 1376 1378 1380 1383M 1482M 1483M 1490 1492 - 1557M 1558M 1566 1703M 1705 1706M 1707M - UCBFPR 1 0000001C FFFFFFEC C C 2337 1709 - UCBLENG 1 00000020 FFFFFFEC A U 2339 1549 1698 - UCBLP1 4 000010EC 00000001 A A 1798 1787 - UCBLP2 4 000010F4 00000001 A A 1799 1788 - UCBLP3 4 000010FC 00000001 A A 1800 1789 - UCBLP4 4 00001104 00000001 A A 1801 1790 - UCBPRT1 4 00000EC4 00000001 X X 1627 1798 - UCBPRT2 4 00000F04 00000001 X X 1641 1799 - UCBPRT3 4 00000F44 00000001 X X 1655 1800 - UCBPRT4 4 00000F84 00000001 X X 1669 1801 - UCBRDR1 4 00000EA4 00000001 X X 1620 1798 - UCBRDR2 4 00000EE4 00000001 X X 1634 1799 - UCBRDR3 4 00000F24 00000001 X X 1648 1800 - UCBRDR4 4 00000F64 00000001 X X 1662 1801 - UCBTAB 1 000010CC 00000001 U 1786 1774 1777 - UCBTABLE 4 00000EA4 00000001 F F 1618 1546 2152 - UCBTBEND 1 00000FC4 00000001 U 1682 1606 2153 - UCBUS 8 00000004 FFFFFFEC G F 2334 1333 1394 1453 1477 1499 1554 1581 -1 Ordinary Symbol and Literal Cross Reference Page 65 --Symbol Length Value Id R Type Asm Program Defn References HLASM R6.0 2016/08/29 08.42 -0UCBWS 8 0000000C FFFFFFEC G F 2335 1374 1406 1488 1505 1564 1708 - UNAMMOV 6 00001422 00000001 I 1935 1924X - UNITRTN 4 000001A4 FFFFFFEB A A 2362 1941M 1946M - USERL 8 00000190 FFFFFFEB C C 2359 1860M 1902 2013 2015 2018M - VERYEND 8 00001740 00000001 D D 2171 155 1745M 2147 - WAITPSWD 4 000017F8 00000002 X X 118 97 - WRITE 8 00000178 FFFFFFEB C C 2354 1861M 1862M 1864M 1898 2032 - XA 1 00000600 00000001 U 557 299 565U 1593 - XABACK 2 000006B0 00000001 I 622 619B - XACOM 2 0000060E 00000001 I 566 560B - XAFOUND 4 00000662 00000001 I 596 588B - XALOOP 2 0000062A 00000001 I 577 591B - XANF 2 00000686 00000001 I 607 603B - XARETURN 4 0000069C 00000001 I 616 611B - XATOP 4 00000616 00000001 I 570 595B - XAUTO 1 00000608 00000001 U 561 313 - XAWAIT 2 00000656 00000001 I 592 578B - XAX 1 00000000 FFFFFFF9 J 2258 568U 776U 1124U 1314U 1432U 1528U 1756U 1848U 2123U - XAXADDR 4 00000004 FFFFFFF9 F F 2260 596M 780 1133 1316 1434 1530 1758 1850 2125 - XAXALGN 4 00000008 FFFFFFF9 F F 2261 574 778M 1131M - XAXSIZE 4 00000000 FFFFFFF9 F F 2259 569 777M 1130M - XB 1 00000744 00000001 U 722 298 - XBINSERT 4 00000770 00000001 I 738 730B 733B - XBLOOP 4 0000075A 00000001 I 732 737B - XBX 1 00000000 FFFFFFF7 J 2267 600U 683U 724U - XBXADDR 4 00000004 FFFFFFF7 F F 2269 604M 612M 685M 726 - XBXSIZE 4 00000000 FFFFFFF7 F F 2268 605M 613M 684M 725 - XC 1 00000780 00000001 U 764 306 - XCERR 2 000007C4 00000001 I 789 773B - XCOM 1 000005D2 00000001 U 514 297 - XCOMRET 4 000005FC 00000001 I 529 521B 523B - XCX 1 00000000 FFFFFFF6 J 2271 767U - XCXNAME 8 00000000 FFFFFFF6 C C 2272 770 783 - XD 1 000007C6 00000001 U 813 310 - XDCHECK 6 0000081A 00000001 I 850 838B - XDERR 2 00000840 00000001 I 860 824B 827B - XDLOOP 2 000007F4 00000001 I 837 849B - XDTHEN 4 0000082E 00000001 I 855 851B - XDX 1 00000000 FFFFFFF5 J 2274 816U - XDXNAME 8 00000000 FFFFFFF5 C C 2275 819 - XEXC 1 000005C0 00000001 U 489 296 - XF 1 000006B6 00000001 U 649 300 - XFBACKUP 2 00000706 00000001 I 678 670B - XFINC 4 00000708 00000001 I 679 674B - XFLINK 4 00000714 00000001 I 682 664B - XFLOOP 2 000006D4 00000001 I 663 681B - XFTHEN 2 000006F0 00000001 I 671 667B - XFVDO 2 0000073E 00000001 I 697 692B - XFVLOOP 4 0000072E 00000001 I 692 698B - XFX 1 00000000 FFFFFFF8 J 2263 653U 844U 1077U - XFXADDR 4 00000004 FFFFFFF8 F F 2265 655 845M 855M 1078M - XFXSIZE 4 00000000 FFFFFFF8 F F 2264 654 846M 856M 1079M - XH 1 00000842 00000001 U 882 312 - XHLOOP 4 00000848 00000001 I 886 888B - XHMSG1 8 00000854 00000001 C C 890 884 -1 Ordinary Symbol and Literal Cross Reference Page 66 --Symbol Length Value Id R Type Asm Program Defn References HLASM R6.0 2016/08/29 08.42 -0XHMSG2 8 0000086C 00000001 C C 893 886 - XI 1 0000087A 00000001 U 912 301 - XJ 1 000008A6 00000001 U 953 302 - XN 1 000008CA 00000001 U 998 307 - XNX 1 00000000 FFFFFFF4 J 2277 769U 818U 1000U 1116U 1191U 1240U - XNXADDR 4 00000008 FFFFFFF4 A A 2279 772 821 1010M 1119 1194 1243 - XNXFOUND 4 000008E4 00000001 I 1010 1006B - XNXLOOP 4 000008CC 00000001 I 1004 1008B - XNXNAME 8 00000000 FFFFFFF4 C C 2278 770M 819M 1005 1117M 1192M 1241M - XP 1 000004EE 00000001 U 361 294 - XPER 1 0000056A 00000001 U 447 189B 303 385B 463 - XPLOOP 2 0000050A 00000001 I 374 378B - XPTHEN 6 0000051C 00000001 I 381 375B - XPWAIT 4 00000502 00000001 I 370 368B - XQUE 1 00000A8E 00000001 U 1279 311 - XQUELOOP 4 00000A94 00000001 I 1283 1285B - XQUEM1 8 00000AA0 00000001 C C 1287 1281 - XQUEM2 8 00000AB8 00000001 C C 1290 1283 - XR 1 000008EC 00000001 U 1040 304 - XRAFT 4 00000938 00000001 I 1066 1064B - XRFILL 6 0000096C 00000001 I 1083 1057X - XRMOVE 6 00000972 00000001 I 1084 1065X - XRNOB 4 0000091C 00000001 I 1058 1056B - XRTHEN 2 0000092E 00000001 I 1063 1060B - XRX 1 00000000 FFFFFFF3 J 2281 1043U 1326U 1336U 1443U 1538U 1572U - XRXNAME 8 00000000 FFFFFFF3 C C 2282 1071M 1339 - XRXSIZE 4 00000008 FFFFFFF3 F F 2283 1053 1067M 1327M 1444M 1539M 1573M - XRXTEXT 1 0000000C FFFFFFF3 C C 2284 1055M 1083M 1083 1084M 1329 1331 1446 1447 1449 1541 - 1543 1544 1575 1577 - XS 1 00000978 00000001 U 1111 305 - XSADD 4 000009D2 00000001 I 1145 1141B - XSAFT 2 000009F4 00000001 I 1156 1154B - XSERR 2 00000A02 00000001 I 1161 1121B - XSLOOP 2 000009C0 00000001 I 1140 1144B - XSMOVE 6 00000A04 00000001 I 1162 1155X - XSX 1 00000000 FFFFFFF2 J 2286 1114U - XSXNAME 8 00000000 FFFFFFF2 C C 2287 1117 - XSXSIZE 4 00000008 FFFFFFF2 F F 2288 1126 1150 - XSXTEXT 1 0000000C FFFFFFF2 C C 2289 1162 - XV 1 00000534 00000001 U 409 295 - XVRET 4 00000566 00000001 I 426 423B - XVWAKEUP 4 00000548 00000001 I 417 415B - XY 1 00000A0A 00000001 U 1186 308 - XYERR 2 00000A40 00000001 I 1206 1196B - XYX 1 00000000 FFFFFFF1 J 2291 1189U - XYXADDR 4 00000008 FFFFFFF1 A A 2293 1202 - XYXNAME 8 00000000 FFFFFFF1 C C 2292 1192 - XZ 1 00000A42 00000001 U 1231 309 - XZERR 2 00000A8C 00000001 I 1258 1238B 1245B - XZFINE 4 00000A54 00000001 I 1239 1236B - XZINSMC 4 00000A7E 00000001 I 1254 1250B - XZSTOP 4 00000A6C 00000001 I 1249 1257B - XZX 1 00000000 FFFFFFF0 J 2295 1234U - XZXNAME 8 00000000 FFFFFFF0 C C 2296 1237 1241 - =A(DIM) 4 00001720 00000001 A 2162 1941 -1 Ordinary Symbol and Literal Cross Reference Page 67 --Symbol Length Value Id R Type Asm Program Defn References HLASM R6.0 2016/08/29 08.42 -0=A(EXCPHNDL) - 4 00001724 00000001 A 2163 1946 - =A(LENPCB) - 4 00000E64 00000001 A 1595 777 856 - =A(UCBTABLE) - 4 000016F8 00000001 A 2152 1695 - =A(UCBTBEND) - 4 00000E90 00000001 A 1606 1550 - =A(UCBTBEND) - 4 000016FC 00000001 A 2153 1699 - =A(XA) 4 00000E5C 00000001 A 1593 564 - =A(0) 4 00000E60 00000001 A 1594 772 850 1148 1365 1366 1482 1483 1557 1558 - =A(0) 4 00001714 00000001 A 2159 1869 - =A(0,CORESIZE-(VERYEND-PROGRAM)) - 4 000016D0 00000001 A 2147 1745 - =C'$JOB,' - 5 00000E98 00000001 C 1609 1389 - =C'$JOB,' - 5 0000172A 00000001 C 2165 1888 - =C'AGAIN' - 5 00000E9D 00000001 C 1610 1577 - =C'END' 3 0000173D 00000001 C 2170 1975 - =C'EXCP ' - 5 00001732 00000001 C 2167 1938 - =C'EXCP' 4 00000E8C 00000001 C 1605 1541 - =C'IN ' 3 0000172F 00000001 C 2166 1936 - =C'NO' 2 00000E94 00000001 C 1607 1385 1399 1494 - =C'OK' 2 00000E96 00000001 C 1608 1391 1496 1575 - =C'OK' 2 00001728 00000001 C 2164 1886 - =C'OUT ' 4 0000171C 00000001 C 2161 1937 - =C'PRIN' 4 00000E7C 00000001 C 1601 1447 - =C'PRIN' 4 00001708 00000001 C 2156 1862 - =C'READ' 4 00000E74 00000001 C 1599 1329 - =C'READ' 4 00001704 00000001 C 2155 1857 - =C'RLD' 3 0000173A 00000001 C 2169 1973 - =C'STC1' 4 00000E80 00000001 C 1602 1449 - =C'TXT' 3 00001737 00000001 C 2168 1971 - =CL8' ' 8 000016E8 00000001 C 2150 1895 1923 2029 - =CL8'*IN' - 8 000016D8 00000001 C 2148 1855 1940 - =CL8'*OUT' - 8 000016F0 00000001 C 2151 1944 - =CL8'USERPROG' - 8 000016E0 00000001 C 2149 1860 1866 - =F'-8' 4 00000E6C 00000001 F 1597 843 1075 1129 - =F'1' 4 00000E58 00000001 F 1592 413 - =F'1' 4 00001710 00000001 F 2158 1868 - =F'12' 4 00000E88 00000001 F 1604 1539 1567 - =F'12' 4 0000170C 00000001 F 2157 1867 - =F'132' 4 00000E84 00000001 F 1603 1474 - =F'132' 4 00001718 00000001 F 2160 1883 1968 - =F'2' 4 00000E70 00000001 F 1598 1054 1392 1497 - =F'8' 4 00000E68 00000001 F 1596 778 1131 1327 1444 1573 - =F'8' 4 00001700 00000001 F 2154 1856 - =F'80' 4 00000E78 00000001 F 1600 1364 -1 Ordinary Symbol and Literal Cross Reference Page 68 --Symbol Length Value Id R Type Asm Program Defn References HLASM R6.0 2016/08/29 08.42 -0=X'8900000020000001' - 8 00000E50 00000001 X 1591 1476 -1 Unreferenced Symbols Defined in CSECTs Page 69 -- Defn Symbol HLASM R6.0 2016/08/29 08.42 -0 50 CCW1 - 52 CCW2 - 47 IPLCARD - 134 IPLCCW1 - 135 IPLCCW2 - 133 IPLPSW - 149 MCHKNEW - 139 MCHKOLD - 148 PGMNEW - 138 PGMOLD - 48 PSWD - 2174 R0 - 2175 R1 - 2184 R10 - 2187 R13 - 2188 R14 - 2189 R15 - 2180 R6 - 2181 R7 - 2182 R8 - 2183 R9 - 147 SVCNEW - 1676 UCBCONS1 - 143 UNUSED0 - 145 UNUSED1 -1 Dsect Cross Reference Page 70 --Dsect Length Id Defn HLASM R6.0 2016/08/29 08.42 -0DIMAS 000000A0 FFFFFFEA 2377 - EXCPHAS 00000030 FFFFFFED 2322 - FSB 00000008 FFFFFFFC 2243 - JSPAS 000001E0 FFFFFFEB 2341 - MSG 0000000C FFFFFFFA 2251 - PCB 00000148 FFFFFFFF 2196 - PRTHAS 00000030 FFFFFFEE 2311 - RDRHAS 00000080 FFFFFFEF 2298 - REGS 00000040 FFFFFFFD 2225 - SA 00000054 FFFFFFFE 2220 - SM 00000008 FFFFFFFB 2247 - UCB 00000020 FFFFFFEC 2332 - XAX 0000000C FFFFFFF9 2258 - XBX 00000008 FFFFFFF7 2267 - XCX 00000008 FFFFFFF6 2271 - XDX 00000008 FFFFFFF5 2274 - XFX 00000008 FFFFFFF8 2263 - XNX 0000000C FFFFFFF4 2277 - XRX 0000000C FFFFFFF3 2281 - XSX 0000000C FFFFFFF2 2286 - XYX 0000000C FFFFFFF1 2291 - XZX 00000008 FFFFFFF0 2295 -1 Using Map Page 71 -- HLASM R6.0 2016/08/29 08.42 - Stmt -----Location----- Action ----------------Using----------------- Reg Max Last Label and Using Text - Count Id Type Value Range Id Disp Stmt -0 66 00001778 00000002 USING ORDINARY 00001770 00001000 00000002 12 000A0 107 CARDLDR,R12 - 68 0000177C 00000002 USING ORDINARY 00000000 00001000 00000001 11 00078 110 PROGRAM,R11 - 111 000017EE 00000002 DROP 11 R11 - 111 000017EE 00000002 DROP 12 R12 - 131 00000000 00000001 USING ORDINARY 00000000 00001000 00000001 0 00C38 2051 *,0 - 178 00000280 00000001 USING ORDINARY 00000280 00001000 00000001 1 002EA 189 *,1 - 182 0000028C 00000001 USING ORDINARY 00000000 00001000 FFFFFFFF 15 0004C 185 PCB,15 - 186 00000298 00000001 USING ORDINARY 00000000 00001000 FFFFFFFE 14 00008 188 SA,14 - 190 000002A8 00000001 DROP 14 14 - 190 000002A8 00000001 DROP 15 15 - 214 000002B8 00000001 USING ORDINARY 000002B8 00001000 00000001 9 00210 239 *,9 - 222 000002D4 00000001 USING ORDINARY 00000000 00001000 FFFFFFFF 15 00000 PCB,15 - 230 000002EE 00000001 USING ORDINARY 00000000 00001000 FFFFFFFE 14 00048 1190 SA,14 - 240 00000314 00000001 DROP 9 9 - 362 000004EE 00000001 USING ORDINARY 000004EE 00001000 00000001 1 0007C 385 *,1 - 363 000004EE 00000001 USING ORDINARY 00000000 00001000 FFFFFFFB 2 00004 371 SM,2 - 372 0000050A 00000001 DROP 15 15 - 373 0000050A 00000001 USING ORDINARY 00000000 00001000 FFFFFFFF 5 00030 377 PCB,5 - 379 0000051C 00000001 DROP 5 5 - 380 0000051C 00000001 USING ORDINARY 00000000 00001000 FFFFFFFF 15 0004C 384 PCB,15 - 386 00000534 00000001 DROP 2 2 - 410 00000534 00000001 USING ORDINARY 00000534 00001000 00000001 1 00924 423 *,1 - 411 00000534 00000001 USING ORDINARY 00000000 00001000 FFFFFFFB 2 00004 420 SM,2 - 418 0000054C 00000001 DROP 15 15 - 419 0000054C 00000001 USING ORDINARY 00000000 00001000 FFFFFFFF 4 00030 421 PCB,4 - 427 0000056A 00000001 DROP 2 2 - 427 0000056A 00000001 DROP 4 4 - 450 00000570 00000001 USING ORDINARY 00000570 00001000 00000001 1 0004C 469 *,1 - 453 00000576 00000001 USING ORDINARY 00000000 00001000 FFFFFFFF 10 0004C 468 PCB,10 - 472 000005C0 00000001 DROP 10 10 - 473 000005C0 00000001 USING ORDINARY 00000000 00001000 FFFFFFFF 15 00048 621 PCB,15 - 490 000005C0 00000001 USING ORDINARY 000005C0 00001000 00000001 1 00000 *,1 - 515 000005D2 00000001 USING ORDINARY 000005D2 00001000 00000001 1 0002A 523 *,1 - 558 00000600 00000001 USING ORDINARY 00000600 00001000 00000001 1 0000E 560 *,1 - 562 00000608 00000001 USING ORDINARY 00000608 00001000 00000001 1 00854 564 *,1 - 565 0000060E 00000001 USING ORDINARY 00000600 00001000 00000001 1 000B0 619 XA,1 - 568 00000612 00000001 USING ORDINARY 00000000 00001000 FFFFFFF9 7 00008 596 XAX,7 - 576 0000062A 00000001 USING ORDINARY 00000000 00001000 FFFFFFFC 4 00004 598 FSB,4 - 600 00000674 00000001 USING ORDINARY 00000000 00001000 FFFFFFF7 2 00004 613 XBX,2 - 615 0000069C 00000001 DROP 2 2 - 624 000006B6 00000001 DROP 4 4 - 624 000006B6 00000001 DROP 7 7 - 650 000006B6 00000001 USING ORDINARY 000006B6 00001000 00000001 1 00088 698 *,1 - 653 000006BA 00000001 USING ORDINARY 00000000 00001000 FFFFFFF8 7 00004 655 XFX,7 - 662 000006D4 00000001 USING ORDINARY 00000000 00001000 FFFFFFFC 6 00004 680 FSB,6 - 683 00000718 00000001 USING ORDINARY 00000000 00001000 FFFFFFF7 2 00004 685 XBX,2 - 687 00000722 00000001 USING ORDINARY 00000000 00001000 FFFFFFFB 2 00000 690 SM,2 - 691 0000072E 00000001 DROP 2 2 - 699 00000744 00000001 DROP 6 6 - 699 00000744 00000001 DROP 7 7 - 723 00000744 00000001 USING ORDINARY 00000744 00001000 00000001 1 0002C 737 *,1 - 724 00000744 00000001 USING ORDINARY 00000000 00001000 FFFFFFF7 2 00004 726 XBX,2 - 731 0000075A 00000001 USING ORDINARY 00000000 00001000 FFFFFFFC 6 00004 735 FSB,6 -1 Using Map Page 72 -- HLASM R6.0 2016/08/29 08.42 - Stmt -----Location----- Action ----------------Using----------------- Reg Max Last Label and Using Text - Count Id Type Value Range Id Disp Stmt -0 739 00000774 00000001 DROP 6 6 - 740 00000774 00000001 USING ORDINARY 00000000 00001000 FFFFFFFC 4 00004 742 FSB,4 - 744 00000780 00000001 DROP 2 2 - 744 00000780 00000001 DROP 4 4 - 765 00000780 00000001 USING ORDINARY 00000780 00001000 00000001 1 00B01 785 *,1 - 767 00000782 00000001 USING ORDINARY 00000000 00001000 FFFFFFF6 7 00000 783 XCX,7 - 769 00000786 00000001 USING ORDINARY 00000000 00001000 FFFFFFF4 2 00008 772 XNX,2 - 775 0000079A 00000001 DROP 2 2 - 776 0000079A 00000001 USING ORDINARY 00000000 00001000 FFFFFFF9 2 00008 780 XAX,2 - 781 000007AC 00000001 DROP 2 2 - 781 000007AC 00000001 DROP 15 15 - 782 000007AC 00000001 USING ORDINARY 00000000 00001000 FFFFFFFF 2 00019 785 PCB,2 - 790 000007C6 00000001 DROP 2 2 - 790 000007C6 00000001 DROP 7 7 - 814 000007C6 00000001 USING ORDINARY 000007C6 00001000 00000001 1 006A6 856 *,1 - 816 000007C8 00000001 USING ORDINARY 00000000 00001000 FFFFFFF5 7 00000 819 XDX,7 - 818 000007CC 00000001 USING ORDINARY 00000000 00001000 FFFFFFF4 2 00008 821 XNX,2 - 822 000007D8 00000001 DROP 2 2 - 825 000007DE 00000001 USING ORDINARY 00000000 00001000 FFFFFFFF 2 00018 826 PCB,2 - 829 000007E8 00000001 DROP 2 2 - 830 000007E8 00000001 USING ORDINARY 00000000 00001000 FFFFFFFF 15 00000 PCB,15 - 834 000007F0 00000001 USING ORDINARY 00000000 00001000 FFFFFFFF 8 00048 852 PCB,8 - 835 000007F0 00000001 DROP 15 15 - 839 000007FA 00000001 USING ORDINARY 00000000 00001000 FFFFFFFA 9 00008 841 MSG,9 - 844 0000080A 00000001 USING ORDINARY 00000000 00001000 FFFFFFF8 2 00004 856 XFX,2 - 861 00000842 00000001 DROP 2 2 - 861 00000842 00000001 DROP 7 7 - 861 00000842 00000001 DROP 8 8 - 861 00000842 00000001 DROP 9 9 - 862 00000842 00000001 USING ORDINARY 00000000 00001000 FFFFFFFF 15 00010 915 PCB,15 - 883 00000842 00000001 USING ORDINARY 00000842 00001000 00000001 1 0002A 888 *,1 - 913 0000087A 00000001 USING ORDINARY 0000087A 00001000 00000001 1 00000 *,1 - 916 00000882 00000001 DROP 15 15 - 917 00000882 00000001 USING ORDINARY 00000000 00001000 FFFFFFFF 10 00014 918 PCB,10 - 919 00000886 00000001 DROP 10 10 - 920 00000886 00000001 USING ORDINARY 00000000 00001000 FFFFFFFF 2 00014 922 PCB,2 - 923 0000088E 00000001 DROP 2 2 - 924 0000088E 00000001 USING ORDINARY 00000000 00001000 FFFFFFFF 15 00008 926 PCB,15 - 927 00000896 00000001 DROP 15 15 - 928 00000896 00000001 USING ORDINARY 00000000 00001000 FFFFFFFF 10 0000C 929 PCB,10 - 930 0000089A 00000001 DROP 10 10 - 931 0000089A 00000001 USING ORDINARY 00000000 00001000 FFFFFFFF 2 0000C 933 PCB,2 - 934 000008A2 00000001 DROP 2 2 - 936 000008A6 00000001 USING ORDINARY 00000000 00001000 FFFFFFFF 15 00000 PCB,15 - 954 000008A6 00000001 USING ORDINARY 000008A6 00001000 00000001 1 00000 *,1 - 955 000008A6 00000001 DROP 15 15 - 956 000008A6 00000001 USING ORDINARY 00000000 00001000 FFFFFFFF 2 00014 958 PCB,2 - 959 000008AE 00000001 DROP 2 2 - 960 000008AE 00000001 USING ORDINARY 00000000 00001000 FFFFFFFF 11 00010 961 PCB,11 - 962 000008B2 00000001 DROP 11 11 - 963 000008B2 00000001 USING ORDINARY 00000000 00001000 FFFFFFFF 10 00014 964 PCB,10 - 965 000008B6 00000001 DROP 10 10 - 966 000008B6 00000001 USING ORDINARY 00000000 00001000 FFFFFFFF 2 0000C 968 PCB,2 -1 Using Map Page 73 -- HLASM R6.0 2016/08/29 08.42 - Stmt -----Location----- Action ----------------Using----------------- Reg Max Last Label and Using Text - Count Id Type Value Range Id Disp Stmt -0 969 000008BE 00000001 DROP 2 2 - 970 000008BE 00000001 USING ORDINARY 00000000 00001000 FFFFFFFF 11 00008 971 PCB,11 - 972 000008C2 00000001 DROP 11 11 - 973 000008C2 00000001 USING ORDINARY 00000000 00001000 FFFFFFFF 10 0000C 974 PCB,10 - 975 000008C6 00000001 DROP 10 10 - 977 000008CA 00000001 USING ORDINARY 00000000 00001000 FFFFFFFF 15 00000 PCB,15 - 999 000008CA 00000001 USING ORDINARY 000008CA 00001000 00000001 1 0001A 1008 *,1 - 1000 000008CA 00000001 USING ORDINARY 00000000 00001000 FFFFFFF4 2 00008 1010 XNX,2 - 1002 000008CC 00000001 DROP 15 15 - 1003 000008CC 00000001 USING ORDINARY 00000000 00001000 FFFFFFFF 10 00008 1005 PCB,10 - 1012 000008EC 00000001 DROP 2 2 - 1012 000008EC 00000001 DROP 10 10 - 1013 000008EC 00000001 USING ORDINARY 00000000 00001000 FFFFFFFF 15 0002C 1051 PCB,15 - 1041 000008EC 00000001 USING ORDINARY 000008EC 00001000 00000001 1 00584 1075 *,1 - 1043 000008EE 00000001 USING ORDINARY 00000000 00001000 FFFFFFF3 7 0000D 1084 XRX,7 - 1050 00000900 00000001 USING ORDINARY 00000000 00001000 FFFFFFFA 5 0000C 1084 MSG,5 - 1069 00000944 00000001 DROP 15 15 - 1070 00000944 00000001 USING ORDINARY 00000000 00001000 FFFFFFFF 10 00000 1071 PCB,10 - 1077 0000095C 00000001 USING ORDINARY 00000000 00001000 FFFFFFF8 2 00004 1079 XFX,2 - 1085 00000978 00000001 DROP 2 2 - 1085 00000978 00000001 DROP 5 5 - 1085 00000978 00000001 DROP 7 7 - 1085 00000978 00000001 DROP 10 10 - 1086 00000978 00000001 USING ORDINARY 00000000 00001000 FFFFFFFF 15 00000 PCB,15 - 1112 00000978 00000001 USING ORDINARY 00000978 00001000 00000001 1 004F4 1155 *,1 - 1114 0000097A 00000001 USING ORDINARY 00000000 00001000 FFFFFFF2 7 0000C 1162 XSX,7 - 1116 0000097E 00000001 USING ORDINARY 00000000 00001000 FFFFFFF4 2 00008 1119 XNX,2 - 1122 00000990 00000001 USING ORDINARY 00000000 00001000 FFFFFFFF 4 0002C 1157 PCB,4 - 1123 00000990 00000001 DROP 2 2 - 1123 00000990 00000001 DROP 15 15 - 1124 00000990 00000001 USING ORDINARY 00000000 00001000 FFFFFFF9 2 00008 1133 XAX,2 - 1134 000009B2 00000001 DROP 2 2 - 1139 000009C0 00000001 USING ORDINARY 00000000 00001000 FFFFFFFA 9 00004 1143 MSG,9 - 1146 000009D6 00000001 DROP 9 9 - 1147 000009D6 00000001 USING ORDINARY 00000000 00001000 FFFFFFFA 5 0000C 1162 MSG,5 - 1163 00000A0A 00000001 DROP 4 4 - 1163 00000A0A 00000001 DROP 5 5 - 1163 00000A0A 00000001 DROP 7 7 - 1164 00000A0A 00000001 USING ORDINARY 00000000 00001000 FFFFFFFF 15 00000 PCB,15 - 1187 00000A0A 00000001 USING ORDINARY 00000A0A 00001000 00000001 1 00036 1196 *,1 - 1189 00000A0C 00000001 USING ORDINARY 00000000 00001000 FFFFFFF1 7 00009 1202 XYX,7 - 1191 00000A10 00000001 USING ORDINARY 00000000 00001000 FFFFFFF4 2 00008 1194 XNX,2 - 1197 00000A22 00000001 DROP 2 2 - 1197 00000A22 00000001 DROP 14 14 - 1197 00000A22 00000001 DROP 15 15 - 1198 00000A22 00000001 USING ORDINARY 00000000 00001000 FFFFFFFF 10 0004C 1204 PCB,10 - 1200 00000A26 00000001 USING ORDINARY 00000000 00001000 FFFFFFFE 13 00008 1203 SA,13 - 1207 00000A42 00000001 DROP 7 7 - 1207 00000A42 00000001 DROP 10 10 - 1207 00000A42 00000001 DROP 13 13 - 1208 00000A42 00000001 USING ORDINARY 00000000 00001000 FFFFFFFE 14 00048 1239 SA,14 - 1209 00000A42 00000001 USING ORDINARY 00000000 00001000 FFFFFFFF 15 00000 1235 PCB,15 - 1232 00000A42 00000001 USING ORDINARY 00000A42 00001000 00000001 1 0004A 1257 *,1 -1 Using Map Page 74 -- HLASM R6.0 2016/08/29 08.42 - Stmt -----Location----- Action ----------------Using----------------- Reg Max Last Label and Using Text - Count Id Type Value Range Id Disp Stmt -0 1234 00000A44 00000001 USING ORDINARY 00000000 00001000 FFFFFFF0 7 00000 1241 XZX,7 - 1240 00000A58 00000001 USING ORDINARY 00000000 00001000 FFFFFFF4 2 00008 1243 XNX,2 - 1247 00000A6C 00000001 DROP 2 2 - 1247 00000A6C 00000001 DROP 15 15 - 1248 00000A6C 00000001 USING ORDINARY 00000000 00001000 FFFFFFFF 10 00034 1255 PCB,10 - 1259 00000A8E 00000001 DROP 10 10 - 1259 00000A8E 00000001 DROP 7 7 - 1260 00000A8E 00000001 USING ORDINARY 00000000 00001000 FFFFFFFF 15 00000 PCB,15 - 1280 00000A8E 00000001 USING ORDINARY 00000A8E 00001000 00000001 1 0002A 1285 *,1 - 1293 00000AC6 00000001 DROP 14 14 - 1293 00000AC6 00000001 DROP 15 15 - 1308 00000AC6 00000001 USING ORDINARY 00000000 00001000 FFFFFFEC 3 00018 1406 UCB,3 - 1310 00000AC8 00000001 USING ORDINARY 00000AC8 00001000 00000001 1 003D0 1408 *,1 - 1314 00000AD2 00000001 USING ORDINARY 00000000 00001000 FFFFFFF9 2 00004 1316 XAX,2 - 1317 00000AD8 00000001 DROP 2 2 - 1322 00000AE4 00000001 USING ORDINARY 00000000 00001000 FFFFFFEF 12 0007A 1403 RDRHAS,12 - 1326 00000AF0 00000001 USING ORDINARY 00000000 00001000 FFFFFFF3 2 00010 1331 XRX,2 - 1332 00000B06 00000001 DROP 2 2 - 1336 00000B10 00000001 USING ORDINARY 00000000 00001000 FFFFFFF3 2 00000 1339 XRX,2 - 1344 00000B2E 00000001 DROP 2 2 - 1409 00000C28 00000001 DROP 3 3 - 1409 00000C28 00000001 DROP 12 12 - 1426 00000C48 00000001 USING ORDINARY 00000000 00001000 FFFFFFEC 3 00018 1505 UCB,3 - 1428 00000C4A 00000001 USING ORDINARY 00000C4A 00001000 00000001 1 0024C 1507 *,1 - 1432 00000C54 00000001 USING ORDINARY 00000000 00001000 FFFFFFF9 2 00004 1434 XAX,2 - 1435 00000C5A 00000001 DROP 2 2 - 1440 00000C66 00000001 USING ORDINARY 00000000 00001000 FFFFFFEE 12 00028 1501 PRTHAS,12 - 1443 00000C6E 00000001 USING ORDINARY 00000000 00001000 FFFFFFF3 2 00010 1449 XRX,2 - 1452 00000C92 00000001 DROP 2 2 - 1508 00000D5E 00000001 DROP 3 3 - 1508 00000D5E 00000001 DROP 12 12 - 1522 00000D74 00000001 USING ORDINARY 00000000 00001000 FFFFFFEC 3 00018 1581 UCB,3 - 1524 00000D76 00000001 USING ORDINARY 00000D76 00001000 00000001 1 0012E 1583 *,1 - 1528 00000D80 00000001 USING ORDINARY 00000000 00001000 FFFFFFF9 2 00004 1530 XAX,2 - 1531 00000D86 00000001 DROP 2 2 - 1536 00000D92 00000001 USING ORDINARY 00000000 00001000 FFFFFFED 12 00024 1571 EXCPHAS,12 - 1538 00000D96 00000001 USING ORDINARY 00000000 00001000 FFFFFFF3 2 00014 1544 XRX,2 - 1545 00000DB0 00000001 DROP 2 2 - 1572 00000E12 00000001 USING ORDINARY 00000000 00001000 FFFFFFF3 2 0000C 1577 XRX,2 - 1580 00000E30 00000001 DROP 2 2 - 1584 00000E3A 00000001 DROP 3 3 - 1584 00000E3A 00000001 DROP 12 12 - 1693 00000FCA 00000001 USING ORDINARY 00000FCA 00001000 00000001 1 00732 1714 *,1 - 1702 00000FEC 00000001 USING ORDINARY 00000000 00001000 FFFFFFEC 6 0001C 1709 UCB,6 - 1712 00001014 00000001 USING ORDINARY 00000000 00001000 FFFFFFFF 15 0004C 1715 PCB,15 - 1716 00001020 00000001 USING ORDINARY 00000000 00001000 FFFFFFFE 13 00008 1718 SA,13 - 1719 0000102C 00000001 DROP 13 13 - 1719 0000102C 00000001 DROP 15 15 - 1726 0000103E 00000001 DROP 1 1 - 1726 0000103E 00000001 DROP 6 6 - 1739 00001040 00000001 USING ORDINARY 00001040 00001000 00000001 1 00700 1781 *,1 - 1756 00001080 00000001 USING ORDINARY 00000000 00001000 FFFFFFF9 2 00004 1758 XAX,2 - 1761 0000108E 00000001 USING ORDINARY 00000000 00001000 FFFFFFFF 2 0000C 1763 PCB,2 -1 Using Map Page 75 -- HLASM R6.0 2016/08/29 08.42 - Stmt -----Location----- Action ----------------Using----------------- Reg Max Last Label and Using Text - Count Id Type Value Range Id Disp Stmt -0 1764 00001096 00000001 DROP 2 2 - 1765 00001096 00000001 USING ORDINARY 00000000 00001000 FFFFFFFF 15 0000C 1767 PCB,15 - 1768 0000109E 00000001 DROP 15 15 - 1769 0000109E 00000001 USING ORDINARY 00000000 00001000 FFFFFFFF 2 0004C 1770 PCB,2 - 1771 000010A2 00000001 USING ORDINARY 00000000 00001000 FFFFFFFE 8 00008 1772 SA,8 - 1773 000010A6 00000001 USING ORDINARY 00000000 00001000 FFFFFFFD 9 00010 1777 REGS,9 - 1778 000010B8 00000001 DROP 9 9 - 1844 000012CE 00000001 USING ORDINARY 000012CE 00001000 00000001 1 0046F 2091 *,1 - 1848 000012D8 00000001 USING ORDINARY 00000000 00001000 FFFFFFF9 2 00004 1850 XAX,2 - 1851 000012DE 00000001 DROP 2 2 - 1852 000012DE 00000001 USING ORDINARY 00000000 00001000 FFFFFFEB 12 001DD 2064 JSPAS,12 - 2016 00001548 00000001 USING ORDINARY 00000000 00001000 FFFFFFFF 4 0004D 2024 PCB,4 - 2025 00001566 00000001 DROP 4 4 - 2043 0000159E 00000001 USING ORDINARY 00000000 00001000 FFFFFFFF 5 00008 2045 PCB,5 - 2119 00001676 00000001 USING ORDINARY 00001676 00001000 00000001 1 0004A 2139 *,1 - 2123 00001680 00000001 USING ORDINARY 00000000 00001000 FFFFFFF9 2 00004 2125 XAX,2 - 2126 00001686 00000001 DROP 2 2 - 2129 0000168C 00000001 USING ORDINARY 00000000 00001000 FFFFFFEA 12 00098 2138 DIMAS,12 - 2144 000016CC 00000001 DROP 12 12 -1 General Purpose Register Cross Reference Page 76 -- Register References (M=modified, B=branch, U=USING, D=DROP, N=index) HLASM R6.0 2016/08/29 08.42 -0 0(0) 131U 176 191M 212 332M 559M 563M 563 618M 618 1691 1724M - 1(1) 176 177M 178U 191M 212 233M 332M 362U 410U 449M 450U 490U 515U 558U 562U 564M 565U 650U - 723U 765U 814U 883U 913U 954U 999U 1041U 1112U 1187U 1232U 1280U 1309M 1310U 1427M 1428U 1523M 1524U - 1691 1692M 1693U 1724M 1726D 1738M 1739U 1843M 1844U 2118M 2119U - 2(2) 64M 65 69M 71 80M 81M 82 83M 84 95M 96 176 191M 212 332M 363U 386D 411U - 427D 525M 527M 567 570M 593M 599M 600U 615D 616M 652 658M 682M 683U 687U 688M 691D 693M - 724U 744D 766 768M 769U 775D 776U 780M 781D 782U 790D 815 817M 818U 821M 822D 823M 823 - 825U 829D 832 833M 844U 852M 854M 861D 884M 886M 915 918 920U 923D 926 929 931U 934D - 956U 959D 966U 969D 1000U 1012D 1042 1044M 1047M 1076M 1077U 1085D 1113 1115M 1116U 1123D 1124U 1134D - 1135M 1157M 1188 1190M 1191U 1197D 1233 1239M 1240U 1247D 1255M 1281M 1283M 1311M 1313M 1314U 1317D 1318M - 1325M 1326U 1332D 1333M 1335M 1336U 1344D 1367M 1374M 1394M 1396M 1406M 1429M 1431M 1432U 1435D 1436M 1442M - 1443U 1452D 1453M 1477M 1479M 1488M 1499M 1501M 1505M 1525M 1527M 1528U 1531D 1532M 1537M 1538U 1545D 1554M - 1559M 1564M 1569M 1571M 1572U 1580D 1581M 1691 1708M 1724M 1747M 1748M 1755M 1756U 1758M 1759 1761U 1762 - 1763 1764D 1769U 1845M 1847M 1848U 1851D 1853M 1858M 1859 1873M 1877M 1881M 1884M 1891M 1898M 1900M 1902M - 1922M 1926M 1951M 1966M 1969M 2013M 2026M 2032M 2034M 2036M 2038M 2042M 2064M 2120M 2122M 2123U 2126D 2127M - 2133M - 3(3) 70M 71 75M 88M 176 191M 212 332M 364M 365M 366 367M 367 412M 413M 414 585M 586M - 587 654M 656 669M 677M 684 725M 732 742 1126M 1127M 1127N 1128M 1128N 1129M 1130 1308U 1409D - 1426U 1508D 1522U 1553M 1584D 1691 1724M 1746M 1871 1872M 1876M 1905M 1917M 1927M 1958M 1959M 1960M 1961 - 2056M 2057M 2058M 2059 2081B - 4(4) 76M 80 86M 86 176 191M 212 332M 370M 376M 381 417M 419U 424 427D 573M 576U 577M - 577 579 584 590M 602 604 624D 655M 657 673 676M 685 726M 738 740U 744D 1119M 1120M - 1120 1122U 1163D 1320M 1352 1359 1438M 1462 1469 1534M 1535M 1556 1691 1724M 1753M 1753 1775 1779M - 1779N 1870 1904M 1918 1955M 1956M 1957M 1998M 2000M 2001 2002 2015M 2016U 2025D 2045M 2050 2055M 2069M - 2069N 2070 2072 2074 2078 - 5(5) 73M 74 82 84 85 87M 87 89M 90 176 191M 212 332M 371M 373U 374M 374 377M - 379D 382 572M 589M 597 656M 657M 666 1049M 1050U 1076 1078 1085D 1133M 1145 1147U 1163D 1331M - 1341 1347 1354N 1361M 1362 1389 1400 1401 1402 1402 1446M 1457 1464N 1471M 1472 1543M 1547 1562 - 1691 1724M 1754M 1780M 1863M 1864 1871M 1872N 1876N 1906M 1907M 1908 1924 1928 1930 1932 2020M 2021M - 2022 2041M 2043U 2050M 2051 2068M 2068 2076M 2076N 2079 2080M - 6(6) 176 191M 212 332M 569M 587 608 610 620 661M 662U 663M 663 666 671 676 678M 680M - 699D 728M 729M 729 731U 735M 736M 736 739D 741 1053M 1054M 1057 1058M 1058N 1059 1061M 1062M - 1063M 1063 1065 1066M 1066N 1067 1072M 1073M 1073N 1074M 1074N 1075M 1079 1150M 1151 1152M 1153M 1153 - 1155 1324M 1369 1441M 1481 1544M 1556M 1561 1691 1695M 1696 1698M 1698N 1699 1702U 1724M 1726D - 7(7) 176 191M 212 332M 567M 568U 624D 652M 653U 699D 766M 767U 790D 815M 816U 861D 1042M 1043U - 1085D 1113M 1114U 1163D 1188M 1189U 1207D 1233M 1234U 1259D 1370M 1371 1484M 1485 1546M 1547N 1549M 1549N - 1550 1553 1691 1704M 1705M 1706 1724M 1993M 1994M 1995 2006M 2007M 2008 - 8(8) 176 191M 212 332M 491M 491 492M 493M 493N 494 516M 516 517M 518M 519 520M 520 574M - 575M 581 660M 668N 675N 678 679M 727M 734M 738N 832M 834U 855 861D 1137M 1142M 1145N 1691 - 1724M 1770M 1771U 1909M 1911M 1914M 1914 1915M 1916 1959 2057 2131M 2132 - 9(9) 176 191M 212 213M 214U 240D 332M 583M 584M 586 665M 668 675 836M 837M 837 839U 845 - 848M 861D 1138M 1139U 1140M 1140 1143M 1146D 1691 1724M 1772M 1773U 1778D 1910M 1910 1911M 1912M 1912 - 1920 1935 1936 1937 1938 1954M 1958 1961 1980 1990 1994 2007 2018 2056 2059 2078M 2079M 2091 - 10(A) 176 191M 212 215M 216M 217M 217N 218M 218N 219 223 226N 233N 234 238M 332M 451M 452 - 453U 458M 459 467 472D 601M 602M 605 609 671M 672M 673 840M 848 914M 917U 919D 922 - 925M 928U 930D 933 958M 961 963U 965D 968M 971 973U 975D 1001M 1003U 1004M 1007 1009M 1010 - 1012D 1068M 1070U 1085D 1194M 1195M 1195 1198U 1207D 1243M 1244M 1244 1248U 1259D 1321M 1321 1351M 1352 - 1358M 1359 1439M 1439 1461M 1462 1468M 1469 1691 1724M 1774M 1775M 1776 1777 1979M 1980M 1985 1989M - 1990M 1993N 1995N 2005 2009 - 11(B) 67M 68U 111D 176 191M 212 215M 226M 227N 332M 452M 459 607M 608M 612 689M 690M 692M - 841M 842M 842N 843M 846 957M 960U 962D 964 967M 970U 972D 974 1347M 1348M 1354M 1355M 1457M - 1458M 1464M 1465M 1534 1691 1724M 1940M 1944M 1947M 1981M 1982M 1983 1987M 2002M 2130 - 12(C) 63M 65M 66U 111D 176 191M 212 215M 235M 236M 332M 598M 609M 610M 613 1316M 1322U 1409D - 1434M 1440U 1508D 1530M 1536U 1584D 1691 1724M 1850M 1852U 2125M 2129U 2144D - 13(D) 176 191M 212 215M 236 332M 579M 580M 581M 582M 582N 583 596 601 607 621 1199M 1200U -1 General Purpose Register Cross Reference Page 77 -- Register References (M=modified, B=branch, U=USING, D=DROP, N=index) HLASM R6.0 2016/08/29 08.42 -0 1207D 1691 1715M 1716U 1719D 1724M 1988M 1989N 1991 1996 2001M - 14(E) 176 185M 186U 190D 191M 212 215M 225M 227M 230U 332M 468M 1197D 1201 1203 1208U 1293D 1691 - 1724M - 15(F) 176 181M 182U 190D 191M 212 221M 222U 225 332M 372D 380U 418D 473U 781D 830U 835D 862U - 916D 921 924U 927D 932 936U 955D 977U 1001 1002D 1007 1013U 1069D 1086U 1123D 1149 1164U 1197D - 1209U 1247D 1260U 1293D 1691 1711M 1712U 1719D 1724M 1742M 1743 1744 1765U 1766 1767 1768D -1 Diagnostic Cross Reference and Assembler Summary Page 78 -- HLASM R6.0 2016/08/29 08.42 -0Statements Flagged -0 178(P1,178), 214(P1,214), 362(P1,362), 410(P1,410), 450(P1,450), 490(P1,490), 515(P1,515), 558(P1,558), - 562(P1,562), 565(P1,565), 650(P1,650), 723(P1,723), 765(P1,765), 814(P1,814), 834(P1,834), 883(P1,883), 913(P1,913), - 954(P1,954), 999(P1,999), 1041(P1,1041), 1112(P1,1112), 1122(P1,1122), 1187(P1,1187), 1232(P1,1232), 1280(P1,1280), - 1310(P1,1310), 1428(P1,1428), 1524(P1,1524), 1693(P1,1673) - - 29 Statements Flagged in this Assembly 4 was Highest Severity Code -0HIGH LEVEL ASSEMBLER, 5696-234, RELEASE 6.0, PTF UK37157 -0SYSTEM: z/OS 01.10.00 JOBNAME: IBMUSER7 STEPNAME: *OMVSEX PROCSTEP: (NOPROC) -0Data Sets Allocated for this Assembly - Con DDname Data Set Name Volume Member - P1 SYSIN /mbhfs/sos4k.asm - L1 SYSLIB CEE.SCEEMAC ZAPRD2 - L2 SYS1.MACLIB ZARES1 - L3 SYS1.MODGEN ZARES1 - SYSLIN /mbhfs/sos4k.o - SYSPRINT /dev/fd1 - SYSTERM /dev/fd2 - - 1028584K allocated to Buffer Pool Storage required 360K - 2341 Primary Input Records Read 0 Library Records Read 0 Work File Reads - 0 ASMAOPT Records Read 3473 Primary Print Records Written 0 Work File Writes - 137 Object Records Written 0 ADATA Records Written -0Assembly Start Time: 08.42.21 Stop Time: 08.42.22 Processor Time: 00.00.00.3254 - Return Code 004 diff --git a/compileSDLHyperion b/compileSDLHyperion deleted file mode 100644 index e166575..0000000 --- a/compileSDLHyperion +++ /dev/null @@ -1,36 +0,0 @@ - sudo apt update - sudo apt list --upgradable - - sudo apt install --yes build-essential - sudo apt install --yes cmake git autoconf flex gawk g++ zlib1g-dev libbz2-dev m4 - - which gcc - gcc --version - - mkdir /home/moshe/hercules - cd /home/moshe/hercules - - mkdir sdl42 - mkdir herc42 - mkdir extpkgs - - cd extpkgs - git clone https://github.com/SDL-Hercules-390/gists.git - - cp gists/extpkgs.sh . - cp gists/extpkgs.sh.ini . - - ./extpkgs.sh CLONE c d s t - - cd ../sdl42 - git clone https://github.com/SDL-Hercules-390/hyperion.git - - cd hyperion/ - - util/bldlvlck - ./autogen.sh - - ./configure --prefix=/home/moshe/hercules/herc42 --enable-extpkgs=/home/moshe/hercules/extpkgs - ./config.status --config - - make -j diff --git a/random.go b/random.go deleted file mode 100644 index 5429e8b..0000000 --- a/random.go +++ /dev/null @@ -1,83 +0,0 @@ -package main -/* copyright 2020 by moshix - crypto/rand number generator using /dev/random (depends on reliability of this Linux mechanism... - or connect to Java library for atmospheric noise random number generator as in second example -*/ - -import ( - crand "crypto/rand" - rand "math/rand" - - "encoding/binary" - "fmt" - "log" - "os" - "strconv" -) -// check the numbers.log file with dieharder entropy checker with -// dieharder -a -c ' ' -f numbers.log where -c ' ' is the seperator between numbers -func main() { - // check if numbers.log file is > 1MB delete it - var numsize int64 - fileStat, err := os.Stat("numbers.log") - if err != nil { - log.Fatal(err) - } - numsize = fileStat.Size() - if numsize > 1000000 { - e := os.Remove("numbers.log") - if e != nil { - log.Fatal(e) - } - } - - f, err := os.OpenFile("numbers.log", - os.O_APPEND|os.O_CREATE|os.O_WRONLY, 0666) - if err != nil { - log.Println(err) - } - defer f.Close() - var number int - for i := 1; i < 14; i++ { - var src cryptoSource - rnd := rand.New(src) - number = rnd.Intn(899) + 100 - s := strconv.Itoa(number) - fmt.Print(number) - fmt.Print(" ") - if _, err := f.WriteString(s + " "); err != nil { - log.Println(err) - } - } - - fmt.Print(" ..... ") // seperator for block on web page - - for i := 1; i < 14; i++ { - var src cryptoSource - rnd := rand.New(src) - number = rnd.Intn(899) + 100 - s := strconv.Itoa(number) - fmt.Print(number) - fmt.Print(" ") - if _, err := f.WriteString(s + " "); err != nil { - log.Println(err) - } - } - -} - -type cryptoSource struct{} - -func (s cryptoSource) Seed(seed int64) {} - -func (s cryptoSource) Int63() int64 { - return int64(s.Uint64() & ^uint64(1<<63)) -} - -func (s cryptoSource) Uint64() (v uint64) { - err := binary.Read(crand.Reader, binary.BigEndian, &v) - if err != nil { - log.Fatal(err) - } - return v -}

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 ezB+>V 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 V{_=p7xh-{|8WUgb)A# diff --git a/SOS_OS/Madnick_with_Console.zip b/SOS_OS/Madnick_with_Console.zip deleted file mode 100644 index 82638eebdbc957ba05fc13f5ad285a35e6ceb79d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 86243 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 GuKpihD%{in diff --git a/SOS_OS/-sub.c b/SOS_OS/-sub.c deleted file mode 100644 index 97c4e79..0000000 --- a/SOS_OS/-sub.c +++ /dev/null @@ -1,83 +0,0 @@ -#include -#include -#include -#include -#include -#include -#include -#include - -// ************************************************************************ -// * This is a free submit program for MVS users on Hercules, it allows * -// * one to "sub File.jcl hostname port". * -// * It is released to public under terms of GPL by Rahim Azizarab. * -// ************************************************************************ - -void error(const char *msg) -{ - perror(msg); - exit(0); -} - -int main(int argc, char **argv) -{ - int sockfd, portno, n; - struct sockaddr_in serv_addr; - struct hostent *server; - - if (argc < 2) { - fprintf(stderr,"usage %s filename hostname port\n", argv[0]); - exit(0); - } - char *buffer; - unsigned long fileLen; - FILE *p; - if((p=fopen(argv[1],"r"))==NULL){ - printf("\nUnable t open file string.txt"); - exit(1); - } - -//Get file length - fseek(p, 0, SEEK_END); - fileLen=ftell(p); - fseek(p, 0, SEEK_SET); - -//Allocate memory - buffer=(char *)malloc(fileLen+1); - if (!buffer) - { - fprintf(stderr, "Memory error!"); - fclose(p); - return; - } - -//Read file contents into buffer - fread(buffer, fileLen, 1, p); - fclose(p); -// - - portno = atoi(argv[3]); - sockfd = socket(AF_INET, SOCK_STREAM, 0); - if (sockfd < 0) - error("ERROR opening socket"); - server = gethostbyname(argv[2]); - if (server == NULL) { - fprintf(stderr,"ERROR, no such %s host\n", argv[2]); - exit(0); - } - bzero((char *) &serv_addr, sizeof(serv_addr)); - serv_addr.sin_family = AF_INET; - bcopy((char *)server->h_addr, - (char *)&serv_addr.sin_addr.s_addr, - server->h_length); - serv_addr.sin_port = htons(portno); - if (connect(sockfd,(struct sockaddr *) &serv_addr,sizeof(serv_addr)) < 0) - error("ERROR connecting"); - n = write(sockfd,buffer,strlen(buffer)); - if (n < 0) - error("ERROR writing to socket"); - - printf("%s\n",buffer); - close(sockfd); - return 0; -} diff --git a/SOS_OS/Madnick_3270_Terminal_Demo.zip b/SOS_OS/Madnick_3270_Terminal_Demo.zip deleted file mode 100644 index 6682148b4b458f88d4fd4bd4b03446c998d24f76..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 92232 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 B0g(Uz diff --git a/SOS_OS/Madnick_4_KB_RDR_for_Hercules.zip b/SOS_OS/Madnick_4_KB_RDR_for_Hercules.zip deleted file mode 100644 index 0601c27ac6565296b56072d8f8702bb1710a5440..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 77354 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 z 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