% VAX-11 Librarian V04-00_W@kJeWDJF   EE<(\ P10P11P2P3#*P4(P5.BP63|P79P8?:P9 KdWP1p;5N(--------------------------------------------------)5N(The remainder of this file contains graphics code.)5N(--------------------------------------------------)N()7N(Please $Set Terminal/NOwrap before typing this file.)$N(Source: DECslide 1.3 EXPORT FILE)N(Export file: P10 )N(Comment: ted)*N(Creation Date: 25-SEP-1986 14:50:06.91)N(Description file: )N()\ [?5l[?7lP1p;@.L(A2)"A"AA55AA55AA55AA55AA55"S"FFFFFFFFFFFFFFFFFFF F"B"00"C"88008800880088008800"D"8142241818244281"U"8142241881422418"F"FF818181FF818181FF"G"80402010080402018040"H"11224488112244881122"V"01020408102040800102"J"81818181818181818181"N(End of terminal initialization.);s(A[0,479][767,0]);S(C1)W(V,I(W),F3,M1,N0,P(M2),S0,P1)T[+9,+0](S1,H2,S[9,20]M[1,2],D0,I0)s(m0(l0)(aH0L0S0)1(l35)(aH140L71S100)2(l65)(aH40L42S100)3(l100)(aH0L100S0))S(I2,E) P[384,252]@:ZW(P1)T[+9,+0](I0)(S[9,30]M[1,3])P(B) P[-329,+210]IT" cmp r0 ,#3777  ; sizeof(tempindex) = 4 thus 4000"P(E)T[+9,+0](I0)(S[9,30]M[1,3])P(B) P[-329,+180]HT" blos 40$ ; entries exist in a 4KW window."P(E)T[+9,+0](I0)(S[9,30]M[1,3])P(B) P[-329,+150]JT" sub #4000 ,r0 ; Request will not fit in a window"P(E)T[+9,+0](I0)(S[9,30]M[1,3])P(B) P[-329,+120]KT" cmp highmap,#1 ; so correct offset. Already mapped"P(E)T[+9,+0](I0)(S[9,30]M[1,3])P(B) P[-329,+90]LT" beq 30$ ; to the correct offset into region?"P(E)T[+9,+0](I0)(S[9,30]M[1,3])P(B) P[-329,+60]MT" mov #40*4 ,win+W.NLEN ; No, so set the amount to map (4KW)."P(E)T[+9,+0](I0)(S[9,30]M[1,3])P(B) P[-329,+30]KT" mov #40*10 ,win+W.NOFF ; Start this window 8KW from start."P(E)T[+9,+0](I0)(S[9,30]M[1,3])P(B)P[-329]IT" tst #idspac ; Did TKB GBLDEF 'IDSPACE' != 0 ?"P(E)T[+9,+0](I0)(S[9,30]M[1,3])P(B) P[-329,-30]FT" beq 25$ ; No, leave map offset at 8KW."P(E)T[+9,+0](I0)(S[9,30]M[1,3])P(B) P[-329,-60]BT" mov #40*4 ,win+W.NOFF ; Yes, map 4KW from start."P(E)T[+9,+0](I0)(S[9,30]M[1,3])P(B) P[-329,-90]KT"25$: MAP$S #win ; Remap to correct 4KW segment now."P(E)T[+9,+0](I0)(S[9,30]M[1,3])P(B) P[-329,-120]MT" mov #1 ,highmap ; Save context to avoid needless MAP$"P(E)T[+9,+0](I0)(S[9,30]M[1,3])P(B) P[-329,-150]AT"30$: br 100$ ; return( r0*4 + 120000 )"P(E)T[+9,+0](I0)(S[9,30]M[1,3])P(B) P[-329,-180]KT"40$: tst highmap ; Already mapped to first 4KW area?"P(E)W(P1)@;W(F3,I1,V)P[364,262]@ZW(S0,R) P[384,252]ds(A[0,0][767,479])s(I(D),S1,T0)T[+9,+0](S1,H2,S[9,20],M[1,2],D0,I0,A0)W(V,I(W),F3,M1,N0,P1,P(M2),S0)%N( END OF DECslide V1.3 EXPORT FILE)\ww4dWP1p;5N(--------------------------------------------------)5N(The remainder of this file contains graphics code.)5N(--------------------------------------------------)N()7N(Please $Set Terminal/NOwrap before typing this file.)$N(Source: DECslide 1.3 EXPORT FILE)N(Export file: P11 ) N(Comment: )*N(Creation Date: 25-SEP-1986 14:50:12.82)N(Description file: )N()\ [?5l[?7lP1p;@.L(A2)"A"AA55AA55AA55AA55AA55"S"FFFFFFFFFFFFFFFFFFFF"B"00"C"88008800880088008800"D"8142241818244281"U"8142241881422418"F"FF818181FF818181FF"G"80402010080402018040"H"11224488112244881122"V"01020408102040800102"J"81818181818181818181"N(End of terminal initialization.);s(A[0,479][767,0]);S(C1)W(V,I(W),F3,M1,N0,P(M2),S0,P1)T[+9,+0](S1,H2,S[9,20]M[1,2],D0,I0)s(m0(l0)(aH0L0S0)1(l35)(aH140L71S100)2(l65)(aH40L42S100)3(l100)(aH0L100S0))S(I2,E) P[384,252]@:ZW(P1)T(A2,S1)/P(B)W(S'S'[,-66])P[-285,+66]V[+570,+0]W(S0)P(E)T(A0)W(S0)P(B)P[-285,+66] V(B)[+570,+0] [+0,-131] [-570,+0](E)P(E)T(A0)W(P1)@;#W(F3,I1,R)P[383,398]@ZW(S0)@:ZW(P1)T[+9,+0](I0)(S[9,40]M[1,4])P(B) P[-315,+80]HT"Session N008 (Kermit): File: KERBIN:SLIDES_DECUS_FALL_86_KERMIT.TLB"P(E)T[+9,+0](I0)(S[9,40]M[1,4])P(B) P[-315,+40]FT"Session RS005 (Plas) : File: KERBIN:SLIDES_DECUS_FALL_86_RSTS.TLB"P(E)T[+9,+0](I0)(S[9,40]M[1,4])P(B)P[-315]2T" Or: RSTS_FILES:*.SLO"P(E)T[+9,+0](I0)(S[9,40]M[1,4])P(B) P[-315,-40]JT"Kermit session, Dallas 86:  KERBIN:SLIDES_DECUS_SPRING_86_KERMIT.TLB"P(E)W(P1)@;W(F3,I3,V)P[403,242]@ZW(S0,R)@:ZW(P1)T[+9,+0](I0)(S[9,30]M[1,3])P(B) P[-293,+60]4T"All files are fixed 512 byte record 8 bit files."P(E)T[+9,+0](I0)(S[9,30]M[1,3])P(B) P[-293,+30]ET"The *.TLB files are VMS Librarian files containing DECSLIDE Regis"P(E)T[+9,+0](I0)(S[9,30]M[1,3])P(B)P[-293]CT"export files. The *.SLO files are the export files. To display,"P(E)T[+9,+0](I0)(S[9,30]M[1,3])P(B) P[-293,-30]BT"a VT125, VT240, LA100, GIGI or ideally a VT241 will be needed."P(E)W(P1)@;W(F3,I1,V)P[381,86]@ZW(S0,R)@:ZW(P1)T[+9,+0](I0)(S[9,40]M[1,4])P(B) P[-270,+60]@T"Copies of the slides are available dialup (419) 537-4411/01."P(E)T[+9,+0](I0)(S[9,40]M[1,4])P(B) P[-270,+20]@T"Carriage return for autobaud; Service Class VX785A, carriage"P(E)T[+9,+0](I0)(S[9,40]M[1,4])P(B) P[-270,-20];T"returns for autobaud. Username KERMIT, Password KERMIT."P(E)W(P1)@;W(F3,I2,V)P[386,392]@ZW(S0,R) P[384,252]ds(A[0,0][767,479])s(I(D),S1,T0)T[+9,+0](S1,H2,S[9,20],M[1,2],D0,I0,A0)W(V,I(W),F3,M1,N0,P1,P(M2),S0)%N( END OF DECslide V1.3 EXPORT FILE)\ww NdWP1p;5N(--------------------------------------------------)5N(The remainder of this file contains graphics code.)5N(--------------------------------------------------)N()7N(Please $Set Terminal/NOwrap before typing this file.)$N(Source: DECslide 1.3 EXPORT FILE)N(Export file: P2 )N(Comment: why plas)*N(Creation Date: 25-SEP-1986 14:49:14.62)N(Description file: )N()\ [?5l[?7lP1p;@.L(A2)"A"AA55AA55AA55AA55AA55"S"FFFFFFFFFFFFFFFFFFFF"B"00"C"88008800880088008800"D"8142241818244281"U"8142241881422418"F"FF818181FF818181FF"G"80402010080402018040"H"11224488112244881122"V"01020408102040800102"J"81818181818181818181"N(End of terminal initialization.);s(A[0,479][767,0]);S(C1)W(V,I(W),F3,M1,N0,P(M2),S0,P1)T[+9,+0](S1,H2,S[9,20]M[1,2],D0,I0)s(m0(l0)(aH300L20S100)1(l35)(aH180L60S100)2(l65)(aH120L20S100)3(l100)(aH0L100S0))S(I2,E) P[384,252]@:ZW(P1)T[+18,+0](I0)(S[18,50]M[2,5])P(B) P[-216,+25]T"Why use PLAS directives?"P(E)W(P1)@;W(F3,I3,V)P[380,427]@ZW(S0,R)@:ZW(P1)T[+9,+0](I0)(S[9,30]M[1,3])P(B) P[-288,+150]BT" The use of PLAS (Programmed Logical Address Space) directives"P(E)T[+9,+0](I0)(S[9,30]M[1,3])P(B) P[-288,+120]BT"can be useful when transporting an application from a system"P(E)T[+9,+0](I0)(S[9,30]M[1,3])P(B) P[-288,+90]BT"with a larger address space (ie, VAX). By proper design of the"P(E)T[+9,+0](I0)(S[9,30]M[1,3])P(B) P[-288,+60]BT"application, direct references to a large address space can be"P(E)T[+9,+0](I0)(S[9,30]M[1,3])P(B) P[-288,+30]BT"replaced with calls to a memory manager that can remap address"P(E)T[+9,+0](I0)(S[9,30]M[1,3])P(B)P[-288]&T"windows in a large dynamic region."P(E)T[+9,+0](I0)(S[9,30]M[1,3])P(B) P[-288,-30]DT"Other uses include maintaining large buffer pools for optimizing"P(E)T[+9,+0](I0)(S[9,30]M[1,3])P(B) P[-288,-60]DT"disk performance in the application (ie, BACKUP), and using map-"P(E)T[+9,+0](I0)(S[9,30]M[1,3])P(B) P[-288,-90]DT"ping directives to access physical memory directly (ie, map and"P(E)T[+9,+0](I0)(S[9,30]M[1,3])P(B) P[-288,-120]$T"read executive data structures)."P(E)W(P1)@;W(F3,I1,V)P[358,207]@ZW(S0,R) P[384,252]ds(A[0,0][767,479])s(I(D),S1,T0)T[+9,+0](S1,H2,S[9,20],M[1,2],D0,I0,A0)W(V,I(W),F3,M1,N0,P1,P(M2),S0)%N( END OF DECslide V1.3 EXPORT FILE)\ww gdWP1p;5N(--------------------------------------------------)5N(The remainder of this file contains graphics code.)5N(--------------------------------------------------)N()7N(Please $Set Terminal/NOwrap before typing this file.)$N(Source: DECslide 1.3 EXPORT FILE)N(Export file: P3 )N(Comment: mapping figure)*N(Creation  Date: 25-SEP-1986 14:49:19.71)N(Description file: )N()\ [?5l[?7lP1p;@.L(A2)"A"AA55AA55AA55AA55AA55"S"FFFFFFFFFFFFFFFFFFFF"B"00"C"88008800880088008800"D"8142241818244281"U"8142241881422418"F"FF818181FF818181FF"G"80402010080402018040"H"11224488112244881122"V"01020408102040800102"J"81818181818181818181"N(End of terminal initialization.);s(A[0,479][767,0]);S(C1)W(V,I(W),F3,M1,N0,P(M2),S0,P1)T[+9,+0](S1,H2,S[9,20]M[1,2],D0,I0)s(m0(l0)(aH120L28S100)1(l35)(aH140L% 71S100)2(l65)(aH120L57S100)3(l100)(aH0L100S100))S(I0,E) P[384,252]@:ZW(P1)P(B)P[-75,+200] V[][+0,-50] [+150,+0] [-150,+0] [+0,-100] [+150,+0] [-150,+0] [+0,-100] [+150,+0] [-150,+0] [+0,-150] [+150,+0] [+0,+400] [-150,+0][+0,+0]P(E)W(P1)@;#W(F3,I1,R)P[224,264]@ZW(S0)@:ZW(P1)P(B)P[-74,+50] V(B)[+149,+0] [+0,-100] [-149,+0](E)P(E)W(P1)@;#W(F3,I1,R)P[547,228]@ZW(S0)@:ZW(P1)P(B)P[-74,+74] V(B)[+149,+0] [+0,-149] [-149,+0](E)P(E)%!W(P1)@;#W(F3,I1,R)P[547,378]@ZW(S0)@:ZW(P1)P(B)P[-75,+80] V[][+50,+0] [+0,-150] [+100,+0] [-10,+10] [+10,-10] [-10,-10][+0,+0]P(E)W(P1)@;#W(F3,I1,R)P[374,298]@ZW(S0)@:ZW(P1)P(B)P[-75,+30] V[][+100,+0][+0,-50][+50,+0] [-10,+10] [+10,-10] [-10,-10][+0,+0]P(E)W(P1)@;#W(F3,I1,R)P[374,408]@ZW(S0)@:ZW(P1)T[+9,+0](I0)(S[9,30]M[1,3])P(B) P[-121,+165]T"Window 2 160000-177776"P(E)T[+9,+0](I0)(S[9,30]M[1,3])P(B) P[-121,+135]T""P(""E)T[+9,+0](I0)(S[9,30]M[1,3])P(B) P[-121,+105]T" 4KW"P(E)T[+9,+0](I0)(S[9,30]M[1,3])P(B) P[-121,+75]T"Window 1 140000-157777"P(E)T[+9,+0](I0)(S[9,30]M[1,3])P(B) P[-121,+45]T""P(E)T[+9,+0](I0)(S[9,30]M[1,3])P(B) P[-121,+15]T" 4KW"P(E)T[+9,+0](I0)(S[9,30]M[1,3])P(B) P[-121,-15]T"Not mapped 120000-137777"P(E)T[+9,+0](I0)(S[9,30]M[1,3])P(B) P[-121,-45]T""P(E)T[+9,+0](I0)(S[9,30]M[1,3])P(B) P[##-121,-75]T""P(E)T[+9,+0](I0)(S[9,30]M[1,3])P(B) P[-121,-105]T"Root of 12kw"P(E)T[+9,+0](I0)(S[9,30]M[1,3])P(B) P[-121,-135]T"task 000000-117777"P(E)W(P1)@;W(F3,I3,V)P[156,287]@ZW(S0,R)@:ZW(P1)T[+9,+0](I0)(S[9,40]M[1,4])P(B) P[-45,+20]T"4KW RESLIB"P(E)W(P1)@;W(F3,I3,V)P[542,208]@ZW(S0,R)@:ZW(P1)T[+9,+0](I0)(S[9,40]M[1,4])P(B) P[-50,+60]T"8KW dynamic"P(E)T[+9,+0](I0)(S[9,40]M[1,4])P(B) P[-50,+20]T"region, 4KW$"P(E)T[+9,+0](I0)(S[9,40]M[1,4])P(B) P[-50,-20]T"addr window"P(E)W(P1)@;W(F3,I3,V)P[547,372]@ZW(S0,R) P[384,252]ds(A[0,0][767,479])s(I(D),S1,T0)T[+9,+0](S1,H2,S[9,20],M[1,2],D0,I0,A0)W(V,I(W),F3,M1,N0,P1,P(M2),S0)%N( END OF DECslide V1.3 EXPORT FILE)\ww dWP1p;5N(--------------------------------------------------)5N(The remainder of this file contains graphics code.)5N(--------------------------------------------------)N()7N(Please $Se%t Terminal/NOwrap before typing this file.)$N(Source: DECslide 1.3 EXPORT FILE)N(Export file: P4 )N(Comment: rsx intro)*N(Creation Date: 25-SEP-1986 14:49:26.27)N(Description file: )N()\ [?5l[?7lP1p;@.L(A2)"A"AA55AA55AA55AA55AA55"S"FFFFFFFFFFFFFFFFFFFF"B"00"C"88008800880088008800"D"8142241818244281"U"8142241881422418"F"FF818181FF818181FF"G"80402010080402018040"H"11224488112244881122"V"01020408102040800102"J"81818181818181818181"N(End of terminal initia&lization.);s(A[0,479][767,0]);S(C1)W(V,I(W),F3,M1,N0,P(M2),S0,P1)T[+9,+0](S1,H2,S[9,20]M[1,2],D0,I0)s(m0(l0)(aH0L0S0)1(l35)(aH140L71S100)2(l65)(aH40L42S100)3(l100)(aH0L100S0))S(I2,E) P[384,252]@:ZW(P1)T[+9,+0](I0)(S[9,30]M[1,3])P(B) P[-302,+210]?T" The PLAS directives come in three formats. The most common"P(E)T[+9,+0](I0)(S[9,30]M[1,3])P(B) P[-302,+180]?T"and portable use is obtained by using the RSX directives,"P(E)T[+9,+0](I0)(S[9,30]M[1,3])P(B) P[-302,+150]'?T"which are available under RSX11M, P/OS, RSX11M+ and RSTS/E."P(E)T[+9,+0](I0)(S[9,30]M[1,3])P(B) P[-302,+120]T""P(E)T[+9,+0](I0)(S[9,30]M[1,3])P(B) P[-302,+90]0T" CRRG$S Create a dynamic region"P(E)T[+9,+0](I0)(S[9,30]M[1,3])P(B) P[-302,+60]5T" ATRG$S Attach to an existing region"P(E)T[+9,+0](I0)(S[9,30]M[1,3])P(B) P[-302,+30]-T" DTRG$S Detach from a region"P(E)T[+9,+0](I0)(S[9,30]M[1,3])P(B)P[-302]DT"( CRAW$S Create an address window, mapping optional."P(E)T[+9,+0](I0)(S[9,30]M[1,3])P(B) P[-302,-30]?T" ELAW$S Unmap and eliminate an address window."P(E)T[+9,+0](I0)(S[9,30]M[1,3])P(B) P[-302,-60]=T" MAP$S Map an address window onto a region."P(E)T[+9,+0](I0)(S[9,30]M[1,3])P(B) P[-302,-90]ET" UMAP$S Unmap an address window. UMAP$ is not needed"P(E)T[+9,+0](I0)(S[9,30]M[1,3])P(B) P[-302,-120]ET" ) generally as MAP$ will implcitly do a UMAP$."P(E)T[+9,+0](I0)(S[9,30]M[1,3])P(B) P[-302,-150]T""P(E)T[+9,+0](I0)(S[9,30]M[1,3])P(B) P[-302,-180]GT"Note that not all RSX window options function on RSTS at this time."P(E)W(P1)@;W(F3,I3,V)P[387,252]@ZW(S0,R) P[384,252]ds(A[0,0][767,479])s(I(D),S1,T0)T[+9,+0](S1,H2,S[9,20],M[1,2],D0,I0,A0)W(V,I(W),F3,M1,N0,P1,P(M2),S0)%N( END OF DECslide V1.3 EXPORT FILE)\ww`&dWP1p;5N(--------*------------------------------------------)5N(The remainder of this file contains graphics code.)5N(--------------------------------------------------)N()7N(Please $Set Terminal/NOwrap before typing this file.)$N(Source: DECslide 1.3 EXPORT FILE)N(Export file: P5 )N(Comment: rsts,1)*N(Creation Date: 25-SEP-1986 14:49:31.75)N(Description file: )N()\ [?5l[?7lP1p;@.L(A2)"A"AA55AA55AA55AA55AA55"S"FFFFFFFFFFFFFFFFFFFF"B"00"C"88008800880088008800"D"8142 +241818244281"U"8142241881422418"F"FF818181FF818181FF"G"80402010080402018040"H"11224488112244881122"V"01020408102040800102"J"81818181818181818181"N(End of terminal initialization.);s(A[0,479][767,0]);S(C1)W(V,I(W),F3,M1,N0,P(M2),S0,P1)T[+9,+0](S1,H2,S[9,20]M[1,2],D0,I0)s(m0(l0)(aH90L28S100)1(l35)(aH280L57S66)2(l65)(aH0L42S100)3(l100)(aH0L100S0))S(I2,E) P[384,252]@:ZW(P1)T[+9,+0](I0)(S[9,30]M[1,3])P(B) P[-275,+180]AT" If functionality under RSTS/E only is desired, or if the RSX",P(E)T[+9,+0](I0)(S[9,30]M[1,3])P(B) P[-275,+150]AT"directives don't support your intended action, you can use"P(E)T[+9,+0](I0)(S[9,30]M[1,3])P(B) P[-275,+120]AT"the UU.RTS directive (for creating regions) and the .PLAS"P(E)T[+9,+0](I0)(S[9,30]M[1,3])P(B) P[-275,+90]AT"executive calls to create windowns and map windows. One very"P(E)T[+9,+0](I0)(S[9,30]M[1,3])P(B) P[-275,+60]AT"useful option here is the ability to map any section of phy-"P(E)T[-+9,+0](I0)(S[9,30]M[1,3])P(B) P[-275,+30]AT"sical memory (other than that allocated to DV:). This allows"P(E)T[+9,+0](I0)(S[9,30]M[1,3])P(B)P[-275]AT"the application very fast access to monitor tables and any"P(E)T[+9,+0](I0)(S[9,30]M[1,3])P(B) P[-275,-30]AT"jobs JCR. This has been used to implement a very low overhead"P(E)T[+9,+0](I0)(S[9,30]M[1,3])P(B) P[-275,-60]AT"'DYNPRI' program. The operation is quite simple; the address"P(E)T[+9,+0](I0)(S[9.,30]M[1,3])P(B) P[-275,-90]AT"window is created, the desired area is mapped and then refer-"P(E)T[+9,+0](I0)(S[9,30]M[1,3])P(B) P[-275,-120]AT"enced via APR offset, ie: MOV 140000+offset, dst. Since the"P(E)T[+9,+0](I0)(S[9,30]M[1,3])P(B) P[-275,-150]AT"address window is already mapped, there is no extra overhead."P(E)W(P1)@;W(F3,I3,V)P[359,272]@ZW(S0,R) P[384,252]ds(A[0,0][767,479])s(I(D),S1,T0)T[+9,+0](S1,H2,S[9,20],M[1,2],D0,I0,A0)W(V,I(W),F3,M1,N0,P1,P(M/2),S0)%N( END OF DECslide V1.3 EXPORT FILE)\wwdWP1p;5N(--------------------------------------------------)5N(The remainder of this file contains graphics code.)5N(--------------------------------------------------)N()7N(Please $Set Terminal/NOwrap before typing this file.)$N(Source: DECslide 1.3 EXPORT FILE)N(Export file: P6 )N(Comment: mapping exec)*N(Creation Date: 25-SEP-1986 14:49:38.29)N(Description file: )N()\ [?5l[?7l[ 022;1HP1p;@.L(A2)"A"AA55AA55AA55AA55AA55"S"FFFFFFFFFFFFFFFFFFFF"B"00"C"88008800880088008800"D"8142241818244281"U"8142241881422418"F"FF818181FF818181FF"G"80402010080402018040"H"11224488112244881122"V"01020408102040800102"J"81818181818181818181"N(End of terminal initialization.);s(A[0,479][767,0]);S(C1)W(V,I(W),F3,M1,N0,P(M2),S0,P1)T[+9,+0](S1,H2,S[9,20]M[1,2],D0,I0)s(m0(l0)(aH300L20S100)1(l35)(aH180L60S100)2(l65)(aH120L20S100)3(l100)(aH0L100S0))S(I2,E) P[384,252]@:ZW(P1)T[+9,+0]1(I0)(S[9,30]M[1,3])P(B) P[-238,+15]9T"Example of mapping the low 20KW of the RSTS/E monitor"P(E)W(P1)@;W(F3,I3,V)P[371,452]@ZW(S0,R)@:ZW(P1)T[+9,+0](I0)(S[9,30]M[1,3])P(B) P[-284,+195]9T"CLRFQB ; Macro to clear the FIRQB"P(E)T[+9,+0](I0)(S[9,30]M[1,3])P(B) P[-284,+165];T"movb #CRAFQ,FIRQB+4 ; Create address window call"P(E)T[+9,+0](I0)(S[9,30]M[1,3])P(B) P[-284,+135]1T"incb FIRQB+7 ; Use APR number 1"P(E)T[2+9,+0](I0)(S[9,30]M[1,3])P(B) P[-284,+105]=T"mov #40*24,FIRQB+12 ; 20KW, specified in MMU units"P(E)T[+9,+0](I0)(S[9,30]M[1,3])P(B) P[-284,+75]=T".PLAS ; Go create the address window"P(E)T[+9,+0](I0)(S[9,30]M[1,3])P(B) P[-284,+45]:T"movb FIRQB+6,mapid ; Save the window ID please"P(E)T[+9,+0](I0)(S[9,30]M[1,3])P(B) P[-284,+15]?T"CLRFQB ; Clear firqb, insure no default"P(E)T[+9,+0](I0)(S[9,30]M[1,3])3P(B) P[-284,-15]@T"movb #MAPFQ,FIRQB+4 ; Next we will explcitly map exec"P(E)T[+9,+0](I0)(S[9,30]M[1,3])P(B) P[-284,-45]6T"movb mapid ,FIRQB+6 ; Restore the window ID"P(E)T[+9,+0](I0)(S[9,30]M[1,3])P(B) P[-284,-75]@T"mov #-4 ,FIRQB+14 ; Force phsyical map. FIRQB+16 is"P(E)T[+9,+0](I0)(S[9,30]M[1,3])P(B) P[-284,-105]@T"mov #40*24,FIRQB+20 ; already zero (starting address)"P(E)T[+9,+0](I0)(S[9,30]M[1,3])P(B) P[-284,-135]&T".PLAS4 ; Do it"P(E)T[+9,+0](I0)(S[9,30]M[1,3])P(B) P[-284,-165]CT"mov @#20000+1032,r0 ; Fetch base address of JCR in MMU's"P(E)W(P1)@;W(F3,I1,V)P[416,227]@ZW(S0,R) P[384,252]ds(A[0,0][767,479])s(I(D),S1,T0)T[+9,+0](S1,H2,S[9,20],M[1,2],D0,I0,A0)W(V,I(W),F3,M1,N0,P1,P(M2),S0)%N( END OF DECslide V1.3 EXPORT FILE)\ww dWP1p;5N(--------------------------------------------------)5N(The remainder of this file contains graphics c5ode.)5N(--------------------------------------------------)N()7N(Please $Set Terminal/NOwrap before typing this file.)$N(Source: DECslide 1.3 EXPORT FILE)N(Export file: P7 )N(Comment: rsts dyn reg)*N(Creation Date: 25-SEP-1986 14:49:46.37)N(Description file: )N()\ [?5l[?7lP1p;@.L(A2)"A"AA55AA55AA55AA55AA55"S"FFFFFFFFFFFFFFFFFFFF"B"00"C"88008800880088008800"D"8142241818244281"U"8142241881422418"F"FF818181FF818181FF"G"80402010080402018040"H"112244881162244881122"V"01020408102040800102"J"81818181818181818181"N(End of terminal initialization.);s(A[0,479][767,0]);S(C1)W(V,I(W),F3,M1,N0,P(M2),S0,P1)T[+9,+0](S1,H2,S[9,20]M[1,2],D0,I0)s(m0(l0)(aH300L20S100)1(l35)(aH180L60S100)2(l65)(aH120L20S100)3(l100)(aH0L100S0))S(I2,E) P[384,252]@:ZW(P1)T[+9,+0](I0)(S[9,30]M[1,3])P(B) P[-256,+15]=T"Creation of a dynamic region using RSTS/E only directives"P(E)W(P1)@;W(F3,I3,V)P[392,457]@ZW(S0,R)@:ZW(P1)T[+9,+0](I0)(S[9,30]M[1,3]7)P(B) P[-297,+195]<T"CLRFQB ; Clear the firqb please"P(E)T[+9,+0](I0)(S[9,30]M[1,3])P(B) P[-297,+165]8T"movb #UU.RTS,FIRQB+FQFUN ; .UUO function code"P(E)T[+9,+0](I0)(S[9,30]M[1,3])P(B) P[-297,+135]AT"movb #30 ,FIRQB+FQFIL ; Create a region subfunction"P(E)T[+9,+0](I0)(S[9,30]M[1,3])P(B) P[-297,+105]9T"mov #^RCLE ,FIRQB+FQNAM1+0 ; Name of the region."P(E)T[+9,+0](I0)(S[9,30]M[1,3])P(B) P[-297,+75]ET"mov 8 r0 ,FIRQB+FQNAM1+2 ; CLEJnn, for command line editor"P(E)T[+9,+0](I0)(S[9,30]M[1,3])P(B) P[-297,+45]6T"mov #1 ,FIRQB+FQSIZ ; Only 1 KW please"P(E)T[+9,+0](I0)(S[9,30]M[1,3])P(B) P[-297,+15]DT"mov #100000,FIRQB+FQMODE ; Keep region if attachment == 0"P(E)T[+9,+0](I0)(S[9,30]M[1,3])P(B) P[-297,-15];T"mov #1000 ,FIRQB+FQFLAG ; The region is private"P(E)T[+9,+0](I0)(S[9,30]M[1,3])P(B) P[-297,-45]BT"decb FIRQB+FQPFLG 9 ; Next byte is real protection"P(E)T[+9,+0](I0)(S[9,30]M[1,3])P(B) P[-297,-75]CT"movb #60. ,FIRQB+FQPROT ; RSTS/E protection code format"P(E)T[+9,+0](I0)(S[9,30]M[1,3])P(B) P[-297,-105]FT".UUO ; Must have INSTAL priv's for this"P(E)T[+9,+0](I0)(S[9,30]M[1,3])P(B) P[-297,-135]ET"cmpb FIRQB ,#FIEXST ; If its already there, then just"P(E)T[+9,+0](I0)(S[9,30]M[1,3])P(B) P[-297,-165]ET"beq 20$ : ; attach to the region, else INIT"P(E)W(P1)@;W(F3,I1,V)P[431,227]@ZW(S0,R) P[384,252]ds(A[0,0][767,479])s(I(D),S1,T0)T[+9,+0](S1,H2,S[9,20],M[1,2],D0,I0,A0)W(V,I(W),F3,M1,N0,P1,P(M2),S0)%N( END OF DECslide V1.3 EXPORT FILE)\ww+eWP1p;5N(--------------------------------------------------)5N(The remainder of this file contains graphics code.)5N(--------------------------------------------------)N()7N(Please $Set Terminal/NOwrap before typing this; file.)$N(Source: DECslide 1.3 EXPORT FILE)N(Export file: P8 )N(Comment: rsx create region)*N(Creation Date: 25-SEP-1986 14:49:53.18)N(Description file: )N()\ [?5l[?7lP1p;@.L(A2)"A"AA55AA55AA55AA55AA55"S"FFFFFFFFFFFFFFFFFFFF"B"00"C"88008800880088008800"D"8142241818244281"U"8142241881422418"F"FF818181FF818181FF"G"80402010080402018040"H"11224488112244881122"V"01020408102040800102"J"81818181818181818181"N(End of terminal initialization.);s(A[0,479][767,<0]);S(C1)W(V,I(W),F3,M1,N0,P(M2),S0,P1)T[+9,+0](S1,H2,S[9,20]M[1,2],D0,I0)s(m0(l0)(aH300L20S100)1(l35)(aH180L60S100)2(l65)(aH120L20S100)3(l100)(aH0L100S0))S(I2,E) P[384,252]@:ZW(P1)T[+9,+0](I0)(S[9,30]M[1,3])P(B) P[-347,+210]9T" .mcall RDBDF$,WDBDF$,CRAW$S,CRRG$S,MAP$S"P(E)T[+9,+0](I0)(S[9,30]M[1,3])P(B) P[-347,+180]T" RDBDF$"P(E)T[+9,+0](I0)(S[9,30]M[1,3])P(B) P[-347,+150]T" WDBDF$"P(E)T[+9,+0](I0)(S[9,30]M[1,3])P(B) P[-347=,+120]AT"reg: .word 0,40*10,0,0,0,0,RS.RED!RS.WRT!RS.ATT,^C377"P(E)T[+9,+0](I0)(S[9,30]M[1,3])P(B) P[-347,+90]NT"win: .word <5*400>+0,0,40*4,0,0,40*4,WS.MAP!WS.EXT!WS.WRT!WS.RED,0"P(E)T[+9,+0](I0)(S[9,30]M[1,3])P(B) P[-347,+60]T""P(E)T[+9,+0](I0)(S[9,30]M[1,3])P(B) P[-347,+30]FT"st: CRRG$S #reg ; Create a 8KW dynamic region"P(E)T[+9,+0](I0)(S[9,30]M[1,3])P(B)P[-347]FT" bcs error ; Perhaps no> memory available"P(E)T[+9,+0](I0)(S[9,30]M[1,3])P(B) P[-347,-30]NT" mov R.GID+reg,W.NRID+win ; Copy region ID to window descriptor"P(E)T[+9,+0](I0)(S[9,30]M[1,3])P(B) P[-347,-60]QT" CRAW$S #win ; Create address window and implicit map"P(E)T[+9,+0](I0)(S[9,30]M[1,3])P(B) P[-347,-90]QT" bcs error ; Error again, check $DSW for error code"P(E)T[+9,+0](I0)(S[9,30]M[1,3])P(B) P[-347,-120]OT" mo?v #40*4,W.NOFF+win ; Now map the second 4KW of the region"P(E)T[+9,+0](I0)(S[9,30]M[1,3])P(B) P[-347,-150]PT" MAP$S #win ; Since we specifed APR 5 in the WINDOW"P(E)T[+9,+0](I0)(S[9,30]M[1,3])P(B) P[-347,-180]NT" mov #120000,r0 ; we base all addressing from 120000."P(E)W(P1)@;W(F3,I1,V)P[381,242]@ZW(S0,R) P[384,252]ds(A[0,0][767,479])s(I(D),S1,T0)T[+9,+0](S1,H2,S[9,20],M[1,2],D0,I0,A0)W(V,I(W),F3,M1,N0,P1,P(M2),S0)@%N( END OF DECslide V1.3 EXPORT FILE)\ww@kJeWP1p;5N(--------------------------------------------------)5N(The remainder of this file contains graphics code.)5N(--------------------------------------------------)N()7N(Please $Set Terminal/NOwrap before typing this file.)$N(Source: DECslide 1.3 EXPORT FILE)N(Export file: P9 )N(Comment: c example)*N(Creation Date: 25-SEP-1986 14:49:59.64)N(Description file: )N()\ [?5l[?7lP1p A;@.L(A2)"A"AA55AA55AA55AA55AA55"S"FFFFFFFFFFFFFFFFFFFF"B"00"C"88008800880088008800"D"8142241818244281"U"8142241881422418"F"FF818181FF818181FF"G"80402010080402018040"H"11224488112244881122"V"01020408102040800102"J"81818181818181818181"N(End of terminal initialization.);s(A[0,479][767,0]);S(C1)W(V,I(W),F3,M1,N0,P(M2),S0,P1)T[+9,+0](S1,H2,S[9,20]M[1,2],D0,I0)s(m0(l0)(aH0L0S0)1(l35)(aH140L71S100)2(l65)(aH40L42S100)3(l100)(aH0L100S0))S(I2,E) P[384,252]@:ZW(P1)T[+9,+0](I0)(S[9,30]M[1,3]B)P(B) P[-333,+210]AT"/* Define the method for accessing the resident file index */"P(E)T[+9,+0](I0)(S[9,30]M[1,3])P(B) P[-333,+180]T"#if VAXVMS"P(E)T[+9,+0](I0)(S[9,30]M[1,3])P(B) P[-333,+150]-T"#define _gworkpt( offset ) workpt+offset"P(E)T[+9,+0](I0)(S[9,30]M[1,3])P(B) P[-333,+120] T"#else"P(E)T[+9,+0](I0)(S[9,30]M[1,3])P(B) P[-333,+90]'T"extern struct tempindex *mapwin() ;"P(E)T[+9,+0](I0)(S[9,30]M[1,3])P(B) P[-333,+60]NT"#define _gworCkpt mapwin /*DECUS C can't substitute macro parameters*/"P(E)T[+9,+0](I0)(S[9,30]M[1,3])P(B) P[-333,+30] T"#endif"P(E)T[+9,+0](I0)(S[9,30]M[1,3])P(B)P[-333]JT"/* Then MAPWIN returns: (APR*20000) + ( sizeof(tempindex)*offset ) */"P(E)T[+9,+0](I0)(S[9,30]M[1,3])P(B) P[-333,-30]JT"/* MAPWIN computes the region mapping from the value of OFFSET */"P(E)T[+9,+0](I0)(S[9,30]M[1,3])P(B) P[-333,-60]T"/* For example: */"P(E)T[+9,+0](I0)(S[9,30]M[1,3])DP(B) P[-333,-90]T""P(E)T[+9,+0](I0)(S[9,30]M[1,3])P(B) P[-333,-120]BT"(_gworkpt(nxtbucket))->link = (_gworkpt(curbucket[w]))->link ;"P(E)T[+9,+0](I0)(S[9,30]M[1,3])P(B) P[-333,-150]0T"(_gworkpr(curbucket[w]))->link = nxtbucket ;"P(E)T[+9,+0](I0)(S[9,30]M[1,3])P(B) P[-333,-180]*T"(_gworkpt(nxtbucket))->linecount = 0 ;"P(E)W(P1)@;W(F3,I1,V)P[417,242]@ZW(S0,R) P[384,252]ds(A[0,0][767,479])s(I(D),S1,T0)T[+9,+0](S1,H2,S[9,20],M[1,2],D0,I0,A0)W(V,I(W),F3,M1,N0,P1,P(M2),S0)%N( END OF DECslide V1.3 EXPORT FILE)\ww8 4[eW  BRIAN P10P11P2P3P4P5P6P7P8P9