IMD 1.16: 29/05/2007 12:18:30 FOGCPM.025 --FOGCPM025DDTF COMDDTF DOC- DDTF AQMY MSA15 COM3MSA15 DOCREVAS COM !"#$%&'()*+,-.REVAS INF/01TDL MNE 23Z80 MNE 45H80 MNE 67I80 MNE 89I85 MNE :;MAC MNE <=Z8E COM[>?@ABCDEFGHIZ8E DQCJKLMNOPQRSTUVWXYZ8E DQCZ[\]^_`abcdefghiZ8E DQCjklmnopqrstuvwxyZ8E DQCz{|}~Z8E DQCZ8E DQCM-01-00 86 -CPM025 DOCZ8E SYMZDT COM8ZDT DOCThis is the disk name. v DDT DDT COMAbort: unable to locate CCP$Abort: assembled with bad restart location$Abort: DDT not found$ DDTF (C) 1981 by Roy Lipscomb, Logic Associates Version 1 October, 1981 A "find string" command for DDT. DDT must be on default disk or DDTF disk. For condensed instructions, type D$͙ i͙͸*"-***"-"*-."/."!> o!^#~}>> n!}|*"> #&~:A+~@2 u'H < ȯ*6 #6 <!Ā# xrGO! */ }|*/!u**/+r+s+6"!6#68#6#6#*/s#r#6#s#r#6#s#r!z!1!NͶ!*/XͶͶͶ*> o6:O*:]3 Xo!u*!N u6!6~+`~w>2x~# uGO! */ }|*/!u**/+r+s+6"!6#68#6#6#*/s#r#6#s#r#6#s#r!z!1!NͶ!place xvaluexat 5dh; x is anysingle char not used in value. To execute, type GB. To repeat,type G. LE will show the start (jpo) and length (jnz)of search: use AE to change. $*DM* z!^:]. #'z ! Xj́Ͷ ''|͟}͟ͼ~͟ͼ#m~<!~>.#„ͨ 0!> ¾~$#_ $*DM*place xvaluexat 5dh; x is anysingle char not used in value. To execute, type GB. To repeat,type G. LE will show the start (jpo) and length (jnz)of search: use AE to change. $*DM* z!^:]. #'z ! Xj́Ͷ ''|͟}͟ͼ~͟ͼ#m~<!~>.#„ͨ 0!> ¾~$#_* ddtf.doc * Documentation for ddtf.asm, a string-find function for ddt. * version 1 october 27, 1981 * * (C) 1981, by Roy Lipscomb, Logic Associates, Chicago * Copying or distributing permitted only if non-profit. * Home system: HP/RCPM, (312) 955-4493 * * This module relocates itself under the ccp, prints a signon * message, then invokes ddt. Loaded, this module takes about * .5K by both itself; but since it protects itself and the CCP, * it entails 2.5K overhead. * * To have ddt automatically load filename.com, type * "ddtf filename.com". * * This module uses two consecutive rst locations. These * may be changed, but must not include rst 0 or rst 7. * * * >>>>> Essential: Read the note at the end of this document * before attempting to assemble DDTF.ASM. * ********************************************************************* * Instructions * * The following instructions are available in condensed form * within the program itself, and may be displayed at run time. * (The program sign-on message will tell how.) * * This program allows finding all occurences of any string of * indefinite length. Install a model of the string at 5dh, * including a prefix and suffix of a single character not * used in the model itself. (For example, "/find this/".) * You may do this with the I, A, and/or S commands of ddt. * * A listing of all occurrences of the desired string can now * be displayed by typing GB (in the assembly version given). * Additional searches can be conducted by simply typing G. * * Each occurence will be represented by a one-line, ddt-style * dump. The string itself will begin in the middle of the line. * (The width of the line can be set at assembly time.) * * All registers except the program counter are saved before * the search and restored after the search. * * Note: If the search does not perform properly, check for * 1) Missing prefix or suffix. * 2) Using a suffix/prefix that also appears in the string. *.................................................................. * Examples *.................................................................. * * Example: Find all instances of "disk". * * Procedure: -i/disk/ * -gb * *.................................................................. * * Example: Find all copies of "JMP CDAB". * * Procedure: -a5d * 005D nop * 005E jmp cdab * 0061 nop * 0062 * -gb * *.................................................................. * * Example: Find all instances of hex 005638. * * Procedure: -s5d * 005D ff * 005E 00 * 005F 56 * 0060 38 * 0061 ff * 0062 . * -gb * *.................................................................. * * Example: Print an interesting display * * Procedure: -i// * -gb * ********************************************************************* * * Advanced explanations and instructions. * (For software hackers) * * Assume we are using the RST 1, 2 locations. Listing RST 1 * we see-- * * 0008 CALL 0038 * 000B JMP nnnn * 000E JPO 0000 * 0011 JNZ E000 * * "JMP nnnn" is the entry of ddtf. In this example, the * search is initiated by typing GB. Additional searches * may then be conducted by simply typing G (as long as the * program counter has not be explicitly changed with the * XP command). * * "CALL 0038" is the exit to DDT from DDTF. Whenever DDT is * invoked in this way, a simple G will activate the next * command (in this case, an immediate reentry into DDTF). * * "JPO" gives the starting address of the block to be searched. * "JNZ" gives the length of the block to be searched. The * default values are 0000 and E000. These may be changed * at assembly time; they may also be changed at run time * by using the A command. (Changes are not normally needed.) * *.................................................................. * * Example: Change length of search block to 200h. * * Procedure: -a11 * 0011 jnz 200 * 0014 * - * ********************************************************************* * * IMPORTANT: ASSEMBLY INSTRUCTIONS * * Note: As distributed, this source can be assembled * only by LASM.COM or LINKASM.COM, Ward Christensen's public * domain assemblers. LINKASM is available as CPMUG 36.11 and * 36.12; LASM.COM is available on most RCPM downloading systems. * (LASM is a slight upgrade of LINKASM.) * * LASM's special feature is allowing separate source files to * be assembled as one, if each source chains in the next via a * LINK statement. (Eg., "LINK NEXT.ASM".) If linked to itself, * a program can create two copies of itself, or of selected * routines within itself. This provides a convenient method for * creating a relocatable program without using a relocating * assembler. DDTF.ASM uses this technique. * * 1) If LASM is available, DDTF.ASM will assemble without * modification. The one exception is that if you change the * name of the source from DDTF.ASM to something else, you must * also change the "LINK DDTF.ASM" at the end of the source file * to reflect the new name. * * 2) If LASM is not available, the following "double up" * procedure will allow you to use DDTF.ASM with any assembler. * * a) PIP DDTF2.ASM=DDTF.ASM * * b) Erase the following lines at the end of DDTF2.ASM: * * IF NOT COPY1 * LINK DDTF * ENDIF * * c) PIP DDTF2.ASM=DDTF2.ASM,DDTF2.ASM * * d) Assemble and use DDTF2.ASM instead of DDTF.ASM. * * (end of documentation) **********************************************************************  * routines within itself. This provides a convenient method for * creating a relocatable program without using a relocating * assembler. DDTF.ASM uses this technique. * * 1) If LASM is available, DDTF.ASM will assemble without * modification. The one exception is that if you change the * name of the source from DDTF.ASM to something else, you must * also change the "LINv,qDDTF.ASMS   "!#%$'&()o*+-,/.1023456798:;=<>@?ADBCEFGHJIKMLNPROQ{G=dL%{Jx}E1DZ4@nO{t gM 4pɑHsɁT;`MΒ͢ᇃr%lK41;4#.X1qC:]|aDM04F|SE'n"T# }\0UGqfEPgSQSCj*Ӎ=3<Ъ]m ][޼Nc~Ν+jsD~>S|ɍckX3;dy9gzfhG/Y^#ְfwE-{"bgu4lTM\`ujۋ1Íc:x8 awz9a9]y.8͋Ot7ƕ.rK֛?Ne}=p*TU,{DjۋDjhjX5q{Em'.sQ˷q^'6Mo0эvq슔j hxqv*'m&!!dk>о,8,/-'W> o>|kڇ-)zN%[ k*h@EEjy%=p{qP፛ގC$x9l]TS<ы=pL\%KUvxOB}gf.{q*ivxj{ef.{qZZ27=;qnƮUvc^ji|ܾVxk][`0z Z2=pZeE3D8fwrصʮH-1WU>V^xTXMn=p{u 74NeI}ZuKL}6ci٩tmOoǡS:r*&!!?RvEJo5~_MBBſin-a>Vg#S=pc$$;DoL!S2})d B)d jjjt觷Щ4#4šo~z˙ US|X{}Nnx f[Nd,3{b5Z%s7uoћ#CNHaD!tK_稩{Ʉĩ{jy [{AZâ 3c@Mmq1X qe蓻<~)D -Й&C)V;?Οǰ/ODl8Sv8<-~o5L((cx@!EkGZ~zNyF??e3D#њeV-jG(cx@!<5# Z?Dk !Z>ЪEMMm S5=D} pS?f]-l*_ou"{G`95vs j/x [5jj{G oDjʂr~\"|UvA+;RL`2zQ{gr"_qnƖ+wRMmU[oq+;*DL`ED0.<=B.XZެw[;WzVW?ΕQDda5݃{]x}j=VLqtVSSC~ؼ儥{VWrco—лVj|Vt> jTn^rz瀧\i`zkыÅ4O{4t,/j_{uhU6 4{i]l/XV:;q36x8;]US+R[/s} _ZeNoTn}8vm[\O`<| ]/jj{l1vA][@gU͏V{ÿU{BU{An9xatfe';]y+lϖ fswbg3r_)wd.[jOqW{ֹ!ouǮH-^r;{6˝-1ٌD(QOTKtdթVIU{q+~h՞NS#nv@?]y+lNR읯^RvEJox՞_Vog˟,Cz[N)c*Ze[gKL}T;9(g=Bo S{Ï/s:_aoC3vu-1ʧjj??jOcDk=V`oǻ [5=4ggG wz9aЀ~GEL?gdd.j0_jOqWjCz;;suh`zOÅ8+,jUI?jOcG?yO\5ڇ;4V/Og5=4?Ncp IM/ 3 w=4@iy+l;~k][@0\"|Rc0=|G gÓsSaصηqwa+[$;dRTS ’̣~G 3 1K~k][da=$[U'V{B"id Xܩ0л\jj5S~fzKG }κ?sQx`z?MMBB, y2@闽+R+Rz Mq蝸V6>-Ezc|KT6i9x^ XJߑ}vEJo8tq"mηq\,5Z>Ν.=V@Mm ٦7~pc+;4a4vA-.qnRcW8v+c*Xx 3 ] 1kt ˨9QT=](q+^tfQYH4q 3 " }cپz:o} ǚ}|P{Oڏs8{7d3;#"74tW~{y36x 3 ]Mk'5M\xj?Ѐ_ }rS-}w=4Fu%-o}}G. 0?BEc0=a.RLaNs#W*}-_ }ڧES >=jjOqWynQtVSSCjW,Cܐ: c_j{h@MbY>ߣ,/cS-z^qn99j/S-:Q[gK<5 xS/Dک[Ehqy]nA)?C >}|P{ïUSLa.7&RoHG[zflRpsY~Q{s5KxA/@GSq6L MqsiN*',jOqWj>S?|jj/Qjj?ЀOqM cxhծ("|\"| P@;xr9aQLa.ߗ۬js!zjj_oOqjj{ˉ앛oE):_u9"Q+\"/jj{*oMF@eE S{:LO*>/jKV#^>XS>\S OPT16x}N<~g]L?G0=$}*_>ӃpN>jOqTpO%S>@S r";KT (jJ D/Y^S>\S OPS鬦9S9q6snχVj{h@ i:c0"tT> sj>`EUR?G |@稩>`EH7Ƈtd+aNT<"lщԞʟ#>Yjjj{h@m3KS?Cv=4 0o{}|Ʊy.࠶O8?}~pҼxOX/.>Ytd+B_}1>#/ E'Rzcb*ADjj_o_|]L3(H񋯋xEآtVSCj*C 58w+Rz 8lO3\"|Rc0=ʜ8ǹqZeΖ<.<=B21CS~az**m?ӻ.wTا~}qywy'u~y=郏1ˋW>^#48v:TBs\ MoD=l2d}xUcTr{{ŏǹǻE^G/j_oOqjj;šwu][V6>>.V1ZeE.<Ъp*fl^[|Gk>/8Y{mר=υL8*=z8vEJoOe~߻3ZkGdy|f켪}1>š1q"@;|}.YTTS鬦7{"N+Rz tL{d$$L%PS+Rz tLŻ S+{=i8|yq`z81#1zr9aQLo㘑o pmVW{:L 6 G/G/Y^z퍱;z 5Q>_|P{E՞Lj($\ηqKW՞@Bz^Ԟpgz~OX]o쳧6jj{h@mH-1oW&#!!d.عX\ͩ|_?|m~:;XdžCv=4fN(4T.',J dyT:() _~=_|PTjJ\ |CWSCjh=qT|hծ QMMMM04FP#ܳTcOX/_Q(]}iTS4~ArEFDP{/F55=47Fe3;Y wrFq5=4rxnv=4Ve;8qX!N߲"V{_|RFjЩWwwjjc{.4H׎AH2[ETM.b/F54ڂܣhP,{{5OgCbr H QM!H&=]eAW7ЋwjjiG4(YfGL_{4>AH2[i#jrT Gj^ jj"AR}\סUbżx{-5-V{_| t5b8;^vjjiG4(YfGL_{4>AH2[i#jrT Gj^ jj"A܌][[C(VS3=BG6y W{?IXVwVACaN}MrC:25=4pʷ-'V?'Vj{h@M}j/<^ng\vY~QSSInL;ͣKc2D>~g]5;jOq=W!}\"|â KƱYflp%K#N﬋.5Ҍ j/QKDS{*0b3`}z*ӍrrkXN(?߳΍:Aǖx',=`q(?ߧ c[٧,Cn~ܳ4lTr8xc*a=NwfL%1~c*Hjj;n,786/1Wzc|HG^5վ6*fWzc|بfWSzcb*Q{\Mm u#N}M+-~UX_=WZN?!j_oyilR(tqԞ猚w©lrbsRɪY˝kؕbT6]t K*{ֹrSs_}+ǣ?8g+NeJVMmO}MrOz݇Q6lT } tfi`(?W{AP!J_t*D5HG^=r;/;#]%eW՞𯰨}1>#fW{5Y~!JG\ SC:r`Fq5 qcq-aj_o[NFq5(QS鬦vب옊w*xP 6*n`, `9jOs!ǹc*K55X"|>`qY~zmN/ܰQ9xr;C酻.wē8aQ{ÿ߳];oej_oŃ5wXnt>D;n,7<y%dWS{}au+n^~wlبQT=XzήVS{ÿ߳]9pNOe+N #YYτQ{OcO/t]nz36j22=MMdB喬7c&S{ÿN:7ΔMƮ˝kԞ@~]İ;#]t:jgBx>`qWN {>`q7Ư˝qFq5(?W{O%C=A!}Qfoilӻ.w>K>|'7lT^tVSCj;#]Ń];oeJSS'Ń=r;˳Nj?Ty;վeW{Y0X{\oI9.j_ezQ efW ׯ)|>`q^)V{*.w5Cjw'n"T# %ٌ]|]T\n``E35՞ʇtd+5Ѐڎˍ;^[6q"|Zo ;=t y%L- W{s7Ư˝qFq(?W{s'([QFqjj{h@mtd+}xUtd+=Uwj?I^ngEr'nQ{\%_>/jO@C:2ޕjjj{h@moHGƻutr0Z]č0X{\vga*T,S Ws˳Nah@ 4==b|=qTsG/Y^Ǟ^yq*~Ԣ,/=1Ż\\!jl6ZE"+S +rE46/{1]Q} wE"RJ^ jI(<}NnبQ{:L 1^~?S^=p5^ng?wE"+S +rE46/{1]Q} wE"RJ^ jI(<}NnبQ{:L 1^~?S^=p5^ng?w蓭&S{ÿN:7ΔMƮ˝kԞ@~]İ;#]t:jgBx>`qWN {>`q7Ư˝qFq5(?W{O%C=A!}Qfoilӻ.w>K>|'7lT^tVSCj;#]Ń];oeJSS'Ń=r;˳Nj?Ty;վeW{Y0X{\oI9.j_ezQ efW ׯ)|>`q^)V{*.w5Cjw'n"T# %ٌ]|]T\n``E35՞ʇtd+5Ѐڎˍ;^[6q"|Zo ;=t y%L- W{s7Ư˝qFq(?W{s'([QFqjj{h@mtd+}xUtd+=Uwj?I^ngEr'nQ{\%_>/jO@C:2ޕjjj{h@moHGƻutr0Z]č0X{\vga*T,S Ws˳Nah@ 4==b|=qTsG/Y^Ǟ^yq*~Ԣ,/=1Ż\\!jl6ZE"+S +rE46/{1]Q} wE"RJ^ jI(<}NnبQ{:L 1^~?S^=p5^ng?w!j %QN&Ͳ<ͱ :] H!e~#AG~#SG~MG2!,͵:a!/͵"Û!&͵\ʛ!)͵"!]m !&e\\±!|j 4e2\~#4h!\:<2Pi`"+:2!Rj \\\!ej !@j !^#6 #6#6 !+~ʦHB$PʏLʡAʺDd2d!~H#ڽj ë>#¿ë> ## #y_W":2y2:2y{ {6+~Nw#{ hW{_> ̓ hW{{_>d̓{w{2Dz2A:2G†y™2:e2ey²+~N²2:Q2Qy+~N> 2222:2 2:/2/+~0 ؗOȇ +~0:!AG0:8\|ͳ*hP* +"#*w#w#w#s#r#6!!h"p:=2>_j!:2*!h"*"p:=ʮ2>_Ú"!*MD**### ##~++~#~##l*P+w+w>2 "!: *MD*:_ͣ S_ ##{-> ~#- l@> ͣ !F ͣ ͣ }O|[_G+~la x*͟N :ڃzOʑ̬ ʜ#͟ÄJ {_s"#~  !,!!>w2#^#V*Pm*P$$!P!N!\P!p!Pm!>w2m*MD*^#VPmK###l,m! MD ]Tas#r#6*#"N ͓*͟J "* "{_p*^#V*P*##ª6#"–:ʿ!~ >#::=,! := ! := y =!! :,!V !/! !F y !h"*"\:=2>_J*ͬ͟:x!V I^ ͖„͌ J* "* "y {_\N!o V:A*B""U:*^#V#{*P"**P*y ~#,  YPP*Di`P%"B!"B    _ЗJ*~#- M>{:>wJ*~#͆ k>{O> | ڐ`ڒ> :A*B}MD*~#ڷl§x *BYPP"BQ2c:F! >2G2H>/2F:c,!IV#{5 :G :H p - p ( p >' >, 2H=i :GC p a :HR p \ p >, >' :F<2F2G :F2F:G>' >2F> 2*>^2e:ڝ zOͭ ʫ ͟Þ > :eG^ 2>; ; > 2e ~# ;^ > > > #" Y F ::=! ~2  >H K E !=N !N !~ # N :^#V!Pq !2 !\P€ !7 !P !; *MD*^#V#"fPʹ l*f—  >L _ ^!o :*^#V{ *P *##" >L !_ >: xgy <o) >0 - G: x: Ɛ'@' #~ +~- >H _ > #~- +~- ~#O) j ͣ :;*B}*~:ʜ !ß !o > > N : !V ! ! > +~# *w O:) :" \ +!j :!w2<#"Y 6 B :f !i ! NOP LXI^B, STAX^B INX^B INR^B DCR^B MVI^B, RLC DB^08H DAD^B LDAX^B DCX^B INR^C DCR^C MVI^C, RRC DB^10H LXI^D, STAX^D INX^D INR^D DCR^D MVI^D, RAL DB^18H DAD^D LDAX^D DCX^D INR^E DCR^E MVI^E, RAR DB^20H LXI^H, SHLD^ INX^H INR^H DCR^H MVI^H, DAA DB^28H DAD^H LHLD^ DCX^H INR^L DCR^L MVI^L, CMA DB^30H LXI^SP, STA^ INX^SP INR^M DCR^M MVI^M, STC DB^38H DAD^SP LDA^ DCX^SP INR^A DCR^A MVI^A, CMC MOV^B,B MOV^B,C MOV^B,D MOV^B,E MOV^B,H MOV^B,L MOV^B,M MOV^B,A MOV^C,B MOV^C,C MOV^C,D MOV^C,E MOV^C,H MOV^C,L MOV^C,M MOV^C,A MOV^D,B MOV^D,C MOV^D,D MOV^D,E MOV^D,H MOV^D,L MOV^D,M MOV^D,A MOV^E,B MOV^E,C MOV^E,D MOV^E,E MOV^E,H MOV^E,L MOV^E,M MOV^E,A MOV^H,B MOV^H,C MOV^H,D MOV^H,E MOV^H,H MOV^H,L MOV^H,M MOV^H,A MOV^L,B MOV^L,C MOV^L,D MOV^L,E MOV^L,H MOV^L,L MOV^L,M MOV^L,A MOV^M,B MOV^M,C MOV^M,D MOV^M,E MOV^M,H MOV^M,L HLT; MOV^M,A MOV^A,B MOV^A,C MOV^A,D MOV^A,E MOV^A,H MOV^A,L MOV^A,M MOV^A,A ADD^B ADD^C ADD^D ADD^E ADD^H ADD^L ADD^M ADD^A ADC^B ADC^C ADC^D ADC^E ADC^H ADC^L ADC^M ADC^A SUB^B SUB^C SUB^D SUB^E SUB^H SUB^L SUB^M SUB^A SBB^B SBB^C SBB^D SBB^E SBB^H SBB^L SBB^M SBB^A ANA^B ANA^C ANA^D ANA^E ANA^H ANA^L ANA^M ANA^A XRA^B XRA^C XRA^D XRA^E XRA^H XRA^L XRA^M XRA^A ORA^B ORA^C ORA^D ORA^E ORA^H ORA^L ORA^M ORA^A CMP^B CMP^C CMP^D CMP^E CMP^H CMP^L CMP^M CMP^A RNZ POP^B JNZ^ JMP^; CNZ^ PUSH^B ADI^ RST^0; RZ RET; JZ^ DB^0CBH CZ^ CALL^ ACI^ RST^1; RNC POP^D JNC^ OUT^ CNC^ PUSH^D SUI^ RST^2; RC DB^0D9H JC^ IN^ CC^ DB^0DDH SBI^ RST^3; RPO POP^H JPO^ XTHL CPO^ PUSH^H ANI^ RST^4; RPE PCHL; JPE^ XCHG CPE^ DB^0EDH XRI^ RST^5; RP POP^PSW JP^ DI CP^ PUSH^PSW ORI^ RST^6; RM SPHL JM^ EI CM^ DB^0FDH CPI^ RST^7; ; Addr Hex Asc ;Label Instruction Second Byte Expanded  Second & Third Bytes Expanded  ORG 000A = LF EQU 0AH 000D = CR EQU 0DH 001A = EOF EQU 'Z'-64 0005 = BDOS EQU 0005H 005C = FCB EQU 005CH 0080 = BUFF EQU 0080H  ;  ;Direct DB  END  ;File Incomplete, Disassembly Interrupted ASMBAKCOMPRNBDOSFCBBUFF See "MSA.DOC"  COM File Empty  COM File not Found  Disk or Directory Full  MSA Version 1.5b  Write Error   Passed Parameter Error in:  Start Address  Ascii Field Select  Byte Expansion  Direct Address Flag Select  Label Select  Array Print Select  String Parameter  Vers0000H & End PRNADR+1Full Array, Last Entry FlaggedFull Array, Most Flags=FFFinal Array, Flags Removed, 0000H at End Start PRNADR <= Nth Entry <= End PRNADR0TABLFCREOFA Addr Hex Asc ;Label Instruction Second Byte Expanded  Second & Third Bytes Expanded  ORG 000A = LF EQU 0AH 000D = CR EQU 0DH 001A = EOF EQU 'Z'-64 0005 = BDOS EQU 0005H 005C = FCB EQU 005CH 0080 = BUFF EQU 0080H  ;  ;Direct DB  END  ;File Incomplete, Disassembly Interrupted ASMBAKCOMPRNBDOSFCBBUFF See "MSA.DOC"  COM File Empty  COM File not Found  Disk or Directory Full  MSA Version 1.5b  Write Error   Passed Parameter Error in:  Start Address   INSTRUCTIONS FOR MSA VERS 1.5 MSA AAAAAA.YYY XB NL N$ XXX$ D NA P XXXXH WHERE : AAAAAA = THE NAME OF A COM FILE YYY = THE OUTPUT FILE TYPE PRN/ASM ( DEFAULT IS PRN ) XB = IS FOR 2 OR 3 BYTE EXPANSION ( DEFAULT IS 1 ) NL = NO LABELS N$ = NO DEFINED BYTE STATEMENTS XXX$ = MINIMUM DEFINED BYTE LENGTH ( 3 TO 255 ) ( DEFAULT 6 ) IN DECIMAL FORMAT D = FOR FLAGGING ALL DIRECT ADDRESSES NA = NO ASCII FIELD ( PRN ONLY ) P = PRINT LABEL ARRAYS XXXXH = ORG PROGRAM @ XXXX ( MUST BE 4 DIGITS HEX ) ( DEFAULT 0100H ) NC = NO ( SYSTEM, BUFFER, FBC ) LABELS (( VERS 1.6 )) ASCII IS DEFINED AS: 0,LF,CR,CNTL(Z),20H THRU 5FH,CNTL(I) GENERAL DEFAULT FORMAT IS ( MSA AAAAAA ) PARAMETERS AFTER YYY MAY BE IN ANY ORDER. ` 7:;/:s* "++":U(&*"SUtͯ!!"x !"i{!x~O(O #t>;!\/29STATUS;TURN ECHO OFF; REVAS, V 4.00 Copyright (c) 1985 by A.E. Hawley type HELP for assistance X[ixX(w#{͗~#ͤ$ȷ#~W`8{0_ (#8,(;(-(+( 0?0:0?ͫ(W{ͫ#+ y_G~_ y(#}O|8{Oz8ͬ#H> ͉A?~ͤ#~!#}O|88 +ANwy#YP+ͨq#pͫX&o MD0 8?#+oOyoƐ'@'ɯo g>0#+ɯ>+~(>-~Dw(~daA($0x A(y0x0ɸ8 GyB0i`|M!0Gɯx!jR?8G+NrEq:+2+:+=2+ yO=( :9Ĺ y (=  :9^:9:9d!95~(ͧͤOͪ?#: a:dIa> !95: ( 5G a/2d: C!fNa#2d:29 A~Oͪ#s#~+( ~#fo͹T]###~+~#fo͹[ 3(8 " C {3(}7N#F+y7##O~((#7y:9ͮ:9(:>5<9! DM g o* >O :9Og ( y?@OyGyOx :>5G:9(:9 :9 ywK:*9[:)>29!(!= " !" " ::(<կR}2 } <3(DM0##~#fo" : '"  ~#fo" ####N##: ( N#F! ͹! z ܔ͇>6#= [ s#r+~##G͉N#F+xy G>͉* | }">#+2 :< ::22(/2:::Q" q#p+* ! )~#fo~#fo| }`i> ͉?2* |}E> ͉: G>;͉? * gs#r#s#r#s#r#:+O*+t$DM##O DM~#fo~#fo^#V+##~#fo{("{(}  ͉ | }N#F+s#r+*C| }2! ͹w#6ɯ/2)  2) : ! #~+(I: d @(:) 73: O >*a(>Xy >Uy*$;O ~>H* > ̓ A?S #~+7[ ####y  ^#V+: !̑!0  x« : u! DM g oS6 * ~8?2' ##":  ! DM g oS8 7 ?>F =K =(ͫ ! >!> *"9ͮ*8 ~#fo> ̓*6 ~#fo| }>̓}o:9o| }> ̓| }> ͉*?! DM g o * >̓} g o! DM g ȏ* }> ̓~?@w*9K: *:**" :" ::(S :":\08F͏ :S !!" ::(!͉7(8" !"!"* ͵?0`i"::! DM g o: (*  w͑  9! DM g ȏ> 2,:0!* ( **AR"! DM g oS (:27ʽ  "! DM g ö́ > ͽ ̈́ > *  w s#r+*" ##MDr> 2 Q[ s#r###6#6: O*t: *  ˮ H^#V+q#p+͹ Oq#p+*C| }2[ : ̑"+**}O|8Ͱ < 7`/2*!t**DM!(78yOx8?8i: Ͱ < 7`!~w*q#"K *[ )0>* * DM!(78yOx8?8i* "7:o͹ 0Ͱ < 7l29!˾**Y}2:l(|2lͰ `< 7f!`\$t:GͶ!\`$t\(7>O ֯*:*:R]}l&)o")o"Yr"WR":[0*:":+##%͉ >: ++~_@r r##ͬ.  ͬ.̖(# #ͬ# !K:*:[:)]:: ":~*:#":}2U:_wcK:*:[:)BK: 0j:_2_áR*:G '":":":" *:":"? *:":*:":>7:?ʬ%Ky($̈́ͽ!` t!` tKy(*! tKyʉ* ÉKyo*:! >͉`͞?2l`<  :\G:[g>Oo +*:":":":!_6PM`< 7X!_j!l>͉͝ >!>!>!>!>!>!>!>2,ÖKyʦ*Ͱ < 7?[(70*##^#V+R"İt*:*!*>͉:O "2(/2:*}!#~+(!"!"*͵!#~+!"!"*͵*}ĵ*}ĵ!"!"*͵(!"!"*͵K*^#V+{ |}   [Ͱs}(1^!~ wͰ < 7l :!6X!>͉Kyʯ*:!>͉!6H![~2T#%͞:T2[\< 7f :Ͷ COMDEFAULT TBLDEFAULT LST COMDEFAULT TBLDEFAULT LSTTDL MNE!:~4#A:s1^*X*XC "*;""]"c"eK[  " "+"" #"""!"%- "a!"!!h> <͉ͧ/"4͸ͯͦ!`%!%!%!=:t!S't!>͉!"!*>͉*""/22!O"9;t{.͍y'8ͧ/!*y'0*="?+"Aͺ*;"9;tx*9!;t!>0͉292,*A"?"A+  0080".ý:@*".!:Oz 0g*9K9! DM g o(!: (U!(t:2ͺ*  ;t*9";"9x##~#fo"!!  >!> !>2,>2!~#fo  B7!~wq#p##ү!~0w#~+^#V+(,~#fo"t##~#foN#F+O^#V+!"t####C**#".͜:%(h=>7*#~Ȗ*$; ͑> 7*##"#~*#9K! DM g o7* > ̓>̓"&K**#&͜> 7*#*(LDM!z ##~#fo z}|{>OxGyOx8ͬ# , x8 7=(8s3::(6 v 0 !w"tN #>;w#w:9*?#>)+*ARDMy!4>#͉4A 06^#@w#ÿ'!Q"w1|/ /.///...../##"#j" /&{&/ $M#$V#$nOxxwb.COMACnYYX )GETCOM;;T.EXMACOxxwHFILES W)GETCOM t"Help Print HELP list8!Quit exit to CP\$Status List current parameter2SHow display comments, Macros, symbol#Lock prevent auto data-type chang#Unlock Allow auto data-type change#Mark Set data type at named addres- Equals Assign or change a labeI !SEt Set parametersa !Turn same as SEԆ/Display MAIN DISASSEMBLY COMMANį /Print Display on printer & consol*"TItle define page header for PRIN.Build BUILD SYMBOL TBL/IDisplay Instruction mode displa4/BDisplay BYTE displaM/WDisplay WORD displaj.IPrint INSTR mode prin.BPrint BYTE mode prin/WPrint WORD mode prin.IBuild INSTR mode buil.BBuild BYTE mode buil.WBuild WORD mode buil At  Create & Delete comment;: SAve Save symbol tablef>/Close Close and reinit the .LST fil/WRite Send disassy to the .LST filPGmfile Establish for PGM filzTBlfile Establish for TBL filLStfile Establish for LST fil=/&Find Find occurances of