*CGRAB AQM 2GRAB COM 2GRAB DOC  2vgrab.asmc  !"#$%&('*)+-,.0/123456798:;<=?>@AoBCDFEGHIKJLMNPOQSRTUVWZXY\[]^`_bas 6tMZvoS܊hVD=CZ枭=I7jSV94+hRz Yn߶OTpmVLߣ ¤rDpaD͍ѻiޔ:Bb}oޭLM܊(&4}YP90D\[AR7J0лi67fȏ| `GZ(v&`#jv &J'`pB1OOf/*~߶Ophj;k18E-=`;kePpmq_UTb~ 9DL}ue>*3T2pǴw+SÌT gf́1c̽l1m.ٮ*B3T`1WPEpP~wo*iѻUTpڜ }ܺ+,wn**gmNi>"ӻ>3Ce|>BnJqlNrv K޳0")^U02bܳ0WxY3^6'eD枣N77SteܧP?_>RrKVP唸 ?yٜ*qf̟/c͉kYi̚PQ9 ThQ/7>f&2N***s > I4z-? _x 9h+> Iy(50kP1ПDG߈¬ix]2cG\zChYVP Ӗ Hwm ]ψ{;ѭ3kVKwmd}f ne M2lq_rp Sp/EE%VӒ2*~hz4#l'>YcGغv-YQAl%+}T|J-9b*F?V1__Z]>m^fU<{67sJT:?SsxԲS-icèE(ПD}LײWAGfxlGWu=`a;{*'Qs(|}Uk}#CNxlGW]y )}ST<{nn6#|}੹E 7<9⿯<_cGغ6u6_]'_]|_]<a;{*'Qs(|}UkG}q Npi _xU[#?}T|kduGŷF*~u}ST<{nn6#|}੹難E a$S?6YVWWFy@ŷFF*hMduGTT߅f=[oQZtr2}kd⿯<_}OOcn \b7-SEp]xSsS?o+WqSص`x,[N}**.W)|ⓊJ ۷F*3UT1v *>*Ʈ‡WQ9w!<71Jo TgbڀѶ D qrus2SMoBiUTDx"ބ8}r{=QQ||>pYSo(>1 pDc皽iS7=',>FY[Y 1>F_ΩR/1ѻUTc^cF'**W#dp*~5}ؾ!U<{|ŀ>(NSPLm(NŷnOc*~5+3fP_cFc >[#Xw߰fUTC64vOisÛ`jo>`æs@M*~5ʣ>8i'8䴊|ρ0i J ũb#ڍ_t s}|<9qtSIc >[#Xw߰fUTFox`< SsE(*=bdG)(a6[uVou5ڍ}|ƬOp>/nx:M?4[u= Uk5oXnejѳZxE Ǘ^}#*̧1aO__t > Iy(58c74zV oQ51vOisÛ` rmc67ZxE |xQ}|7e»E =c }#Vy"j}Lx>x,ׁ`1U]Jў*NeFF*>U4#ּFj]}||7>*=G9b*NڟU<{Sj)S4zM_t _1sS-Xc?}l1NxkE Ǘ^ډGe>cFIc[G[kѳZx/n[}E Ǘ^ؾ^K͍}l1N'*=)ftXcucŁUQտG_tmkޝޭLM4zV obݳY!t^cf>bmƬTGΟӉJ~_]&6%.7M6]|YcxO$&0̕^0RQ)o=U*=@7mn͍8vE  $S?FeG13?t܈N Ak1_t ь |@=iZv>*=h7nܚI385qR1v4fUQ9yJ05qNS7%y}kDEzV•X/FhFhxO$CNx}PPoݞ*Ʈ_nzVfchOO2=#Sۉ>~kTdSKf18?{>6/< 5sUkW <;ʶ[Y-UTkf|@=iZv>*3U<)?*ֵkZx ϋ}4\^*u]T1]ZcVx^2VXpxLc5AUk#>֧ *c^3RSc۷}4\ؾ&y͈YE/s@>J,SZ]<[7>25#jO:Vﹹٰ澧umE(M&y͈ΟU^-=b W𼰊*Ʈx,ןk,Uq*32R񭑑Uk,[T^={nE}OOc~YVT&y͈*=h7nܚI385qR1v4fUQQ9D4:bBw(}FGLeUo[y+Sx^XũHŷFF*F#r⿯<⾧Cc]_t G,W=EσUTjZ_]ּ;[i*~5_~[j?*=7>_]ּ;[i*~5K~hOw+SGcf>b]yǚww+S7[/ySzOsSe|͆}<}**W#oK/FhFN>:VAǧΟ?*=7>_]>'Mq_??Ə|>~NiJgpjcZsJT:^S⇦פ⾧k%}|m:_ >*=G9b*NڟU<{Sj)S4zMJQ&'}QZ]xlGSsSQjǭnGgx|(5M o=EE} ַȃTQ^jGY `dѻi*~5_~hvOw+SFj1aO_ʡ]YcV0k*~uthW t-wf=J@0шGbPW䙇*{zGb©P7ywcnU%PK|Ϸ`M?Eal*ޭLalCcƁx}(5AޭL U e N[@MߴSyUx鋁8TW[#_bl]} c[*~5țҋ|>~NiJgpjcZsJT:^Sb8YUT1\C_1Ф3&DF8*ֵ1T1GbPQisșo T5GbPso TTC<^SLMTxr{PrBhWV9|-גx<7B=+r7㹺u>@>Zܳfڷ Y5\_]<8>`Næk)Y1s+LAqtfjCq*{zUQy} æ5*=bdG)(a6\bi Q1Ku= Vp *~5ʣ>8i'8䴊|ρ0i J ũE >xoU7hn`}æS-VQIA>"jcJ,1sS-Xc?}l1N/NcVmƬTZ'*wBnCMf1:QQٻ~!tx3GKVW9PqOص`eӛ!? q*T RA¬Qyƫ[n n} 5=HK_t0@<1#݈2'Ocf>E(/|`Ry<*m4"}*u/mվ Jb袧\cP-4 zCVV1v]UʌTFdb4umtSAo]yǚww+S7[/oV!o _xUTOMT2K]UT`]YcV0k*0kc7x2S9)St N}1R>~NiJkUk0kfM[chsc?4[LI385|J-9b*F?VAޔ^ډQc[G[kѳZxE GvbQz =kB7U<{utul=`H[qs-N B0VQ9Tul*iq/[jU[ǫMKŐ,ZR_t W}[jU<{utul=Вb)@śʡrЭcϵPLfһf[Puߴd P i%ŪE /5ۉǻf[c[G[kѳZxx -)bHK_ T>Ep4zV o`ĉʭ+Wq1b⿯Sc|TZ?ш T:}:6\ [E04}S4zMʟR_y}+jqVq>hxju> xU~NiJkUT`|E >ND,w| >[#Xw߰fUT#1U 0 |E } :|;E:H*52P񭑁 #}+s@_忊̑rcbڨ⾧QY*NexCś |;EE0dY㧝 %z$.sȾk>FGLeU&2R1Hh"#T:QL-4 M*g%K@/e+բb4c;1s+.PLya/Y^R|ϭGe)jSLyaQQsF.%+fMoJP5qʩW0(dB<:brnE-ӬR=GaD?4|[CӈkuM_zjʘ׌TT1vVx^2VC}l^xj(}bڭ,ATؼ,QVCo`oB=GM'R梢Է|Ϩblne)_]<wLo.**,o:D k877S枣xsQQie)TT1Jz 1U6ShlO2ggfҷ~sx3`9 o<7YMP}QQQi<;ʶ[Y-UgTSXVt݄my|Gq=ш TClu [<仔m.YZx+W񭑁xw)>n]BKV梢r+WaOw]Vq%+4zV o7u YVq.eǭKVh*"uB/Y*^8u=rxV0nؔPPh4ڜ|ρ0i J ũE(ПD}LײW9L>` 6OD2m}#_1`0SS*^b⾧w]P{]|HBm}#Jw*F/!p.PcF>QQiKxQ}Mx*N6xQ}Y-Ukì[P5 o'KqZ Ud x0R%P-cqæąB㦉T<{|ŀ>(NSPLm(N/F9>|7"8䴊a+8Hشy"ix}PP8T#/}1PqSś6\[JgpCNDo/Y*ַ==U]; T)mnxsLKV/)V_ϧo TCc7[ oo.**QE/HwmxO$`cM^6|ρ0i J ũx,ׁ_t (v}|ƬO} Tk7hn`}æS-V*^b⾧7Ð= oOTTnCF*h+ϜU4R1vzR9Zʶ{J\o-Un}_]y wL/T񭑁шTg*{[^G1sTUQociX/Fyg'V9&8:MA 38ߺ=UZ/g'/nx:M?4[r8M[s#:`>N**h_y濊r|TZŷF*3U<揊w]@_y濊rx׵_t rx'DŽnܚ1|J-9b*F?Vq7Aoܚ :(5qRQAG3U<]*52PW\?*u[#}*'GŻUkC>xJ}Lͭ/xԲS-icG{zxsQQ9ͭ?Ss'_y濊riQk+WX?gV񭑁x׵_t r 'DŽnܚ1|J-9b*F?Vq7øjT:U WxYUT*Gѷ2翊o TQ8R9*3UT^@cghxU<{v(R1_\9***O>(@:IBb>QQin6|7:QQ9[}{r 9S1vcWLM"r>p U7*>U|kd\icʿ۩HŷFF*3cW;TXڜRصUQ9L_~kIT:4ϊ*k|bZN0-ޕ¬ix}9hҚw0DM*RQ+WXu?Ez1g|;@ŷFF*3cx,gmNbCk UND,woͭ,޻osJ**!oJ :] W4=kgg*k(XڜR{\>S^EE0S7ܺڢ|wDE%X1xUBn5NSxUUg>T<;<@* >*jWL*Pص`Sśa0kDEeg>Tc`rc]c|GbxUTC< +,wDEe<⿯@<E*^ TCNPsx0P9A*^ T_>TA8H-}e+W񭑁x jNGTCNPs~Hcb4ar>yNͭ*G+,w*1s娨x,gmNb d7|w8:5>ٙuPq9Aͩh洏ϩrTh»rW2B~!'(Rq8<#*aT@ <^x鋁x jN/}1Pq9AEˇ2Co.*4ͷZhh»rWS9?zh|0^ص`V1_<@x,wŴRx^<⿯@S1v(v&*TrnQX1[ TC޼bx{U8?p@>_LwT3o}?}0*^beQ'7/ex鋁xțSQ' G8\8**/* U@|0"z'8rUBk۷3ܧ)>Ac?L\`ICq>9,ǁ琳b{ߣs@잵Tf7?LbCrQ?)dVֳD\æ^ ݄MVNrUBFezk|7JT&+5 ?ih zbB7rUBBeps  }D9,ǁ[9Q}B!oFx9J<>>3neoO9q*F?-S&gD3QCrQ}m,1\`bxC  :]1omO9q*F?` ÓbT\"ڼ,h»rW>9,ǁ׶49[[i(?9,ǁ׶Ҩf=0kf:'q_S .O9q*F?T7So}׽CrQOy͈8Q}BsfX~f&yCrQONBtnis&&t܈'8<PQnQ :(516FN>9,ǁ灀 t[F?G<~>P\'8<PQ(M[s#F'r@@E(2S•p}#!g9<TT9F?GS:1~':'M%Q\'8<PQnB(. ~>0/\ {J\>O9qy n6 8} ƽ[ {J\>O9qy 2F?GY?Bd67&}Lqqr@@EkFxfkJgVIB:˟<P1J $(2JQIPs%è$(FpTaT GQ2TaT6/e%èl^d7n coh*XtBCrxo ϷQr$g_cr@@BJ>JSo}uN>>ΟUQO'8<Qn*(J;W(C@ǻf[7 z2*o(b|cͻӻFjҔ^B+[9Qӳ>9,ǁ灀 *W\5Y' `ZfB7?9,ǁ琳*ҋQ}<-N'8<P1 Gu05}ӻ)̚ (n}[¬ixQQ2} 07Bw+S5 o5%Ժ/IY=5AekF*F{Uv(9>v/^i?{(9>6/< 5sU(9>L{›6OrGF0q=]6J[o-Un5F7ݵ}ܺd¬ixc>|7"8 ~m cx>Y-UKF0ؾ-[fQHwmx>Q5 o(9*((>)mnxsLgVac7[ o(>)mnxsLa4UYQ2 xcѻi*؍a0cx>2K]UFGldAk5?+ %xJ*o crkTo-U[Qr@E\ Ut7|w815:] !@ ! ( \! l!.!.~ J6S#6Y#6M l!.6X#6R#6F#!^6#~ p#~ {#~ ʆ#~ʝ ‘#y`/G.<»! .<! .<({!!".!.".!"7."!`/~ "`0! <w2!(!A(K! !(}{!!h6!4N<ʅ ʎp!(=Ɓ_ !]!eͥV!eͻV!eV\<2|2|2 !2!!"!!f~Qͥvͥ! !6_ !55ͥE.* ͥE.=ͥE1ͥ>!>ͥV!>ͻV!eV_yxv! V))MD`1ͥ y}!!6{!g{!r{!]!Qe!Z!D(: !!(( !`r!g!1 x/j w#'!(V 26 #6 #6 dX.!5 !O (V*|ʣ!£ !`e+~ ʆ ژ †{!g!`0~ #~ æ!`(!(!!!j!u~0ʒ2!œ>==2!:!*!|̽*!+"!*!~#"!! "!!!"!6\*7.|*7.+"7.*9.~#"9.!"7.!;."9.6.~9#;)*.|U*.+".*.w#".!".!."..!P*.{ʕ*.6#{‰U. }9]9{A[A s#r  ~_O> #}k]k{s[sGs#rff~#[‰~]•ʺ~{ž ~}ª ʺ~~yºx!# !]}ȷ![{~#~úG~ 1x{ʹ[V~O#?@4Gya1{1_y01:A1[a1{1MD***i`"^#V#""*ʫ*]ʕ!"u*MD"""i`*ʚ~MD*****i`""^#V#"""**' ** "*"*}" ! "*MD"""""i`The command line GRAB [D:]FILE.EXT [E:]KEY.SYM LABEL will search through all instances of FILE.EXT (which may be an ambiguous reference) on disk D for lines containing keywords taken from KEY.SYM (whose disk may be specified). Any of these keywords may be regular expressions. Then the whole family of files will be searched for each line in KEY, whose default extension is SYM. Results will be shown on the console and placed in [E:]KEY.XRF. LABEL, a regular expression too, is a reference for relative line numbers; if it is omitted lines will be numbered serially in each file. Regular expressions are formed as follows: [p1!p2!...!pn] alternative strings {p1!p2!...!pn} repeated alternatives ? any single character @ for any alphanumeric: a-z, A-Z, 0-9 _ in place of horizontal tab Squeezed files will be searched as well as unsqueezed ones. Use ^C to quit, any other key skips rest of file. GRAB/FFYNDE.COM 08/01/84 ICUAP(1-14-85) -- Bad Pattern -- -- Search Terminated -- -- Remainder of File Skipped -- .COM file disregarded. .CMD file disregarded. -- Code Table Won't Fit -- .XRF file disregarded. -- Can't Open Keyword File -- -- Crossreference File Already Exists -- -- Can't Open Crossreference File -- -- Write Error in Crossreference File -- -- Can't Close Crossreference File -- -DFilenameEXTWon't Fit -- .XRF file disregarded. Keyword is: n Keyword File -- -- Crossreference File Already Exists -- [original] : original.xxx ------> File xxxxxxxx.xxx + 0 lines found instances in the entire disk keywords processed GRAB is a program to find and grab paragraphs from a WordStar file and is a slight modification of FFYNDE which is a program by Harold McIntosh that searchs a family of files for many different keyword expressions that are taken from an input file. See the source code files for author credits and more information. GRAB ability to process whole paragraphs depends upon how the lines in WordStar are ended with a "soft" carrage return, (08D hex). If the file has "hard" carrage returns, (0D hex) then GRAB will work same as FFYNDE and just find lines rather than whole paragraphs. If GRAB finds a keyword in a paragraph, it will first list the line number on which the match was made and then the whole paragraph, both to the console and to a results file. All of WordStar's high bits are stripped both for the matching of keywords and for output to the console and the results file. by: H.M. Van Tassell 2-12-85 Oct-29-84 FFYNDE bug fix: on the tenth line after the label "kext:" the constant was changed from 21 to 21h. HMVT