IMD 1.17: 14/12/2009 9:51:02 P24    0ISIS.PDS VOL1ISISPDS M 04 1      *DM *DMՊ:(>ͪ*#"#:%<>!6V!6:f:2!"&:!&ϋ0:22>!ҫ:2!6:22ÿ:2!6:22@:ڄ!6F*DMW!6E*DM͝::2(:2):0: -S%>/&.%xG0:=-%%DAH>/#Vy aɀ!~ „6+4Å4* ".×.*n!qr+s+q+p++yqOk!q#w»>2r:׈Cڈσ:r=2rɈ͟ :D(9>JDIAGNOSTIC TESTING CDIAGNOSTIC TESTING COMPLETED 0123456789ABCDEF ISIS-PDS, X. ISISPDS \DISK ER YSTEM DISKDISK ERROR NON SYSTEM DISK BAD LOAD FORMAT DRIVE STATUS=10!":w! 6D|ۋ: DHU!"!ҋU*"*"6! 6#~D>{!">!ϋڑ*< NV*"n:¡!6æ!6!">!ϋ܁:͋0 a̓ w*"Ҭ! 6ц:2 :2:2aN62*//:(2:)2:*2>Oͪ*&"&r>>!.r+s+p+q!"/-/ͷ{* */+*+w*#"*/"/G!m6:җ!'"4!36â!"4!36/*4DM͐!16>!1І*1&)))) ~¢!26>!2*2& *1&)))) *2& yyï2  .Q/Q@# l#X:s_۰ڇ vvʉ۰ڇʘ۱w#‡ ʲ#Þ:s_۰ ¼¼ӰӰӰ>C=҉۰ʉ#ß۰~ӱ# ..kLkȆ!4҅!l6*&))))  N#Fs!"!"_!6#6>|!ڝ[:2AÝ*&) >ͮv!6Ú*&) * N#Fs*"MȆ*&)))) ~Ȇ: D†Ȇ!4±*>& yL*?& |Ll_!<6#6݋Pv!s+p+q+q+q+p+q!6:!ک**&͘Z !:O* w**&͘"!4f!6*&*~0:=O:H*&*:w!4î!p+q! 6>! * & Ɇ!24Ӆ!m6*1&))))  N#F͐!"4!"!16#6>|!2ڞ\:222BÞ*2&) >ϋw!26Û*2&) *4 N#F͐*4"4NɆ*1&)))) ~Ɇ: DÆ3Ɇʌ!14²77:7"/!7ی>!7*8*۰5 ӱ!>@=۰-!q۱w# >@=7۰;݊#)Њ-NJAay!aO ~!C ^#V# sOys@:s˜>Ú>2!N#FyyOx=!w#w> A!~@#Ŋ>A!>w#A4w00>A>AA~@6:"/!>!**_"_v:O!n ^#Vv**_"_vv6:I>ͣ+s#r*DM*66v .2ІGo&xGڜ>p###‘}~Շ###>œ}UUUUUU RAM ERROR *NV! 4ͼ*& L! 6:! m* & N : =O! DML! 45! 6>1! ڏ* & NV! 4r>>>Û!!q!"q: !6+4ă!4*"*Mc:O!j ~2%O!"#:!#ϋ:͌:"w:7O!o ^#Vیw*8*"ww:7::Jی>8ċ+s#r*;DM*87:7w!/3цGo&xGڝ>p###’~~և###>~UUUUUU RAM ERROR O1ԇ!LJ~#އ&.zW#A>AA"@w#AA@w#(!Cr+s+p+q+p+q>@!D"DD @!Mr+s+p+q+p+q+p+qF@i`N#Fog_ogDM!>))덑o|gұ =Ÿi`N#Fogo&og_{_z#W y0:p22#:qل!6F*uDMO1Ӈ!Ƈ~#݇&.zW0: -S%>/&.$xG0:<-$%CAG>/"Uy `ɀ.z.*mn!pr+s+q+p++yqOj!pq#wž>2q:pҺBýσЈ:q=2q¬͟               *.M͋  %!-q*-Mͱ*3,~D*9,~!-6>!-*-&.) *;,Ϳ+¿:-O!. ~¯:-O!. N#F?%*-&. 6:-o& 6ú*-&. 6!-6!-4R*5,>*C,N#F?%*=,N#F?%*7,~*5,N͓%2- *G,N#F !-q*M,^#V"-*A,n&yï2/    .@%/c%A/c%R.5/ $~5j:_۰ڙ ˆˆ۰ڙʪ۱w#™%/ $5ð:_۰ ӰӰӰ>C=۰%5} ۰ ~ӱ#%۰GEMV51SYS1. ISISAAwD> V(C) INTEL CORP 1981!9"+1a>DsN##^#VW>|} !+ ~"+0ҭ#zڮ¨+{ڭʭ!} ##‘!+ ~=_P*+^#V"+ *+9~#*+p#px2.!+ ~*9|̈́ >"9}\~y2+,!9=B=?))))"-*=,*5,n&V+Y,  N#Fq#p*C,*5,n&V+Y,  N#Fq#p*5,Nͱ *5,N--S*5,N-ͩ:-2*-"*?,++s#r*5,N͋ *5,N$:-O%*-&V+Y, 6!.r+s+p+q: .!-" .!.".!.6*.DM.:.10*. ӱ!y>@=,۰0?!xq۱w# *>@=I۰M  % ' 5 ;  . ? Aay!sO ~!U ^#V# …OyÅ@:ª>ì>2!tN#FyyOx=!w#w> A!~@#>A!x>w#A4w00>A>AA ~@# A=5=0^#V#^#V#N#F#^#VBN#F:+,_! ,^#V!W*+!Y,=c>*9",,w#6 *,,wW*9>0:9\~ʩB\*+wWPYE !-q!-:.,%:-2.,o&V+Y, "3,#"5,#"7,#"9,#";,"?,##"A,#"E,*3,"G,##"I,#"K,#"M,##"O,##"Q,##"S,##"U,## 2.*.DM* .DM.:.v0* . 2.: .e! .6: .2 .* .DM! .6!.r+s+q!".:.ҭ:%-2.!ʧ!.".í!".*.DM*.0*.% ̈́ !.q!6*.M͋ *.S*.M~$*.*U,*=,^#VN#Fͱ!.p+q*.DM; >AA4 @w#& A& A@w#: !i.s+q:.!h.w *i.&$.  *+N#F2. Ac)!k.6:i. !k.6J*q&=. !j.6:x!j. *j.&x N:j.=O!J.  !j.4Ÿ !j.6:k.!j. *j.&. N(!j.4  %% %*+:i.w#6*+:h.DIAGNOSTICSECTORDIAGNOSTICSECTORDIAGNOSTICSECTORDIAGNOSTICSECTORDIAGNOSTICSECTORDIAGNOSTICSECTORDIAGNOSTICSECTORDIAGNOSTICSECTORDIAGNOSTICSECTORDIAGNOSTICSECTORDIAGNOSTICSECTORDIAGNOSTICSECTORDIAGNOSTICSECTORDIAGNOSTICSECTORDIAGNOSTICSECTORDIAGNOSTICSECTOR"W,*-&V+Y,  "=,##"C,^#V"/,*=,^#V"1,!-6> !-*-&V+Y, ~x:-!-4W} xyʕ!̈́ !  ~ҥ=̈́ y<Oͅ <̈́ ͅ y @!-s+p+q+p+q>!-+̈́ *-DM;*-}O! ~/!w:-*-}O! :2*.M!.6> !.i*.Mͱ*3,~/*5,:.H*A,:/Hb ̈́ !.4(*.M*.M %ɀo !u~ –6+4×4*v "v.é.*5,n!r+s+q+p++yqO}!qq#w>2:q͸'':=2}   y #!p.r+s+q+p+q!u.6>!u.ڎ !v.60*l.*n.&7+"q.X+l.+"s.> ͩ+k !v.67:v.s.+>#O*o. s*q."l.!u.43 !u.6>!u. *u.&*o.~0» *u.&*o.6 þ !u.4“ !w."+!6##q#p!6#6$>2y. 1a E  !.r+s+p+q+p+q+p    +q!".+".>!.+7 "̈́ *.PIP CMD;h)".t 3.+t !} *5,N ͓%2.*...ͩ>.+:."/H!.һ } >!. *...S :.O! ^#V} *...S *...ͩ*..4*.Mͱ!.6*A,:/w:.J:.G ̈́ É:.l:/^ ̈́ !"!6+6*&#*G,q#p*M,*s#r*5,N*A,N:.O:.=O! N͓%2.%:.!.5~?̈́ *S,*s#rV%*=,q#pV%*C,q#p:.!.*5,N*.Mͱ!"!6*M~#> *. 6*.n&V+   *. w•*.N!a ~2.o *. 6Õ:.O! ~Ҍ *. 6Õ *. 6!.6#6#6@*.~.*.#".!.6 @*. ~>*.DMv%*.>/!.> *.~.H~:H>>*.~A/>Z/H!.6*I,6*=,^#V" /DM4%*Q,* /N#Fq#p*=,^#V*.DMͧ:.Ҁ!.6*C,^#V" /DM4%*Q,* /N#Fq#pÛ*/,##^#V".*C,+N#F^#V͢*Q,*.s#r*E,6*?,+".*M,*O,ͽ+/!/*G,*?,Ϳ+".!.+*.".*//Ϳ+".!.+*.".*/.+s#r*.".:.8 *.DM > !".*.M0 %:._ *.*.s#r*+##*.DM;# *...ͩ:.ʎ } >.++s#r*.*.".*.DM*. *.*.*.DM.ͩ..ͽ+ } *...ͩ  p É !.r+s+p+q>.+/>?++/H*.,*s#r*&#*G,q#p:.k:.!./#wc*5,N͎#"*S,*s#r!6e *.Mͱ :.Җ*C,N#F4%*S,*C,^#VN#Fͧ*5,~!.6> !.*.&V+Y, ~*5,*.&V+Y,   ̈́ !.4§*5,~> !.6>!.!.4> >.~0/>9/HH~a/>z/HH!.:.~ w*.N)*.&*.w*.#".:.w!.6!.4@!.r+s+p+q*.DM*.\o&".ʧ*.M̈́  *. ~*.N!a ~w!.q*.*/ ͓%?̈́ :̈́ !.p+q*.DM.>!.̈́ *.Mͱ.+2 /*?,++s#r*/" /: /J*=,^#V" /*E,n&)*/,*U,N#Fq#p*U,>+®:/Ҁ* /DM4%ë: /ҏ* /DM4%*I,6*C,*E,^N#F$*U,q#p*W,~Ҿ! /6:/! /*U,N#F* /͢: /Z*W,6:/*?,.Ϳ+*?,N#F*1, */ w*?,N#F+q#p*/#"/+>@ͩ+/H. ..ͽ+@ *."..3+*.+++Hd } !. ~#m *5,N͋ E E ͓%ͱͶ ͢UͶ ͧ%*U,N#F*=,^#V!.r+s+p+q+p+q>!.++N#F!.qͶ+Ḧ́ *+!.6#6#6>!.ڄ*.&. ~X:.2.*.&. 6Ä}:.*.&. ~H}:.2.!.4*:.V%*.&.) q#p! *.&.) q#p*.&. 6*.& 6:.2.*.&.) ^#V".*;,+N#Fq#p*.6 ~*. q#p}*. 6*3,6:.0F1F2F!.r+s+p+q*.DM.*.DM!.:.F ̈́ .%2..%^ ̈́ :.m ̈́ *.Me  %ͱ*9,~ʜ*;,^#V!}~œ#w#ẅ́ ??  0 *7,~*M,*O,N#Fq#p*G,*?,N#Fq#pW*K,6*?,.Ϳ+W*/*?,N#F*1, w*?,N#F+q#p*/#"/$~:/n*U,N#F* /ͧ*?,q#p*/ "/È _)2.*5,N! :.*5,N! Oc)!/r+s+p+q+p+q+q*/>w#6*/Mͱ*7,>̈́ *5,~ͅ*5,> */*/*/*/DMq*//Ϳ+M*5,.DM.*.& ~2.E!.:.Ë́ :.P>:.[>R2.Oͱ*7,:.w*9,6>.+ʸ*.}*9,w*9,n&V+Y,  ~:.HҸ̈́ *5,:.wO>ڙ!.6 .%2.:. !.6> !. *.Mͱ*3,~*A,:/*5,:.H ̈́ !3F4F5FISOSIVOV1I1ORTRH1R2RPTPH1P2PPL1LBBICOC!.r+s+p+q!.6> !.ڇ*.&*.6!.4k*.~ š*.#".Ç*.~:#*.6*. ~:ʸ>*.#".*.N)2.*.#".*.N)2.*.##".!.6>!.*.&V+ .Ϳ+*.:.w!.4*.#̈́ *G,*?,Ϳ+*O,*M,Ϳ+H+Ϳ+Hp*O,*M,N#Fq#p*?,*G,N#Fq#p!/s+p+q+p+q+p+q+q*//ͽ+ҁ*M,*O,ͽ+/!/*?,*G,Ϳ+Hҿ*?,+¬*?,>w#6*W,w*O,N#F+q#p*E,4*E,~}¬*/,##>+P*5,N͎#".*/,##*.s#rN! ~1͸(*/w8ͩ)*/w*/#"/*/N#F+q#p *.Mc)!/r+s+p+q+q*/Mͱ*7,>{̈́ *5,~…ͅ>/+:*5,N! N!! ^#V!"/*/*/*//q)*/N(8) !/6>!/!/48) ͸( ͸( )*/N))*/    N)) */+"/*/#"/È*.Mc)!#/r+s+p+q+p+q+q!(/6*/&V+Y,  ^#V"$/~ ~2)/*$/ ~2'/:'/*/*/PYͩ:+/¸:/³} !*/6!&/6}*$/ 6*5,~:*/H>!*/~ֺH!)/6#̓:*/*$/wO̓!*/6 !&/6:*P]UPF$Px]U P P]U PvW]Uv]U4 P4P1]U PP"]U PP]UPv]UPv3]UPv3]U>3u]Ê3ˀ`:u]ðPP3]UPv3]{{TXَэ&PUVN]0102821100654321:q2/O! ~.'} !q:/B':q2/Ou*/&' ~2/O !"/:s!/+گ'>!ts'>} ͞:r‰'*vDM Ñ'*vDM:yʟ'>͆*/"/Y':/<>!/6'!/6 :/':q2/!"/:s!/+ڱ(>O!t(>} :t2/2/>!u.(:>v PP0므>t!%s>+,t>+ t PP>+,t@%>u>u>u>r> w s PP>t">u">"'w P"u> uPz %sP7UPP]UP*2/͙+*4/#~_#+":/*4/>++*2/>++͓+ "8/!ͬ+p *:/#":/8/++s#r:0/¦ !0/6*G,^#V"8/*M,N#F `i":/Ͷ+¦ !":/"8/:0/5!*O,:/w+8/͇+>ͩ+ *:/#":/ !"8/!0/6*O,:/ͽ+ !0/6*O,:/Ϳ++s#r2!*O,:/Ϳ+!*O,:/ͽ+":/2!"R/{J$ *Q,N#F q#p#6$*R/^#V*5,N͎#{=<_7$~#=n$/^!/wy2M/s#*=,^#V"N/*"P/|$DM*M/*N/ͱ*N/##^#V"*P/r+sc$¿$Ï$e#0 >$y_!U/+$y2M/s#c$+w#w#%e#]ð]UPP%PPPPPP>3u PP#]UtP,Њ"s3>3u PP"-"."/"0"1"2P93PPPH]U#s%!+/6:)/=!+/B*+/&*$/N͝!+/4"!)/6#̓:)/<2)/O*$/ 6 x:)/~ ̓x$̓x:/°:%-2+/: .2%-:+/2 .^̓E̓!(/6oEUn:)/zxÆ*"/>w#6*"/ /ͽ+:'//Hc:)/zV*)/&*$/*"/N#F*/ !":/*?,8/ͽ+2!!0/6|!:0/F!*8/m+"8/*?,8/+#+"8/!8/+|!*:/#":/8/++s#rX!*?,*8/s#r:0/2>/Қ! >!:/+"*W,6*:/+":/:>/N"!"6/*E,~|K"*/,##^#V"ͩ+)"*5,N͎#*/,##q#p`i"5w`P s PPO>+=t >+_tMPX> u?>t52 sP\P$P]@(5-P >u%> uPP#P! w *)/&*$/~HD!'/6!)/6*"/N#F+q#p!)/4`!'/6!)/6~*$/ :)/w*$/ :'/w!'/6!)/6!-/q*9,N-/U*/Mͱ!./q:./ >~!./Hһ!./6~*./M̓ ̓ ̓*K,~*U,*=,^#VN#Fͧ*K,6*I,~ *Q,*C,^#VN#Fͧ*I,6*?,q#p*E,6UPP3]UPvo]UPv_3]UPvL3]UPv93]UPv&3]UPP]UPv3]U PP]U PFP]U6]U6]U6]U!Pv]U"Pv]UU]UF]Ð{.츀P5PPw>5t@("s P|&=0r -PP(s "PI5rO1TRHRR1R2TPHPP1P2LPL1BBCICO!/r+s+p+q*/6:*/~O!) */# w*/~O!) */## w*/ 6:*/"/!/6>!/ڱ**/& */*/wʪ**/#"/!/4€**/ ~**/6.*/#"/!/6>!/+*/& */*/w**/#"/!/4**/6 i`N#Fog    _og_{ozg_ogDM!>))덑o|gP+ =>+DM!>))e+ =]+YP뗕o>gi`N#Fog_og^#V) “+^#V|g}o +_{ozgO{ozgi`N#Fogo&og_{_z#W#H+  iU. PP*u;r"s>t 67PP* PP$ sCs **> t@ss2<u]ðPPis&s 6]às 6u]6:Pd' &'sP3t PP͠rP;sjP;t@c7ɯd8u8ͬ8}9~8:G8:G 96ͧ7͍@͇9d96G7667}9~8!I:Hu8w>8:CS92HO9A:CS::HO08͍@͇9*C+"Cf: !H> w":d8u8!"C (&7!Hd8u8),q: 'ʆ:w# y ұ:A:xBq8B''''P66>u :P  P ]U젾s~ tg)sD~ t>>t"<u<:r  P>tP)~ uv~ u)]U~ar ~zwf_F]U~Ar ~ZwN F]UCLIe 6 > , CLI V1.0ABOOT.CSD JOBX:VO: :CI: :CO: :VI: :SI: :I1: 6666REENTER FILE NAME => JOBA.CSD =|/g}/o#!9@!"">2C 7o&)6N#F!I=*C}57y'<6ͧ7*GMGͧ76ͧ7͵=C2[7Y7@&?]U,0< w]à,A<v PP,A ]UP]UPY ]UPY ]U>t PP>t PP]UtP4 P>3u PPpP>3t}PsUsL>3Yu--:VI: :VO: T . ERROR(. USER PC D 6.w@"$]À>+t@]U>:t#>us]ðPP6>u"s&>:u@P>u@Y"sWXM:P66}k>t ZRt PP. v?PFPp-;rF6:ӈ ]U~ u>uva28r(*>t  P/~ u]U~t@"s F0P]UFPF$P]U8t@ DRIVE+A. STATUS= hw. ISIS.CLI . . . ?/[H/}K//4T/C/ /bø(é)())8)_)c)h)p]à]U>tȢ<u/ ])>tƊ6]<u]Â>t%6Is맂>t6s ]]]UFFƊ6u 6:u]U+s;?델P-6:P:P+ƣP]U;rƋP5P>3ta>3t PP:t >uPUТ& "s PP$6]Áj]U~ r>t:wgs PFP>A266G! I=>288@:C§<08667'<:<7 @*C}̒7B82͒7Z8*C}<*C~ <>=d8u80=:=O*C~ y:!7'<} +I= _ d=l=#[=>    a{ BAD FILENAMENO SUCH FILE==== =y=ê== ͧ7͍@!=;!C 6 >>>%?x?C?K?b?x? ?:C*CC~*C>}++"00CI= :C0>:CS0>*0}8> '<0"I>+26?T@O!=;!G>y >@>@?t>*0}x>@< w(Ê t< u.P6u]U?P>3t33$@PPPs ]ư]U:u :u6]U젶:5r ]à6]U+< t]U>+ t]YQUG% + ,@P>3Nu@Y"sP"P3р>3YtPP]&&P+PPPPP" -" ." /" 0 " 1" 2 PsP]U-:P:X%9!X6#6V!Z W"W"W!Z"X:Xҧ9:Xҡ9!W6Dê9?:WY9K7mX"͓VUv!ZYs+p+q*XY*XYDMmXUV> mX4Wy:>mX4W::X:>>> mX4W:*mXDM*XYsJ:ZY%:>*XY*XYDM`L*XY WDMmX͓V6mX͓VXmXkX1V*XM]U Pdh\P >3u@ P; r@Y"s  ؀>3u>u P\Ps]á @ 3$@PPPPPPrQY s: s&s>uPW#]UʸB%«B%B ʸB0ڱB:ұB0BDM o&I=GOX`B w#`B6%# ëBB8i&D"00ͧ7͍@? + tİPP뾀>+St>+Qu1+<t@P>+ t@Y r+9+,0< v#+,0< w ݠC *0}>@+"0??ڢ?DM#~?ґ?/@D>*I+"I9@ 9@?h??Һ?6 #6 0*0##I=>2!w#w#w#{z+*00*I? B8!0~W@##~ ,@O @??9@!@>~ J   E@G@C~T@*I~#†@v@֋P:t@Y"rȀ>uG%^<[u]Àu]À>+[uc^>,u],>+.u- +PDs>, r]À>+*u P{QӀ>+[uG%G ]]U> wF:uu]U,sR!&"$s#Ps*%s]á&"$sE5 ss 6+%"s]à!s ]U3PhPP*3u$]À>3u>3u%u뷰PPCIr7*CI6~ʆ@#"I6ͧ7  !@:I4ʴ@##yG#~GM@O*I+"Ix =@*I"I*IS@2A!+A ʦ@ 6A6A A A  A> O *I+>M@~N*H"I@!_@"I!I"I62I<2I:Io&)}A~#foS@@wA>,#s>, u+G$>wƇup,6+js#>,r]À>+*uPw+Ѐ>+:t>,u<G,A<v]6+s>+[uqG% ]>,t]> wi<-s)>@r]á]á;r]Us1-/!X =!oX6>!oX = *X *oX&6 ~=pX OmXU*mXDMpXsJ!oX4<:X&=6mX ͓V7=6mX͓V|:6mX͓V}=:X^=*iX"eX}=*X ~}=!X4!    u<v PP'G$v+]*oX&&Y ~?~*HZH *Z ~?HHA6mX͓VU!oX4‚@:Y2^Y022Y!Y6:X!XwAiI*^Y=YI:XD>!^Y/:X!XH=BX0YmX V*mXDM0YsJ!X6:XhD>d!W?WID>!^YxB*XY*X*XMU*eXDM`LDMG#DMG"eX%E!W"eX*eX~ E*eX~?~*HE 7mX(͓VU*eX#"eXÏEWG"eX*X 6!X6:XEiIiXeX'W9G!aY6*eX*XDMWL*eXOsJ*X>DF*eXDM92aY>!YHDF!X6:aYڼF *X  &Y2J*X :Ww͛=2XښCKSUM$FILE NOT FOUND$START NOT FOUND$QUIT NOT FOUND$INVALID HEX DIGIT$CLOSE FILE$UNEXPECTED END OF HEX FILE$INVALID SEPARATOR$NO DIRECTORY SPACE$INVALID FORMAT WITH SPARCE FILE$ =.:;,<> _[]OUTPRNLSTAXOCONAXIINPNULEOFERROR: $ -> *X >چ>*X 6*X 6*X>ڸ>*XYmXYoV*mXDMpXsJ>kX4W>W4WH'?*X*\Y*WmXkX1V*mXDMpXsJkXW'W+s#r*X kXVs#r*kX*\Y"\Yø>*X~~HI?*XDMmXU*XDMmXU*mXDMpXsJ>Y4W>G2XÎB*X# 62J *X 6:X¬B!X6>!YҩB!X6FD:X/ *X ~~!XZ{+HHHFD *X :W!WFD *X :W!WFD *X :W!WFD*X:^Yw*X 6*X :Ww *X :&YwO>ڴC!oX6> !oXڱC*oX&&Y *oX& *XEOZau!<Na (1/8/82) CP/M-86 PIP VERS 1.1 DISK READ$DISK WRITE$VERIFY$INVALID DESTINATION$INVALID SOURCE$USER ABORTED$BAD PARAMETER$INVALID USER NUMBER$INVALID FORMAT$HEX RECORD CHEJ ,!7Zr+s+p+q>4Z4WJ:XҕJiI*6ZDMG"6ZqJ8Z͓V*6Z*6ZDM`L*6Z WDM8Z͓VrJ8Z͓V*4ZDMPTU!>Zs+p+q+p+q!>Z5#6:>Z!?Z2K*?Z&*:Z*?Z&*!?Z4K>!@Zq:@ZaEK:@Z>z!@ZRK:@Z:@ZF0F1F2F3F4F5SISOVIVOI1OY4WH:X/Hғ?*Y"SY*Y"UY>W4W?!Y W*Y"Y*Y!V*X V"Y*X 6>!"Y"Y*X 6*X *X V"X>!X6!_Y6#6!X6WWYLOW͚H*gXW&YLo&"mX>mX4WU@*mX*gXDM͚H:'Y}@!oX6> !oX}@*oX&YMiI>!eY~G*eYiYI*cY iYJҙG:eY02iYFGgY͓ViYgY͓V^GgY͓VmG!uYp+q*tY~ G*tY#"tYG*tY!}Yr+s+p+q+p+q+p+q!"Y*zY))))"~Y*vYYY~YoV!Y6:YғH*vY*|YYY1V*xYDM*|YO/2Y*zY#"zY*|Y~1TRHRR1R2TPHPP1P2LPL1BBCICO!DZr+s+p+q*CZ6:*AZ~O!XK *CZ# w*AZ~O!YK *CZ## w*CZ 6:*CZ"CZ!EZ6>!EZ L*EZ& *AZ*CZwL*CZ#"CZ!EZ4K*AZ ~$L*CZ6.*CZ#"CZ!EZ6>!EZZL*EZ& *AZ*CZwSL*CZ#"CZ!EZ4)L*CZ6 !GZp+q*FZ~:/:X!XHҚD*XDMmXU*mXDM0YsJ:XD:XҫD:;!X6:X!XD=Y*^YM`G*W"W!Z"XA:`YDW sJ:XDiI!bY6WG"eX*gXW&YLO*gXDM͚HiXeX'W҉E*eXWYLO*eXDM͚HY &YJpE6mX&͓V>Y4WHҐH!"zY!Y65H*zY} ,!Ys+p+q+p+q>Y4WI*YDMG"YHY͓V*Y*YDM`L*Y WDMY͓VHY͓V*YDMPT:YIU!Yp+q*Y~ 8I*YN5K*Yw*Y#"YISYSTEMSOURCEOUTPUTLOAD DISKETTE, THEN TYPE (CR)!Yq $$$$DESTINATION IS R/O, DELETE (Y/N)?$**NOT DELETED**$COPYING -$REQUIRES CP/M-86$CP/M-86 PIP VERSION 1.1$BBCICO!\Zr+s+p+q+p+q*[Z6!L"aZ!eZ6> !eZ2M*eZ&*YZ6!eZ4M*WZ~ EM*WZ#"WZ2M*WZ"]Z~:M*YZ6*WZ ~:fM>*WZ#"WZ*W    ZN5K2_Z*WZ#"WZ*WZN5K2`Z*WZ##"WZ!eZ6:eZ1M*aZ_Z)W³M:eZ*YZw!eZ44*aZ##"aZÕM*YZ~M>!cZ6!eZ6:eZGN͖O@N*WZN5K*eZ&*YZw*WZ~*&N:eZ#N*[Z6*eZ&*YZ6*!eZ4N4N*WZ~?4N*[Z6*WZ#"WZ!cZ6!eZ4M*WZ~.N*WZ#"WZ!eZ6:eZ N͖OҾN*WZNLLEGAL ISIS COMMANDATTEMPTED SEEK ON NON-DISK FILEATTEMPTED BACK SEEK TOO FARCAN'T RESCANILLEGAL ACCESS MODE TO OPENMISSING FILENAMEILLEGAL ECHO FILEILLEGAL ATTRIBUTE IDENTIFIERILLEGAL SEEK COMMANDMISSING EXTENSIONCAN'T SEEK ON WRITE ON w*tZ*vZ&V"tZ!{Z4FU!{Z6*{Z&*xZ~0:zZ=O:{ZHU*{Z&*xZ:wZw!{Z4ÎU!Zr+s+p+q+p+q+p+q|Z @!Zr+s+p+qZ@!Z"ZZ @`o!Zr+s+p+q+p+q+p+q+p+qZ@!Zr+s+p+q+p+q+p+q+p+qZ@!Zr+s+p+q+p+qZ@ 5K*eZ&*YZw*WZ~*©N:eZ ҦN*[Z6*eZ&*YZ6*!eZ4ÆN÷N*WZ~?·N*[Z6*WZ#"WZ!eZ4\N*YZ ~T*YZ ~MH *YZ ~PHO *YZ 6AKWO *YZ 6B*YZ>/!cZ%O>!dZ6WZ]Z'WUO*]Z:dZ<2dZO!HZ w*]Z#"]Z*O*dZ&HZ ~.gO>*dZ&IZLY FILE CAN'T DELETE OPEN FILE#SEEK PAST EOFILLEGAL TRACK ADDRESSUNRECOGNIZED SWITCHUNRECOGNIZED DELIMITERINVALID SYNTAXPREMATURE EOFILLEGAL DISKETTE LABELCHECKSUM ERRORRELO FILE!Zr+s+p+q+p+q+p+q+p+qZ@!Zr+s+p+q+p+q+p+qZ@> !Z+p+qO@i`N#Fog_ogDM!>))덑o|gV =VDM!>))W =W^#V|g}o W_{ozgi`N#Fogo&og_{_z#W h0Y:FX:ISIS.DIR OY:XO:/DIRN6(C) INTEL CORP 1981FOR TO 1FP!FP6#6#6!bP6#6#6!\P6+6!^P6+6!_P6!YP6fPMPKPN*KPfP 6 fPBfPA"`P!"IP}2OP!ZP6> !ZP&7*ZP&OP 6*!ZP4 7*`P~ 8*`P6zGҰ7:cP<2cPY7*`PDM͌A*`P###DMA"`P*`P_PO 6 ͖O*WZ~.H~:HғO>>*WZ~A/>Z/H~0/>9/HH~?H~*H~a/>z/HH!iZr+s+p+q!jZ6> !jZSP*jZ&*fZ~?P*jZ&*hZ~P>LP*jZ&*fZ~*LP*jZ&*fZ*jZ&*hZ LP>!jZ4O>ILLEGAL AFTN ARGUMENT SEQUENCE ERRORINSUFFICIENT MEMORYRECORD TOO LONGILLEGAL RELO RECORDFIXUP BOUNDS ERRORILLEGAL SUBMIT PARAMETERARGUMENT TOO LONGTOO MANY PARAMETERSOBJECT RECORD TOO SHORTILLEGAL RECORD FORMATPHASE ERROR !lZp+q>kZ4WU!"pZpZZ:FX:ISIS.LAB0ZZm7RPWHO*`PDM͌A>!OPґ7ͮF:_Pڝ7![P6*`PDMGDMA"`P86*`PDMzG8:bP<2bP7*`PDM͌A*`P##DMA"`PIP*`PMPͺN*MP*`PDM͌A*`PDM;ADMA"`P8*`P~0/>5/H@8*`P~02YP8*`P~IQ8![P68*`P~Fb8!\P68*`P~Ps8!dP6INCORRECTLY SPECIFIED FILEUNRECOGNIZED DEVICE NAMEATTEMPT TO WRITE TO INPUT DEVICEATTEMPT TO READ FROM OUTPUT DEVICE DISK DIRECTORY FULL NOT ON SAME DISK FILE ALREADY EXISTS FILE IS ALREADY OPEN NO SUCH FILEWRITE PROTECTEDNOT A DISK FILEI,WU*pZVP ~kZ4W*pZ ~HT*pZ#"pZMTrZ͓V*pZVP ~T*pZVP rZ͓V*pZ#"pZñTNTrZ͓VU*pZVP ~ U*pZ#"pZT*pZ#"pZhT*kZDMͲV0123456789ABCDEF!zZs+p+q+q+q+p+q!{Z6:zZ!{ZډU*tZ*vZ&VU !{Z:zZO*xZ 8*`P~O„8!]P68*`P~Z•8!^P68*`P~J¦8!FP68*`P~K·8!GP6 8*`P~L8!HP6@8*`P~$8*`PDM͌A*`P#DMA"`P&7:YP8:OP2YP!OP6:dP 9[B*YP*IP*\P*[P*]P*^POP*FP*GPM*HP&p9:dPF9[BͥNv DIRECTORY OF ..     !ZQs+q+q+p+q+q+q+q+q+q+q!0"Q!"Q!"Q*PQ&a ~9!"Q!P"Q! "Q:PQ02P2P2Q[QP]QͺN*]QDMPL:PQ2kQ*[QlQ ]Q_QN*QQ&M9]Q OzQkQͼMzQ;A!zQ͝O!Qs*QQ&zQ*QM]QO*QQ&K9]QO*[QDM]Q͒NpQKÎ=*eQ   kQK*QQ&kQ]Q O *Q ~:Q/Hv>!Q6>!Q=*Q&kQ 6 !Q4¿= *Q >=!lQ6W *Q >>!mQ6S *Q ~>!nQ6I *Q >'>!oQ6J *Q > ;>!pQ6K *Q >@O>!qQ6L *Q >c>!rQ6F*QQ&kQ]Q/HH҆A*Q#"QAA*Q ,!Qs+p+q+p+q>QͱOB*QDMA"QAQO*Q*QDMG*Q͝ODMQOAQO*QDMͮF:QBͥN!Qp+q*Q~ *B*QNgM*Qw*Q#"Q BSYSTEMSOURCEOUTPUTLOAD DISKETTE, THEN TYPE (CR)!Qq=B)ROD DELIMITERINVALID SYNTAXPREMATURE EOFILLEGAL DISKETTE LABELCHECKSUM ERRORRELO FILE SEQUENCE ERRORINSUFFICIENT MEMORYRECORD TOO LONGILLEGAL RELO RECORDFIXUP BOUNDS ERRORILLEGAL SUBMIT PARAMETERARGUMENT TOO LONGTOO MANY PARAMETERSO:UQz:>?:RQ::TQҮ:*QQ&.Q]Q O*QQ&Z9]QO*QQ&.Q]Q"O[QQ]QͺN!"iQ!Q6ʹN!͝O"Q!"QQQͤO>@*Q~ʾ>*Q~ڱ>:TQ#;:Q/2Q!Q6>!Q\;*Q& *Q~U;*Q& *Q6 !Q4(;!Q6 :RQ҅;:Q=O!O!Q6 :QҘ>*QQ&K9]QOñ>*QQ&a9!Q>O]QO*Q"Q;:*[QDM]Q͒N:Q>*QQ&K9]QO:RQ>?:TQ>!Q6#?!Q6*iQ  *QRK*QQ&R*QM]QO*QQ&K9]QO[QP]QͺN*[QR*Q]Q_QN*QR*Q&͆O+B )ROBB)ROQ)R-RNILLEGAL AFTN ARGUMENTINCORRECTLY SPECIFIED FILEUNRECOGNIZED DEVICE NAMEATTEMPT TO WRITE TO INPUT DEVICEATTEMPT TO READ FROM OUTPUT DEVICE DISK DIRECTORY FULL NOT ON SAME DISKBJECT RECORD TOO SHORTILLEGAL RECORD FORMATPHASE ERROR !0Rp+q>/RͱOyG!"4R4RͩOqG*4RB ~/RͱO*4R ~HPG*4R#"4RF6RO*4RB ~;G*4RB 6RO*4R#"4RGF6ROnG*4RB ~gG*4R#"4RPG*4R#"4R *Q~ …;!Q5h;:RQ/>!QHҠ;!Q6æ;:Q2Q*QQ&*Q#*QM]QO:RQ<>!Q<*QQ&^9]QO*QQ&*Q :QO]QO!Q4{>*Q ~ #<*QQ&_9]QO*QQ&*Q ]QO*Q ~ Z<*QQ&`9]QO *Q ^#V"aQ>͚O҈<rLQʹO"gQ*PQ&a ~Ҕ?*gQ"gQ*gQ  QK*Q QK*QQ& Q]Q!O*QQM]Q͒N!Qp+q*Q*eQ"eQ'͝O @*eQ!'gO*cQ"cQ*eQiO"eQ!R"QQQͤOA*[Q*Q]Q_QN!Q6>!Q@*Q~@ *Q :SQ/*Q*VQDMBK/Ht@*Q6 FILE ALREADY EXISTS FILE IS ALREADY OPEN NO SUCH FILEWRITE PROTECTEDNOT A DISK FILEILLEGAL ISIS COMMANDATTEMPTED SEEK ON NON-DISK FILEATTEMPTED BACK SEEK TOO FARCAN'T RESCANILLEGAL ACCESS MODE TO OPENMISSING FILENAMEILLEGAL ECHO FILEF*/RDMBO!!=R4G>!?Rp+q*>R~:~.H~*H~?H~0/>9/HH~A/>Z/HH!H*>R#">RG*>RF0F1F2F3F4F5SISOVIVOI1O1TRHRR1R2TPHPP1P2LPL1BBCICO!TRr+s+p+q+p+q*SR6!%Hy*aQ!zgO*aQ"aQÎPO>͚Oʲ<!gQ^O"gQ*gQ*iQ"iQ*gQ  kQK*QQ&kQ]QO *Q ^#V"aQ!"eQ"cQ}!aQͼO;=*aQ+"aQ *Q N`i"eQ>aQͱO;=>aQͱO+s#r?=*aQ͆ODM?>cQͱO|=*cQ  kQK*eQ 0@:_Pڕ@*Q"QRQͩO 6@ *Q :XQ!XQ#H#H@@*Q6@*Q~@*Q"Q!R"Q*Q"Q!Q4:@*Q"QQʹOA*Q"Q@*Q6!R"Q!Qp+q*Q~ 7A*Q#"Q$A*Q!Qp+q*Q~:~.H~0/>9/HH~A/>ZILLEGAL ATTRIBUTE IDENTIFIERILLEGAL SEEK COMMANDMISSING EXTENSIONCAN'T SEEK ON WRITE ONLY FILE CAN'T DELETE OPEN FILE#SEEK PAST EOFILLEGAL TRACK ADDRESSUNRECOGNIZED SWITCHUNRECOGNIZE"YR!]R6> !]RڔH*]R&*QR6!]R4xH*OR~ §H*OR#"ORÔH*OR"UR~:1I*QR6*OR ~:H>*OR#"OR*ORNgM2WR*OR#"OR*ORNgM2XR*OR##"OR!]R6:]R1%I*YRWRͦOI:]R*QRw!]R44*YR##"YRH*QR~1I>![R6!]R6:]RҩIJҢI*ORNgM*]R&*QRw*OR~*ˆI:]R҅I*SR    6*]R&*QR6*!]R4eIÖI*OR~?–I*SR6*OR#"OR![R6!]R4;I*OR~.'J*OR#"OR!]R6:]R 'JJ J*ORNgM*]R&*QRw*OR~* J:]R J*SR6*]R&*QR6*!]R4IJ*OR~?J*SR6*OR#"OR!]R4þI*QR ~T*QR ~MH *QR ~PHtJ *QR 6AOtJ *QwM:}R>z!}R҄M:}R:}RF0F1F2F3F4F5SISOVIVOI1O1TRHRR1R2TPHPP1P2LPL1BBCICO!Rr+s+p+q*R6:*~R~O!M *R# w*~R~O!M *R## w*R 6:*R"R!R6>!R=N*R& *~R*Rw6N*R#"R!R4 N*~R ~VN*R6.*R#"R!R6>!RڌN*R& *~    6BA6B A 96B A 96BA!XC6>!XC)::XC02]C*XC&a >02fCYCBA*XC&a ~:6BA":6B A!XC4½96BAͣA!mCp+q*lC~ W:*lC#"lCD:*lC!oCp+q*nC~:~R 6B*QR>/![R҇J>!\R6ORURͤOҷJ*UR:\R<2\RO!@R w*UR#"URÌJ*\R&@R ~.J>*\R&AR 6 J*OR~.H~:HJ>>*OR~A/>Z/H~0/>9/HH~?H~*H~a/>z/HH!aRr+s+p+q!bR6> !bRڵK*bR&*^R~?€K*bR&R*RwʅN*R#"R!R4[N*R6 !Rr+s+p+qR@!R"RR @`o!Rr+s+p+q+p+q+p+q+p+qR@!Rr+s+p+q+p+q+p+q+p+qR@!Rr+s+p+q+p+q+p+qR@@!Rr+s+p+q+p+qR!AO*!O> !R+p+qO@_{ozg_ogDM!>) ASSIGN) 6(C) INTEL CORP 1981 LOGICAL PHYSICAL :F0: :F1: :F2: :F3: :F4: :F5: :CI: :CO: BUBBLE :CI: TO :CO: :CI: :CI: :CO: 1BBBBͲA*BB 6 B&;*B6ͬ:B>:"GCDM[:DM>:"CC*GC~ ~H.H~0/>9/HH~A/>Z/HHҦ:*nC#"nCa:*nC ,!tCs+p+q+p+q>pCpB%;*rCDM>:"rC:uCA*rC*rCDM|@*rCRBDMuCA:uCA*pCDMͰ?:tC%;ͣA!xCp+q*wC~ J;*wCN͓;*wCw*wC#"wC,;!}Cs+p+q+p+q!}C5#6:}C!~Cڐ;*~*`R~}K>îK*bR&*^R~*ʮK*bR&*^R*bR&*`R ʮK>!bR4QK>0123456789ABCDEF!iRs+p+q+q+q+p+q!jR6:iR!jR%L*cR*eR&gOK !jR:iRO*gR w*cR*eR&gO"cR!jR4K!jR6*jR&*gR~0:iR=O:jRHaL*jR&*gR:fRw!jR4*L)덑o|gҀO =nODM!>))ҕO =O_{ozgi`N#Fogo&og_{_z#W dnP:F :ISIS.FRE :F :ISIS.LAB :F :ISIS.DIR XXXXX FREE / YYYYY TOTAL BLOCKS NAME .EXT BLKS LENGTH ATTR ,RR6$t7j96*CCDMK;ڔ7*CCDMͬ:!iC6*CC###DM>:"CC*CCDM[:DM>:"EC*EC~ ~H7*ECDMͬ:6*GCDMK;7!iC6N87*GCDMK;8!iC6N8!XC6>!XCN8*XC&;B6 *GCDMK;G8!iC6:XC2gC!XC48*iCM!8 ^#V*GCDMͬ:C&*yC*~C&*{C ʉ;>!~C4a;>!Cq:Caң;:C>z!CҰ;:C:CILLEGAL AFTN ARGUMENTINCORRECTLY SPECIFIED FILEUNRECOGNIZED DEVICE NAMEATTEMPT TO WRITE TO INPUT DEVICEATTEMPT TO READ FROM OUTPUT DEVICE DISK DIRECTORY FULL NOT ON SAME !nRr+s+p+q!"oR*mR+"uR!"sRuRsRͤOL*sR*kR>2qR*sR*kR~2rR*qR&bL ^*oRo& ^"oR*sR"sRҏL*oR)) ,!zRr+s+p+q>wRͱOfM:dPM[B*yRDMA"yRL{RO*yR*yRDMG*yR͝ODM{ROL{RO*wRDMͮFͥN!}Rq:}Ra97*CCDMB͉A*B*CCDMͬ:9*CCB 7͉A*B*CCDMͬ:9!hC6!XC6>!XC8*CC:XC08:XC2hC!XC4·8:hC8*CCDMͬ:*gC&a :hCw9^8o888j9v!jCq!kC6>!kC09*kC&IC 6 !kC49*jCMICAIC[:"CC*CC6 *CC#6 IC*CC##\BDMBADISK FILE ALREADY EXISTS FILE IS ALREADY OPEN NO SUCH FILEWRITE PROTECTEDNOT A DISK FILEILLEGAL ISIS COMMANDATTEMPTED SEEK ON NON-DISK FILEATTEMPTED BACK SEEK TOO FARCAN'T RESCANILLEGAL ACCESS MODE TO OPENMISSING FILENAMEILLEGAL ECHO F    ILEILLEGAL ATTRIBUTE IDENTIFIERILLEGAL SEEK COMMANDMISSING EXTENSIONCAN'T SEEK ON WRITE ONLY FILE CAN'T DELETE OPEN FILE#SEEK PAST EOFILLEGAL TRACK ADDRESSUNRECOGNIZED SWITCHUNRECOH҈A*C&*C:Cw!C4QA!Cr+s+p+q+p+qC@!C"CC @!Cr+s+p+q+p+q+p+q+p+qC@!Cr+s+p+q!C"CC @!Cr+s+p+q+p+q+p+qC@> !C+p+qO@DM!>))덑o|g5B =#BDM!>))JB =BB_{ozgO{ozgi`N#Fo      GNIZED DELIMITERINVALID SYNTAXPREMATURE EOFILLEGAL DISKETTE LABELCHECKSUM ERRORRELO FILE SEQUENCE ERRORINSUFFICIENT MEMORYRECORD TOO LONGILLEGAL RELO RECORDFIXUP BOUNDS ERRORILLEGAL SUBMIT PARAMETERARGUMENT TOO LONGTOO MANY PARAMETEgo&og0YC :FX: XCC7 ATTACH96(C) INTEL CORP 1981MULTI-MODULE ROW MUST BE 0 OR 1 MODULE NOT AVAILABLE BUBBLE PRESENT, CANNOT ATTACH 1q8q8887ͪ7*8&q8 ~28!84ͪ7:81:80H*8&q8 ~ HW768!87:80O8'8>8D8 ATTRIB(6(C) INTEL CORP 1981, MODIFY ATTRIBUTES? , ATTRIBUTES MODIFIED  @ FILE CURRENT ATTRIBUTES WSIJKLF 1IIII͓H*II 6 IC=I͸;"I!J6 *I#s#r*IIJp?o&"I*I*IDM<*IDM>DM͸;"I:JRSOBJECT RECORD TOO SHORTILLEGAL RECORD FORMATPHASE ERROR !Cp+q>CpB{@!"CChBs@*C; ~CpB*C ~HR@*C#"C?CA*C; ~=@*C; CA*C#"C@?CAp@*C; ~i@*C#"CR@*C#t77><8D8”7688å76887v*8&q8 ~ *8++:8:8H7!84ê7!8"88 @!9r+s+p+q+p+q+p+q+p+q8@! 9r+s+p+q+p+q+p+q9@!9r+s+p+q 9@_{ozgo&og862J02UJ!J66I&HJSJIoH!J6*I"J:Jҳ;!J6>!J7*J&'IJ  6!J4¸7*JJ*JMoJ$<2J:yJ2J>!Jڠ;!J6*J"I:J2oJ`JoJ>*IDM͸;"I*I~ 79*I~$F8*I#DM͸;"I!"I!J6>!J9*I*J&'IJ "C?*CDMB!Cp+q*C~:~.H~*H~?H~0/>9/HH~A/>Z/HH@*C#"CÂ@*C0123456789ABCDEF!Cs+p+q+q+q+p+q!C6:C!CLA*C*C&B@ !C:CO*C w*C*C&B"C!C4 A!C6*C&*C~0:C=O:C *J&'IJ ^h=*IDM;*I>I*J&'IJ ~EIH9*J&'IJ  6!"I}!J9:J8*J&'IJ  69:J=o&'IJ  6!J4Q8*I*IDM<*IDM;DM͸;"I(8*I*IDMIDMIH6IHKII͓H*KMͰ=Y ;!J6>!Js:*J&'IJ  ~l:`J*J&'IJ  N*J&'IJ  NIAH*I`J<*J&'IJ  N!6 :J2J!J  ~l:*J&'IJ  N!6 :J2J!p+q+p+q!K5#6:K!Kڭ=*K&*K*K&*K ʦ=>!K4~=>!Kq:Ka=:K>z!K=:K:KF0F1F2F3F4F5SISOVIVOI1O1TRHRR1R2TPHPP1P2LPL1BBCICO!Kr+s+p+q*K6:*K~O!= *K# w*K~O!= *K## w*K 6:*K"K!K6>!Kچ>*K& *KҍA *.K 6AgIʍA *.K 6B*.K>/!8KҠA>!9K6,K2KOIA*2K:9K<29KO!K w*2K#"2KåA*9K&K ~.A>*9K&K 6 B*,K~.H~:HB>>*,K~A/>Z/H~0/>9/HH~?H~*H~a/>z/HH!>Kr+s+p+q!?K6> !UNRECOGNIZED SWITCHUNRECOGNIZED DELIMITERINVALID SYNTAXPREMATURE EOFILLEGAL DISKETTE LABELCHECKSUM ERRORRELO FILE SEQUENCE ERRORINSUFFICIENT MEMORYRECORD TOO LONGILLEGAL RELO RECORDFIXUP BOUNDS ERRORILLEGAL SUBMIT PARAMETERARGUMENT J4¶96IH`J;!`J>I!Js`J*JMIH!J6!J>#:6IH!J4¯::J:6IH:J;6IH:J#;6IH:J>;6IH:J Y;6IH:J@t;6*Kw>*K#"K!K4U>*K ~ʟ>*K6.*K#"K!K6>!K>*K& *K*Kw>*K#"K!K4¤>*K6 !Kp+q*K~:~.H~*H~?H~0/>9/HH~A/>Z/HH:?*K#"K>*KF0F1F2F3F4F5SISOVIVOI1O1TRHRR1R2TPHPP1P2LPL1BBC?KB*?K&*;K~?™B*?K&*=K~–B>B*?K&*;K~*B*?K&*;K*?K&*=K B>!?K4jB>ILLEGAL AFTN ARGUMENTINCORRECTLY SPECIFIED FILEUNRECOGNIZED DEVICE NAMEATTEMPT TO WRITE TO INPUT DEVICEATTEMPT TO READ FROM OUTPUT DEVICE DISK DTOO LONGTOO MANY PARAMETERSOBJECT RECORD TOO SHORTILLEGAL RECORD FORMATPHASE ERROR !AKp+q>@K\IʖG!"EKEKTIҎG*EKB ~@K\I*EK ~HmG*EK#"EKFGKH*EKB ~XG*EKB GKH*EK#"EK,GFGKHËGIH:Jʏ;6IH6IH*J&*JDM<ë7`Hv!Jp+q*J~ ;*J#"Jþ;*J!Jp+q*J~:~.H~0/>9/HH~A/>Z/HH <*J#"J;*J!Jr+s+p+q+p+q+p+q!"J*J))))"J*JJKJͷH!K6:K<*ICO!1Kr+s+p+q+p+q*0K6!>?"6K!:K6> !:Kڭ?*:K&*.K6!:K4‘?*,K~ ?*,K#",Kí?*,K"2K~:J@*.K6*,K ~:?>*,K#",K*,KNͰ=24K*,K#",K*,KNͰ=25K*,K##",K!:K6::K1>@*6K4KQI.@::K*.Kw!:K44*6K##"6K@*.K~J@>!8K6!:K6::K@Bһ@*,KNͰ=*:KIRECTORY FULL NOT ON SAME DISK FILE ALREADY EXISTS FILE IS ALREADY OPEN NO SUCH FILEWRITE PROTECTEDNOT A DISK FILEILLEGAL ISIS COMMANDATTEMPTED SEEK ON NON-DISK FILEATTEMPTED BACK SEEK TOO FARCAN'T RESCANILLEGAL ACCESS MODE TO OPENMISSI*EKB ~ʄG*EK#"EKmG*EK#"EKF*@KDMH0123456789ABCDEF!OKs+p+q+q+q+p+q!PK6:OK!PKH*IK*KK&IG !PK:OKO*MK w*IK*KK&I"IK!PK4G!PK6*PK&*MK~0:OK=O:PKH@H*PK&*MK:LKw!PK4 H!XKr+s+p+q+p+q+p+qQK @!YK"YKYK @J*JKK͓H*JDM*J[B/2K*J#"J*J~>K\IHҿK\IB=*KDM͸;"K< KH*K*KDM>*K>IDM KH< KH*KDMF: KB=`H!Kp+q* K~ g=* KNͰ=* Kw* K#" KI=!Ks+&*.Kw*,K~*¡@::KҞ@*0K6*:K&*.K6*!:K4~@ï@*,K~?¯@*0K6*,K#",K!8K6!:K4T@*,K~.@A*,K#",K!:K6::K @AB9A*,KNͰ=*:K&*.Kw*,K~*$A::K !A*0K6*:K&*.K6*!:K4A2A*,K~?2A*0K6*,K#",K!:K4@*.K ~T*.K ~MH *.K ~PHNG FILENAMEILLEGAL ECHO FILEILLEGAL ATTRIBUTE IDENTIFIERILLEGAL SEEK COMMANDMISSING EXTENSIONCAN'T SEEK ON WRITE ONLY FILE CAN'T DELETE OPEN FILE#SEEK PAST EOFILLEGAL TRACK ADDRESS!dKr+s+p+q+p+q+p+q+p+q[K@!nKr+s+p+q+p+q+p+q+p+qeK@!xKr+s+p+q+p+q+p+q+p+qoK@!Kr+s+p+q+p+q+p+qyK@> !K+p+qO@DM!>))덑o|g!I =IDM!>))6I =.I_{ozgO{ozgi`N#Fogo&og     SJ:FX:ISIS.DIR ^JQ W0W1I0I1F0F1S0S1J0J1K0K1L0L1"KKX6 }ͺx{2ͺ}g(8'DA/CM7ST?CM TA DA2TA :DA "HLD   " RIM0SIMNOP LXINDCIN DCMV DA !1S,ADADSUSBANXRORCMAASھҾw6_#"{͕ i @ ͕qͨ! !r+ss"! w+>p+q+(͕͵d}o|g͵ ͕}2fͺxNgͺ ͕~ͨr͕ !N=#~/O#^#V#N#ʱ#¦ DEBUG(C) INTEL CORP 1981V1.0!"@x*~ͨ#" ͼ @!wz#ͼ wILLEGAL FILE NO SUCH FILE PDS DEBUGGER V1.0 ! 9!D @N #D>01SAXOCI NZNCPPPM POP PUSHPSRST ǰϱײ߳JMP RECALL OUT IN XTHPCHXCHSPHDE vHLT@MO ¸øĸŸ ȸ(̸0͸8,~ͺs s#ÿ!3  ### d͂s }|᯶x dN=͂ABCDEFHLMPSƐ'@'O    -=>#^#F#ͺú Ң•͋#|7{z|ͺ!D2>2<>2=>2!" >2ͼ #go"x ͕{!͋͵_F!"2!x2ͺx #F!#x#}#~҆*w#":<2ó#V",@;̻i!4;@:,*"͵#1#  2i. ͕!# AʏC DEFGH8ISMkNOʟQ|SʻTX͕!#ʦ### —F#^#V͕=}UU   !G))))o͕x0 ͕ , 7?! 9~+F! :x=:! 9+r+s> xVyzĺ{#ͺ:G!N#>DB>xü> = ͕*{! >2 ͕"*}ʅ+"!*!!o:uyy}}yy%%***^#V#͕͕## ¹͕ OCRPL?SCB1SC12 SC1 20SC@L1͕.d-}U_,}͵!"d}R2>͟:>d~ͺ~ͬͨl}R|E>x|͟m_>!Nʖ#Å+ͨ*d_*          * IDMf@É96 I Hu8*IDM IyG:Iڬ9 *IDMD;*I~ 9:I9<͟G*I~,9*I#DM3:"I9*I4Aæ7v!Iq:IA/>Z!I/H~0/>9/HH~?H~*H~,H!Ip+q*I~ L:*I#"I9:*I!Ip+q*I~:~.H~0CTEDNOT A DISK FILEILLEGAL ISIS COMMANDATTEMPTED SEEK ON NON-DISK FILEATTEMPTED BACK SEEK TOO FARCAN'T RESCANILLEGAL ACCESS MODE TO OPENMISSING FILENAMEILLEGAL ECHO FILEILLEGAL ATTRIBUTE IDENTIFIERILLEGAL SEEK COMMANDMISSING EXTENSIONH*J*JDMB*J}HDMJH3AJH*JDMf@͟G!Jq:JaҾA:J>z!JA:J:JF0F1F2F3F4F5SISOVIVOI1O1TRHRR1R2TPHPP1P2LPL1BBCICO!Jr+s+p+q*J6:*J~O!A *J# w*J~O!A *J## w*J 6:*J"J!J6>!JڄB*J& *J* DELETE;"6(C) INTEL CORP 1981, DELETE? :CI: , DELETED 1 II I IG* II 6 * I+!IsI;;* I6D;I3:"I!I6*I&I N9/>!IH7!I56*I&I ~P:I=o& ~ HҚ7!I5>!I*I&I N9/Hk7!I5G7*/>9/HH~A/>Z/HHқ:*I#"IV:*I!Ir+s+p+q+p+q+p+q!"I*I))))"I*IIIIG!I6:I=;*I*IIIG*IDM*IYF/2I*I#"I*I~>I͑HH:;!"I!I6:*I} ,!Is+p+q+p+q>I͑Hʽ;*IDM3:"ICAN'T SEEK ON WRITE ONLY FILE CAN'T DELETE OPEN FILE#SEEK PAST EOFILLEGAL TRACK ADDRESSUNRECOGNIZED SWITCHUNRECOGNIZED DELIMITERINVALID SYNTAXPREMATURE EOFILLEGAL DISKETTE LABELCJw}B*J#"J!J4SB*J ~ʝB*J6.*J#"J!J6>!JB*J& *J*JwB*J#"J!J4¢B*J6 !Jp+q*J~:~.H~*H~?H~0/>9/HH~A/>Z/HH8C*J#"JB*JF0F1F2F3F4F5SISOVIVOI1O1TRHRR1R2TPHPP1P2LPL1BBCICI&I ~,:IHښ7!I6*I&I 6 :IҦ7zHHf8!I6*IDMP:DM3:"Ip8*IB;IH*I*IDMB*I}HDMIHC;IH*IDMf@:Iҽ;͟G!Ip+q*I~ ;*INͮA*Iw*I#"I;SYSTEMSOURCEOUTPUTLOAD DISKETTE, THEN TYPE (CR)!Iq;sJH*I&fH; sJH;sJHIsJwJGHECKSUM ERRORRELO FILE SEQUENCE ERRORINSUFFICIENT MEMORYRECORD TOO LONGILLEGAL RELO RECORDFIXUP BOUNDS ERRORILLEGAL SUBMIT PARAMETERARGUMENT TOO LONGTOO MANY PARAMETERSOBJECT RECORD TOO SHORTILLEGAL RECORD FORMATPHASE ERROR !zJp+q>O!Jr+s+p+q+p+q*J6! !JګC*J&*J6!J4C*J~ ¾C*J#"JëC*J"J~:HD*J6*J ~:C>*J#"J*JNͮA2J*J#"J*JNͮA2J*J##"J!J6:J1!J6!J6:JDFҹD*JNͮA*J&4A!I6:IҌ9*II*IMI͟:2I>!Iډ9!I6:I2IIIBIP:!I}H"I!J6Y:I96 IHI*IDM IH6 I HJ I IG*JMͮAY‰96 IHI*IDM IH6 IH II͌G> I͑Hx9ILLEGAL AFTN ARGUMENTINCORRECTLY SPECIFIED FILEUNRECOGNIZED DEVICE NAMEATTEMPT TO WRITE TO INPUT DEVICEATTEMPT TO READ FROM OUTPUT DEVICE DISK DIRECTORY FULL NOT ON SAME DISK FILE ALREADY EXISTS FILE IS ALREADY OPEN NO SUCH FILEWRITE PROTEyJ͑H1A!"~J~J͉H)A*~Jl< ~yJ͑H*~J ~HA*~J#"~Jc@JH*~Jl< ~@*~Jl< JH*~J#"~J@d@JH&A*~Jl< ~A*~J#"~JA*~J#"~J~@*yJDM9H ,!Jr+s+p+q>J͑HʭA:IVA<*JDM3:"J2AJ*Jw*J~*ŸD:JҜD*J6*J&*J6*!J4|DíD*J~?­D*J6*J#"J!J6!J4RD*J~.>E*J#"J!J6:J >EF7E*JNͮA*J&*Jw*J~*"E:J E*J6*J&*J6*!J4D0E*J~?0E*J6*J#"J!J4D*J ~T*J ~MH *J ~PH    E *J 6A͜HʋE *J 6B*J>/!JҞE>!J6JJ̈́HE*J:J<2JO!J w*J#"JãE*J&J ~.E>*J&J 6 F*J~.H~:H F>>*J~A/>Z/H~0/>9/HH~?H~*H~a/>z/HH!Jr+s+p+q!J6> !J Mp+q!M;D"@E+^#V))))>mD">E ED<9*9E&E0F*J&*J~*F*J&*J*J&*J F>!J4hF>0123456789ABCDEF!Js+p+q+q+q+p+q!J6:J!J87k768ͺ7͇HELPv6(C) INTEL CORP 1981VER 1.0HCNOTATIONlKEYBOARDDEVICESWILDCARDASM800ASSIGNtATTACHATTRIBCOPYDELETEDETACH2DIRhENDJOBsIDISKJOBOBJHEXHEXOBJLIBGLINKkLOCATERENAMESERIALSUBMIT,?9@l3DE*EM*EW9DMɯ d'!Mr+s+p+q+p+q!M6*M>w#6*Mw*M~ :*M#"M:*M~0/>9/H:MH!;*M*M&M w!M4*M#"M:>!M3;*M6*M!M6>!M҄;!M5N!M ~0*M&:) ^#Vo&͖D*MdD+s#r:Jw!J4AG!Jr+s+p+qJ@!Jr+s+p+qJ@!J"JJ @!Jr+s+p+q+p+q+p+q+p+qJ@!Jr+s+p+q+p+q+p+q+p+qJ@!Jr+s+p+q+p+q+p+q+p+qJ@!Jr+s+p+q+p+q+p+qJ@> !J+p+qO@DM!>))덑o|g`H =NHDM!>7v*8&8 ~ †7!84p7!8"88 @!8r+s+p+q+p+q+p+q+p+q8@!8r+s+p+q+p+q+p+q8@!8r+s+p+q8@o&ogr8 6/}#.FUNCTIONESC+DEBUGEILLEGAL ERROR NUMBER No HELP available 16EFE/Hm8*BEFE !DEDHb87BED9*BE6 DML͑:8*BE++6 *BE+ ^NW9DMn9ͥC*BE6 ^*BE###"BE87MDB!"MMDҳB*M; ~MD*M ~HҒB*M#"MAM3D*M MBMM3DAM3D*M; ~}B*M; M                                                              to CRT) '@' (display file on CRT) '?' (return CLI version) ESC (line reedit) ************************ DEFINITIONS ************************ DEVICES FUNCTION KEYS KEYBOARD CONTROLS NOTATIOLE CAN'T DELETE OPEN FILE!ILLEGAL SYSTEM CALL PARAMETER"BAD RETURN SWITCH ARGUMENT TO LOAD#SEEK PAST EOFILLEGAL TRACK ADDRESS?FILE OPEN FOR WRITE OR UPDATE BY OTHER PROCESSORUNRECOGNIZED 3D*M#"MQBAM3DðB*M; ~ʩB*M#"MÒB*M#"MAAM3D0123456789ABCDEF!Ms+p+q+q+q+p+q!M6:M!M2C*M*M&wDB !M:MO*M w*M*M&wD"M!M4B!M6*M&*M~0:M=O:MHnC*M&*M:Mw!M47C"COPYRIGHT 1981 INTEL CORPORATION Help is available for the following commands, definitions, and errors. Type HELP followed by the command name, the definition word, or the error number. ************************ ISIS-PDS COMMANDS *N WILDCARD CHARACTERS NOTATION The following notation is used in the HELP displays. UPPERCASE Must be entered as shown Variable information. [ ] Optional field. {aSWITCHUNRECOGNIZED DELIMITERINVALID SYNTAXPREMATURE EOFILLEGAL DISKETTE LABELNO END STATEMENTCHECKSUM ERRORRELO FILE SEQUENCE ERRORINSUFFICIENT MEMORYRECORD TOO LONGILLEGAL RELO RECORDFIXUP BOUNDS ERRORILLEGAL SUBMIT PARAMETERARGU!Mq:MaC:M>z!MҌC:M:M!Mr+s+p+qM@!M"MM @!Mr+s+p+q+p+q+p+q+p+qM@!Mr+s+p+q+p+q+p+q+p+qM@!Mr+s+p+qM @!Mr+s+p+q+p+q+p+q+p+qM@!Mr+s+p+q+p+q+p+qM@> !M+p+qO@_og_*********************** ASM80 ASSIGN ATTACH ATTRIB COPY DEBUG DELETE DETACH DIR ENDJOB HEXOBJ IDISK JOB LIB LIN | b} One and only one entry must be selected. Alternate entries are separated by the vertical bar |. Files are specified as follows: :Fn: . where :Fn: is the logical MENT TOO LONGTOO MANY PARAMETERSOBJECT RECORD TOO SHORTILLEGAL RECORD FORMATPHASE ERRORNO END-OF-FILESEGMENT OVERFLOWUNRECOGNIZED RECORDBAD FIXUP RECORD POINTERILLEGAL RECORD SEQUENCECOMMAND REQUIRES '('DUPLICATE SYMBOL FOUNDFILE AL{ozgDM!>))덑o|gҐD =~DDM!>))ҥD =D_{ozg^#V) ¸D^#V|g}o Di`N#Fogo&og_{_z#WɃ8ExBEmpM:F0:PDS.HLP NOT AVAILABLE rMM7K LOCATE OBJHEX RENAME SERIAL SUBMIT ************************ SPECIAL FUNCTIONS *********************** '/' (assign console input) '.' (quick single line submit) '#' (assign output device designation, is 1 to 6 characters and is 1 to 3 characters. ::; abbreviated KEYBOARD CONTROLS To enter a control key, type the characte    r while holding down the CTRL key. RUBOUT Deletes the previous character entered. CTRL-P Allows literal entry of control characters. CTRL-R Redisplays current input line as modified. CNTL-X Aborts current :CO: Console Output any of the following: 0 thru 3 Disk Drives 4 and 5 Bubble Drives :SO: Serial output :SI: Serial  in that position. The commands that allow wildcard characters are: ATTRIB COPY (To Transfer), ie. non-appending form of the command. DELETE DIR 1ASM80 Assemble an 8080/8085 assembly source file 7ASSIGN Assigns a logical device to a physical device ASSIGN [ TO ] ASSIGN can map a logical drive to a physical drive, the console input device (:CI:) to any physical input device input line. CTRL-Z Enters end-of-file. RETURN (Carriage Return) terminates command input and submits line as a command. ESC Re-edit previous command line or current line. CTRL-E Sinput :LP: Line printer :VI: Video input (keyboard) :VO: Video output (CRT screen display) :BB: Byte bucket :I1: User defined input ASM80 Specifies a file of 8080/8085 source code A list of control words for controlling compilation and listing. If no controls are specifie, or the console output device to any physical output device. See HELP DEVICES for a complete list of logical and physical devices. The default logical to physical mapping is: Logical witches console input from a SUBMIT or JOB file. CTRL-Q Resumes console display. CTRL-S Stops console display. CTRL-B Alternate Escape character. DEVICES There are both logical and physical devices in ISIS device :O1: User defined output device :L1: User defined list device 7WILDCARD CHARACTERS The wildcard characters (* and ?) can appear in a filename with the following meanings. The chart bd the defaults are: OBJECT(.OBJ) NODEBUG PRINT(.LST) LIST SYMBOLS NOMACROFILE COND  Physical floppy boot bubble boot :CI: :VI: :VI: :CO: :VO: :VO: :F0: 0 . Physical devices are mapped to logical devices with the ASSIGN command (see HELP ASSIGN). :: where can be: :F0: thru :F5: Logical Drives :CI: Console Input elow lists the commands that allow wildcard characters. * In a filename specifies a match to any characters and any number of characters in that position. ? In a filename specifies a match to any single character  PAGING GEN PAGELENGTH(66) NOXREF PAGEWIDTH(120) NOMACRODEBUG See the 8080/8085 MACRO ASSEMBLER OPERATOR'S MANUAL for more information  4 :F1: 1 0 :F2: 2 1 :F3: 3 2 :F4: 4 3       :F5: 5 5 ATTACH Assigns multimodule row to the processor running the command ATTACH 0 to attach row 1 (connectors J1 and J2 onDefined New value for attribute can be: 0 to reset; 1 to set. Q Prompt before processing. qCOPY Transferring files COPY TO [{S | N}] [{B | U}] [Jrive COPY. Q Prompt before processing. COPY Appending files COPY ,[,. . .,] TO [B | U] [C] [P] thru Specifies the input files. ] [FOR ] [] [ I | J | K | L | F | O | P | Z ] TO Device to receive directory listing. FOR  the multimodule adapter board). 1 to attach row 2 (connectors J3 and J4 on the multimodule adapter board). ATTRIB Displays and modifies attributes] [K] [L] [C] [P] [Q] Pathname of input file, the file being copied. Pathname of output file. S Copy only system files (with S attribute). N Copy only non-system files (without S o> Specifies the output file. ODELETE Removes files from the disk DELETE [,, . . . ,] [P] [Q] thru Pathname(s) for the disk file(s) to be r Scope of the directory listing. Logical device from which files are listed. I All files, including those with the invisible attribute I, are listed. J Only files with User Defined of disk files. ATTRIB [] [Q] Attributes are displayed or modified for this file. Attribute to be modified can be: W Write Protect r F attribute). B No prompt if destination exists. Delete existing file; copy source to newly created destination. U Same as B except existing file is not deleted first. J Copy onlemoved. P Single drive DELETE. Requests disks as needed. Q Prompt before processing. DETACH Releases multimodule row from processor running the command DETACH  attribute J included. K Only files with User Defined attribute K included. L Only files with User Defined attribute L included. F Fast listing; only filenames and extensions. O Single S System F Format I Invisible J User Defined K User Defined L User y files with User Defined attribute J. K Copy only files with User Defined attribute K. L Copy only files with User Defined attribute L. C Copy the source file's attributes. P Single d 0 to release row 1 (connectors J1 and J2 on the multimodule adapter board). 1 to release row 2 (connectors J3 and J4 on the mult column listing. P Single drive directory. Z Only summary line is listed. ENDJOB Terminates a file used as console input ENDJOB [] User defined remark     s; for example, the job filename. IDISK Initializes a disk or bubble memory for ISIS-PDS use IDISK :F:[.] [P] [S] :F: Specifies the device name of the disk or bubble d are written to . An ENDJOB command is appended to the last command. Commands are then executed from . CTRL-Z Returns to standard input mode and deletes any  code in hexadecimal format Specifies file to contain absolute object module START(address) Specifies the starting address for the absolute object me LIST [(modname1,...)] [TO ] [PUBLICS] List the module directory of the library file. PUBLICS specifies that public names in each  memory being initialized. . Specifies the volume name and extension of the device being initialized. Uses same format as . P Single drive IDISK. S Icommands already entered. ESC As the first character after the = prompt, causes the commands to be saved in , but does not execute from the file. 4OBJHEX Convert an absolodule OLIB Create and modify program libraries LIB LIB prompts with an asterisk (*). At that point, the following commands may be entered: CREATE  module are to be listed See the ISIS-II USER'S GUIDE for more information 4LINK Combine several object modules into one output file LINK [(modname1,...)] TO [PUBLICS(] Specifies the file to save the commands entered in batch mode. After entering the JOB commaute object module to hexadecimal format OBJHEX TO File containing absolute object file File to contain hexadecimal object code withou Specifies the name to be assigned to a new library file ADD [(,...)] TO Add object modules in to the <.)] [MAP] [NAME()] [PRINT()] specifies a file of object modules or a library of object modules. MAP specifies that a link map is to be produded nd, type any command at the keyboard. To return to interactive entry, type any of the following keys. RETURN As the first character after the = prompt, all commands enteret the symbol table HEXOBJ Convert hexadecimal code to absolute object code HEXOBJ TO [START(address)] Specifies file containing machine object libfile>. If is a library file, then all modules specified will be added. DELETE Delete the specified module from th NAME specifies a name for the output module PRINT specifies the file to contain the link map See the ISIS-II USER'S GUIDE for more information LOCATE Take a relocatable object module and produce an object       module with absolute (fixed) locations LOCATE [TO ] [] File containing relocatable object code Specifies file to contain absolute object code P= Parity. The value of can be E for even parity, O for odd parity, N for no parity. W= Word size. The value of can be 5 for a 5-bit word size, 6 for a 6-bit word size, 7 for a 7- Baud rate. The value of can be 110, 150, 300, 600, 1200, 2400, 4800, 9600, or 19200. A mode only. .SUBMIT Executes commands from a disk file SUBMIT [(,,. . ., [4] 4 tab If omitted defaults to without extension See the ISIS-II USER'S GUIDE for more information TRENAME Changes the filename or extension of a disk file RENAMEbit word size, 8 for an 8-bit word size. E= External synchronization. The value of can be 0 for internal or 1 for external. S mode only. C= Number of synchronization charactameter 9>)] Pathname of the file containing commands to be submitted. thru Values (up to 31 characters each) assigned to s expanded to 4 spaces, default is 8. After entering command, the following keyboard commands can be used: P Page mode (Display file 20 lines at a time). S Slow scroll mode (Display file continuously  TO Specifies the old name of the file to be renamed. Specifies the new name of the file to be renamed. NOTE: The filenames must specifiy the same devicers. The value of can be 0 for double synchronization character or 1 for single synchronization character. S mode only. I= Instruction for the 8251 USART. The value of  formal parameters in the command file. Each formal parameter appears in the form % where is a digit from 0 to 9. Then, the first value on scrolling at a slow speed). F Fast scroll mode (Display file continuously scrolling at a fast speed). E Exit back to the operating system. L Line-by-line mode (Display file one. pSERIAL Configures the Serial I/O port SERIAL {S|A} [P= W= E= C= I= S= B=] S Synchronous mode of data transfer. A Asynchronous mode of data transfer.  is the code for the 8251 instruction. S= Number of stop bits. The value of can be 1 for one stop bit, 1.5 for one and a half stop bits, 2 for two stop bits. A mode only. B=  the command line replaces all occurrences of %0 in the file, the second value replaces all occurrences of %1, and so on up to %9. ? Displays the current version of the Command Linee line at a time). B Back up 1K bytes and continue. Z Print the last 1K bytes of the file. CTRL-S Alternately pause and continue display. / Assigns a file or device to the console input device.       Short-hand version of: ASSIGN :CI: TO / Specifies the file or device to be used for console input. # Re-assigns console output to the CRT not generate an intermediate work file and only submits the first line of a file for execution after parameter substitution. Therefore, it is much quicker than SUBMIT. "FUNCTION KEYS FUNC- Pressing tplay size of the bottom half of the CRT screen in a dual processing system. FUNC- Decreases by one line the display size of the bottom half of the CRT screen in a dual processing system. g the program to be loaded and debugged with its parameter list. The following commands can be entered: ::= A= ::= C,.CSD. 's value is from 0 to 9. FUNC-R Pressing the 'FUNC' key and 'R' will cause a software ESC Re-edit previous command line or current command line and re-execute. ESC After entering command, the following keyboard commands can be used: ESC Execute entire line RETURN Executeount> ::= D, ::= E ::= F,, ::= G[,[,]] [(,. . .,)] Specifies the file containing the commands to be be submitted. thru Valu reset. If running under DEBUG, it will cause a break in user program execution. FUNC-S Toggles the display rate of the CRT. FUNC-T Toggles the keyboard between upper and lower case.  line up to current cursor position <-- Move cursor left --> Move cursor right CTRL-A Encloses characters to be inserted CTRL-B Move cursor to beginning of line CTRL-D Delete character adecimal Arithmetic> ::= H, ::= I ::= M,, ::= N ::= O,] Specifies the file containinta> ::= Q ::= S
. . . ::= T ::= X . . . ::= C|R|L     |P ::= C|S|L|B|1|2 ::= A|B|C|D|E|F|H|L|M|P|S |
::= <0|1|2|3|4|5|6|7|8|9|A|B|C|D|E|F>|                                                               :79"727 Oe:9xWyG>O \M : :X! ͲU! ͲK%z":>0Oe:=:M:yO \:0Oe: yy:~>!2e::e:2z:>2e::z:2e:ɺ:; / ]@;yK;;l;;;;;;;;:;[??DM͈>!d?*8:R7w?=K\>tH=͂Iy>:;Ҏ?:c7Ҙ??7K;ڧ?\!R76*[7~ ¸?ra:T7?!7F?I7[7?:Z7?GAKP>!T76GPP>ͷO!T76!R76O@:7@F>*Y7t{DM"A!T76*K;"7!76I2b7:b7 CREDIT36(C)1979,1980,1982 INTEL CORP^F^ABCDH EJKJ6  SM7qR7jW7f_7_ d7\ ;*BAZ7/717:F :CRED;;;;;;;;;;;;;;;;;;;;;;;; <<;l<;;;!=Ea=a= @= = 2==a=a=0==IN USEBUFFER FULLDOESN'T EXISTALREADY EXM@:b7[@ KͅJ@:#8=n@@*#8M!@ ^#V*6MK@?@lS@R@ͰR@͵S@?P@.P@kP@?]@~@@@@@@@@@@]@@?RM_LAK!R76PP>!64# @G!7A*Y7!!AYH_L!:7_~*~#N#F#"7 ")8.A=y _T1.TMP :F :CREDT2.TMP :F :CREDT3.TMP 87r8:F :CREDIT.HLP -58B6C6L6O7Qd7S6T6W7X7V7za8BK6IG7WA39WC89WJ9AC7DL7IL 7CU6CD6CR6CL6CH6XA6XC6XD6XZ6XN6XP6XV6XF6XX7MU6MD6MR6ML6MHISTSFILE ACCESS ERRORILLEGAL NAMEIMPROPER OPERANDARGUMENT MISMATCHMISSING OPERANDWRITE PROTECTEDERROR: ILLEGAL VALUETERMINATOR EXPECTEDUNRECOGNIZED COMMAND1<ʹ\=6#B/2U7:c7!U7>@1@:7>>͉QX>7K;y > EAy :6:6y }A^>wA:R7y>y :R7>> >K:6GږAPڢA>P<*[7:Y7WKöAQ`i{AN#> AaA_ںA> A> A#*K7}|A"N7*[7! 7{#z#A++~+ng{_z B:FW BN#aA_Bk >#&B>*K;>;>ȆЗ>*F+6MB6ES6ER6EK6EL6/ 9`i:7Oy9z>!2P9?:j7͌9j7# l9Z9B9͵9,9+9+9~9+9!9#9 #\9~9\9+,9"7"7>T]o9AZЗ#—9 ‹9‹9y9>2~9!9"9!P9>!w96:~9§9>2~9:j7Aڭ9[ҭ9!9"9U>*͌Hhp͛m$>v~~7F~7F~7F~7I!76\>!9p+q!>*8:R7Ҩ>*9DMK>tH=9*9DM9(!K;>*K;~ >8r9nK; > \I#͌Hy>=͈>O=͈>=͈>a=͈>=͈>=͈>n=͈>=~͎|29G?!;:9>?͗|͗|"38%?!O=*FÆB:R7!T7QB*[7}_|W]O>GÆBQB*F ]DM! 7#~#~ڊB+ßB r+s##^#V}|җB]]|W}_!=F~_#~W#~21F"F*GF}o,|"C!E%F##=ŒC]*F"F°C=6F{z*=FC=^#V*F{_zWC*=Fs#r+:?F*[7yoxg DDM*F DM *F}o|g"CF`i"EFBK!(D>ÂC=^#V*EF{zC{zC*CFs#r+57G:6^G6FNK6F:Y7=O3G*G*Z7&7) "38I7!38ڮGßG*38"38ҀGîG*38*K7s#rÏG:Z7ºGOG6F:6GAOG:Z7G͘KOGG*K7"7M:Z7HOG!G!Z74GAK!76!Y76:Z73H(!7#7a{*[7DMͲA*N7"I7!Z74~@HOG:Z7KHpG:6]K6F:Y7qK:6qKOG!Y7>PO3G:Z7ʗK*6Me::7җK6F!:q::O!K ^#V!Z75K!Z74K!Y74K!Y75KKKKKKK*:&6 DMF!:q::O!;L ^#V>!Z72:EL:Z72:EL:Y7P2:EL>!Y72:ELELLLL(L5L::DM*Y7ͲA:Z7<2:-N>!:ڰO*N7":DMͲA*:&7) :ʖO*:M_LOG-N*:&7) *:s#r!:4]O*N7"I7*Z7&7) N#F]ͥA*N7DM]ͷOAY7_LpG!P76*[7"!7͊`ANA"38*38|P*38DM"AO_LͷOP*!7DM]nMP*I7DM]ͷ~*F}|]!}D> ͂C!@FrDçEyw#xw#4=^#V*F{zC}o|g{_zWC*@Fs#r+:BF!DÀC>cED]*FyxD] DM  *F> #D DD"F*;F";F!=FrD!C̀CO>GQBEB*F*F{_zW ͆{!@EÀC=^#V rG!:q*:Me:!Y74>P2M7sH:7pH!G H>!T7ҋH:T72T7GM!:q:U7ҚH́FtH*:MEAH*:MLH:R7H::^H*:MLH:: H*Y7M͏A2:!:6::!:H*6MLH!:4H:: I:R7 I*6MLH:: (I:M7I!G H́F:R77I*6MLH^LH:: OI::@2TL*:M͘KF!7>!:s+q:7ʾL7F::2Y7::2Z7XLO::2:!:5:7ҧL::228::2::282::7!:Oe::7!:Oe::6L::!Y7LG!::Y7L͘KL::!Y7L ͘KL!::Z7 M͘KL::!Z7M͘K M:67M6FXL2Z7!Y76XLO_L!:q*[7"NnMP ͊`nMO ͭ`P!V76ͷOPPP:5FŽP ͊`ͭ` ͭ`:b7 šP>:b7 ¥P>!d7:b7¸PI2b7>*b7MEAPF>>%aa*Z7&7) *Fs#r!R"8G*Z7&7) N#F~pG*Z7&7) *K;s#rFK;:QK;F*K;DMͣI=QP!S76:V7ZQ+s!=F~##!`EÀC~w#~wtE{E|+#>V+^*F#r+s7!EE !F~w#~wE*FyxڻE*[7"[7E`i"FBK!E"E!EÀC {zE{_zW=^#V*F{zCs#r+:TI!:6#*:MLH!:qM*:Me::Y7P!7ҁI!Y74 ͘K!:p+q*:~ʢI*:N͌H*:#":ÈI!:r+s+p+q>!:I*:N͌H*:#":*:+":íI ͌H ͌H7K; JͳF*K;~2:8r7K;J\J@2:!6::J\?::!66>0!6ڂJ?J:626%JÂJ*6&6 "7>!:eM*N7DMͲA!:5KM*N7DM]!:q ͊`*:MIb*[7"N7]* F!N7کM*N7DMͲA!:5ÆM::<2:O>M::/!:"NMN'N*6M͌H!:5N!M76!P76*:DM~N7K;ҍN:Z7pN:GPP:S7ZQParaCQ͑N*[7 {QP[Q*[7 q#pAG:Z7»Q%a%a*[7"I7 ͌HM ͌H͉QNrPN%a%arP͑N:b7 Qarara*[7 q#pCQ͐Q*F:b7w[QN%arPMI2b7͏PRQ*[7:b7w*b7M͌H%aM:Y77RP[QR͏PGR*[7UNKNOWN CURSOR KEY!66:6ҀF!6:28€F\?:&8҉FҲF228¯F@228©FlFÝFlF!:q:U7F́F::<2:!:F́Fe:e:!:p+q!:6>!:G*:~F*:Ne:*:#":!:4F6F!Y76G e::T72T7!:q>!:NG*6Me:!::!.;":*:*: J::nJ>*:#":*:#":QJ1J>!.;"::b7w JڙJ>*:#":2;­JùJ*:6 JJ!#86!76:6J:6_!Ͳ!#8s!IF~27>I*:w JJSF͈>ÙJ!:qͅJK!::6K>>!:p+qAMOG*:DM͂I!76-----OG;K96!Y7O>PpN*K;N*Y7aA!Y7O>PpNÍN*K;~ |NÍNMڊN͎|O͌H5NM*[7DM~:Y72P7*Z7&7) K;N͎|*P7OaA!P7wßN ͊`*Z7&7) N#F*[7}{DM]:_7)O[7]7!)O]!O]!ͲBKͱ^]!DM1_*Z7&7) *[7s#r ͭ`*[7":*:~2: _HbRQ:b7 tR͑N|Q͐Q͑N:b7 ‚RM*:M*Y7aA*b7M*Y7aAH£RRP8RNrP_һRFhQPAN!S76:Z72:N::RGrP:Y7RF>>:b7SRSa*FN͇n:b7;SR:S*Z7&7) FDMan:b7 `Sa     *F  q#pCQIP͏PhS8RPI2b7K҂SRRoS*:M\I*:DM"A*:M\IͷOOҭS> *[7NLA!S"8*Y7":ͣS2:͑N ͊`@\II2b7ͅJrT:6TY7:S*:M\I*6MKͷOͣS2:@\IoT:6 lT*:M\IP:Y7LT͑N ͊` ͭ`*F" F*Y7"͢9UU*:Mc*7Mͫb:72W7҈W::7ͥ*]7DM}{DM]*:"7W!:p+q*G*FDM3|>!:W[7@;W]DM͐Eͱ^*F"@;U͎|O!|*:+":ÝWF@;DM͐EUDM͌W77*:& *:& DM͚EW=W:W7$XW=W:W7GX{:!+86͕hTDXW͇:*":77##*7DM*:͆{*:"7:$8}[=͈>::ڍ[*K;"7÷[*7#":*:*7DM*K;͆{*:*K;++"7'A[FY*7"7:$8[*7"7[ͻZp[:R7[*7"K;*7"7!76!:6*7#s#r"7"K;::Ҍ\*K;DMͱ~>;4\!:6É\7K;F\&=͈>*K;~F":ͨ^]*:DM}{":*FDM*:~:;2_7*Fͪ"F*;DMZE*:DM]]!Һ_]!Ͳzo&DMͱ^]!DM1_:_7_]DMͱ^]DM1__ͨ^_]DMͱ^7/8 `!7"/8!7"!8`!7"/8!7"!8~~*!8DMͽ~*/8DM~}C=F:T{!";F}2_7͔:*:DM"A FFDMaANoTrTuTFSNOT FOUND: :7‘T\ ~*K;~>©T!"7ͶlòT*K;~ ¹T*K;"77K;Tk\yÅT?͌H ͌H@2:TFT!6::T\?U*:M͌HI::Y*K;:d7U8r*7"K;DM~!":*K;:7JU*:#":U8r0U7"K;*K;:7hXU*K;N͌H8rNXȇK; „X!H"K;DMͱ~͎|2:!~"8>!7ңX&=͈>8͙~K?ȇ~iX::`Xͫ~::{XTX::}XiXXY::}Y::^X*:Me:Y*:M͌HôX{:T2X7͇::X7Y\y:X7*Y\y:W75Y\y:W7@Y\y2= †\io:7e\8r*K;"7Ã\@r@r*K;~&ʃ\*K;###"K;"7"7É\8r\*:"7*7"7!$86[[p[*7"7"K;!~"8*7DM͙~K?͓\ͫ~!("7"7"K;!~"8\:%8\*K;"7͓\ͫ~͛m\*K;"7!$86!("7͸[:b7)]*b7MAYͩz)]>:b727'A9]>\>ͷOI27!_NEW`͟^_"`*G]|ƒ`]!}`]͈>ͱ^E!:q*:&E) *Fs#r*:&%F 6!:q::½`L`*:&%F >O!a ^#VNE`͟^L`!a*:&E) N#FD!a:_7 a!:6 a͔_!a2=͈>!a```aý`]7[7Pa*[7*F w*F#"F*[7#"[7*K;#":*:*+8M!U ^#V*K;:7jY*K;:d7dY8rJ|MYU":'A~Y@=͈>*:*`7#FҖY^`~Y*7DM~*`7DM3|*7M!|*:DM0|MY*@;"`7*!|*7#"7:7*Y!"`76*'AYFY)8`7":#*7+++*)8DM͆{*7+++*: "`7!:q7@;*Z&=͈>*:M!|:$8?Z=͈>!:6::ڲ6S]\\~*K;~*ʛ]́F͎|O͌H͗|":>!:ҕ]͎|O͌H́F*:+":v]I]] WARNING: DISK FULLNOT ENOUGH MEMORYF[7]*F ]7!:p+qK7:]*]7":]7:^F:^F:e^[7:":[7;^*:*[7DM*F͆ZB:_7Xa͔_%aFFna>NEFFҝa*F+"F*[7+"[7*F*[7 wvBNEҥa ͊`ͭB ͭ` ͭ`ra]!aͱ^!:p+q*G*:DM͐Eͻa!:p+q*G*:DM͚E>:b>_b>%ara>*]7"GF*[7DM*:B":!:p+q*:":baEb:b!V͊`*7DM~*K;:7|V:7OtV=͈>*K;#":!89:72:!:6j73|V!76::2::7 V*K;:7V!:6*K;#":U*K;:89V!:4::V|O!|V*K;N!|8r!74âV*K;"7U!:s:74W:64WyT͂I::%W*89M͌H*7&j7ͣIIͭ`ͅTMV!U"9*:MZ*7~,\Z!:6èZ*7~)rZ!:6!$86èZ*7:d7¡Z*d7MZ*7#"7~)~,HҡZ@r*7NZ*7#"7DZ*7NZ*7DM3|)87[*7:d7ZͳZY*7~%Z*@;+"@;ͳZ[*7~%[2Z[ͳZYZZ*@;"K;!7(2[!:6!"7!:6(*7+++*7#{*:*F"F*:"[7*:DMZB:F":*::F+s#r:[7+s#r͆{*:DMvB*FDM]*]7DM]!:p+q*G]*:DM}{"::F*FDMt{":ͨ^*FDM*:~*:DMD*:DM]!V76]!_FFDMͱ^]7[7!_7!:p+q*G:_7H_!";*:p+q*:#":*:DM$C":>:nb_avb:;F҆bL`*;F#*:":L`*:DM.b!76!76!:q͠b*:&E) ^#V":*:&%F >O!|c ^#V ͊`*:Mͭ`!:6 òbÄcF:cF:*[7DM9&c:F*:DM9Äc*:&%F >mc:_7Jc!:6òb     [7]7*[7DM9:7dcͨ^͔_*còbÄc2=͈>Äcbb*csc͊`dҡc!:_/Hd%a*:+":c!:p+q>!:.d_a!dra*:+":d͊`*,8Mͫbͭ`*+8M!ddK?d!.8dրH}g8F~*!8DM8~K?üg8~K?*!8DMͽ~]";];¼g]*FDM~*FDM*;~Ôgd͂I!8"K;}g͎|O͌HgIpG]>*7DM8${!765g*+8M!5h ^#V:'8h*,8DMd!h*,8DMc;h*,8}Oͭ`;h%a;hh$h/hdLh*,8DMI0jvk*:DM*;C*:DM]*[7DM*;ͧE ͭ`@F:T{!LD"9i!D"9i0jҚk!~"9i!7r"9iITERATION ERROR BUFFER FULL, COMMAND TERMINATED. COMMAND IS:DELETEk͈>ͳ|l5t>,8l?Al*K;~!,l8r!",8Al*K;~<>l!",8Al>Hr*K;~<I2b7bo:b7 bon!b76 n@r:7yo*7"K;o*7"K;*K;~ ʞoy4Bқo8r*K;"7o:72;*K;;T{*K;##"K;k͂I9nIk͂ITo!("7o*K;"7*͌H*͌H!76:c7p*K;6*K;DM~*K;~ p8ron(K; FpͅJ]HFp!b76 n!b76 n:b7 ^#VͅcÌd/dÌd͊`Ib͊`!",8.bͫbͭ`ÌdQdWd]d:+8™d/d͊`dҰd*,8DMdød*,8DMcͫbͭ`BAKQUITEDITED TO >,8!'88~;z8~*FDMdcz*FDMF~*F8~!;q*;&%F > ͌H*e*e!;6>!;le*;~b*,8DM.b:l;d`h>!f"8*7DMQ~K?:;dʀh>!f"8*7DMu~K?!I"9Ad! ;r+s+p+q>! ;h* ;NJ: e::;<2;hI* ;+" ;* ;#" ;éh!;6!h"9͍d:;hÍF͊`_]|iL`ͭ`>!,8ҥi_]";*FDMi~K?*F";*; "GF*[Pl?>:7_lk:7pl*7"7Õl*7&7) *7s#r*7&7 :7w!76!748r*,8"7*7&7) *K;s#r:7lk7 l_l!"7l*7+"7>!7 m*7&7) ^#V"K;!76>m!758ry*7&7) ^#V"7*7&7 ~27:7>m!76:b7 Tm8r OpK; ap!;68rp!76!!;6!;6!76 !76!("7"7"K;:!;po8r:7®p*K;"7̈́?p:;p͟o!!;6pio:7p8rp@r@r*K;~&pop!!;6*K;#"7*K;"7Íp!("K;4s7rwJf7rfx=Wv\7rX&vWvg4s7rpv!;@f*K;~%fIIA͌HF͌H͎|O͌Hme!;4 fIIf7";*FDM*,8B",8;;oi!",8*;"[7;F";*;+s#r*;DMa;;DM:~iͭ`*,8}O!%F 6*,8}O͊`!~"9AdK? ͊`*18Mͭ`i7͙~Ad@~ ͭ`_]*FDMͱ~*;DM͐E*;DM9]>)jͫ~_i:+8jj*,8}O!%F >O!*K;~2b7?m:b7bm8r̈́?:b7 tm8r*K;";4Bm8rkҊmSl*K;~>—mͶl?!76*K;"7";7K; nͳFHr*K;"7~2b7ͅJm:72b7sm?mn%y*K;"7:;m*7M͌H!n*$;*7"K;ém!("7:7nk*K;:b7wO͌HK; 5nF8r*K;";In!vi&vHX4s7rvi4s7rA7reM7rW]R7rfW7rfCvfLpvfXx5gQ7r gL7rTSxkYDvYFx[RvUhWvuhHvh vhF7rYT7r YU7rYQx%X xXSxiDxiCxkMxIkT7r6YF7r+Y?$? UNCLOSED$STRING*K;#"K;*K;+"K;͎*+;M!f ^#V*,;:7wf*,;:7wf*,;:7wf*G7,; ¢f>!7Ҕf>:7ҟf>îf>O!7Үf>*,;:7wf*,;.;P{fZfdfnfxff:~c~!l;6dY~͇~!;6d}~*G!E"9͍d*G!E"9Add͂I:c7!g! ;6I'gT2 ;: ;4gpG]>fF_!"`"8:7Ngbj ^#V>jj>FYjjSjVjYj\j*G*18&%F ~j>:+8¡ji::";].k>*;*:DM*F͆{*;DM͐E>("K;I;K;yn͎|2;on!;6*;M͌HRn:; †n ͌H!;q:; ´n:R7ҩnA}O:Y72 ;ñn! ;69nn*;M*Y7aA2 ;!;6: ;!;n ͘K*6M\I!;4nGOGI2b7:b7o7K; oFo@r*K;N͇nn:b7.o*7"K;nn:b7*";qq DM~*$;!2;s:2;r͎|23;Wr!7:3;¼r>!2;5Þr:3; r!q"K;Wr>|278rdrr|27̈́rr8rHr|s>U}24;8r|0s*4;&))))U}_!4;s8r:4;@r?*&;###"&;~Ms     >4s>:+8as=͈>*&;~2+;*&;#"&;^#V",;!58"&;*&;:(;ʚs*&;#"&;;sҗs~s*&;#"&;bs!a8"&;*&;);s*&;##"&;;ssës*&;##"&;bs|*K;~?Hͳ|sU}|2t|AO!q ~228:28tNEt>:28.t:_7.t>:28>!",8ͳ|mt!,8*zүw!768r|28;:7Sqw:8;Qqw8r:7M¬w8rHr*K;:d7Œw8r*K;~ ʘw8r:8;F£wv:8;Sʬwu|2(;8r:(;Fw|2(;8r|o&*(;& ");8rͥswxsnt*+;M!|x ^#V*K;NaAx?́tÆxr27ÆxHŕt:7F/x:7T27Ax?ÆxHrͳ|yx`iyx`iDM {zʗ{Ù{!{ک{ !|xG>O>G /O ~#~#~#~#~#~#~#~# {{~+~+~+~+~+~+~+~+ {{W|`|U|n|À|c|*@;!C|`i"@;"@;*K;N!|o} *@;q#"@; *@;q#p#"@;ɗ*@;><>>^N"< " <>!<^N" < "<Ï_ogDM!>))덑o|g =¹^#V))) DM!>)) =_{ozgO{ozgi`N#Fogo&og_{_z#WISIS-II CRT-BASED TEXT EDITOR X209 INSUFFICIENT MEMORY:BB: t:F0K;^>0",8|O>gt>8r;tHr*K;~=}t?8r*K;:d7Žt8r|278rHr7K;ڪt>*K;NrͩzHr+}t8rHrøt>!7*K;~ Hu*K;:7t!75*K;:d7t8r8rt>!727:7$ut:7!u8r u7K;*K;DM~*K;+DQx?ͨvÆx!9;6>!9;yxr*9;&.; w!9;4\xÆxxx xDxWx|ґx?͘tڡx!g"$;v&vͽvvv:72$8x*K;"7 uv&vso&",8O> x?!+868rHvSs*,8!18sHr*K;~,y8r!+86ͽvSs͘ty ?4B$y8r!+86!",8!76 r!@y*";7K; w#t|"@;*@; ||w#Ã|*K;~#"K;*K;^#V#"K;*K;~Gͣ|9|ͣ|0|:ͣ|1|7ͣ|a{ ͳ||A|G||A|[||ͳ|ؗ|x?|@|_||x:|.|ͣ| | |+}x|ͣ| | |ͣ|0 _*K;~2B;b}:B:CREDIT.MAC | NOMACROMACRO()DEBUGTO NEW FILEOLD FILE SIZE = CHARACTERS!:;-?DM̀}ͤ} ~t͙~ ~t8P{}/2%8:%8_}Ҟ ~}җM3|!6;6:7!6;ڷu!76!|͵t|ҥur25;!d7:5;:5;HҘu*d7M!|*5;M!|͵tju͎|ʰu?!6;4Su!|K;@;u?@;K;u'|uHr+}/27v!76:7Su!76͎|27Hr*K;~(27%v!76)!768ru:74v=u:7>v?*K;"7 uHUy*7"K; ?yy*7"K;:72;;!:;6::;yyHrkҙy:7Œyk8rHr!;;4ysңy%y!7:;;y*K;~ ¾y*K;##"K;*K;~>y!;;58r!7:;;*K;~ H2:;my*K;"7:7zs*K;~ Hz8ry|27@w:7&zt*K;Nrͩz:z8r&z*K;DM~|:N;<K;ͥ+s#rb}!D;p+q4~M;ڣ}o}:B;Ҡ}Î}!F;p+q4~M;}o}:B;ҿ}í}!H;p+qb}*K;"I;|*G;:B;/H~*G;#"G;o}*G;~}>}*I;"K;b}>F}ͤ}*K;!$~`i"K;"K;G?2B;x`i"N;!l;×!;×!Q;p+q>!X;s+@*l;"b;"^;^;I!g;D!q;  ~*K;DMt${.}ڗn=̀88:; 2%8ҳ:!66!66!66!66!66!66#6!66#6K!76!&86!76!76#6Y 2&8:!!76!76#6Y!;6!l;6d!;6dY~}~*:FGs:!"K;DM":F2c7M6FG(͂I!"`7!r|Tov!+868rso&",8lv?8rHr*K;~-2'8҆v8rͳ|Ҙv5t!+86çv͘t/!'8ҧv?pv:'8ҵv?*,8}27Hv:+8vpvHr͘tv=͈>*K;"7}v8rvHr͎|27!d7w͎|27d7~͎|27;?w!7;:70o}|F\z>o}|!?;r+s+p+q*K;DM~*<;DM3|}|.HҖzJ|}z.!|*>;DM-|!|>Wy_y_~!z>ɀ@ Rn{                        >o{o&{&È{!x;s+@*;";"~;~;I!;D!; !;s+@*;";";;I!;D!; !;@*;";;I!;D!;@*;";;I!; !;D!; >!;r+s+p+q>r+s+p+q++O@*;|>2;:; ;@:; <@Ǘ> {2<\2d!7q: 827>d!7     Ҁ:827:72727!6*eͽ~]!DM1_!7"/8DM~:(8ă͂I ͂I:_7ރ*;:* !<> !$<e=          c IODEF]IOSETF IOSETFISIS @ISISdLO5LO>LOAD$ gISIS LOAD(! r+s+p+q+p+q+p+q+p+qOCONISIS WHOCON !r+s+p+q!" d$   WRITEISIS WRITEN#!r+s+p+q+p+q+p+q$ UI1,(rATTRIBISIS ATTRIB#!r+s+p+q+p+q+p+q $ CIDCIYCLOSE*ISIS CLOSEc!r+s+p+q$$ !MEMCKW MEMCKl `owOPEN$ UISIS OPEN(! r+s+p+q+p+q+p+q+p+q$ !PO1 PO=&UI$UO1)UOUPPS1R ,UPPSpSPATH1! SPATHW@#!r+s+p+q+p+q! *ɚ"$ERROR, CO> COMCONSOLISIS CONSOL !r+s+p+q+p+q$ CSTS CSTSDELETEREAD$ kISIS READ(! r+s+p+q+p+q+p+q+p+q$ !RENAMEISIS RENAME!r+s+p+q+p+q$ RESCANISIS> !+p+qOD$  " ERROROATTACH1ISIS ATTACH"!r+s+p+qɳ$ DETACH1ISIS DETACH.!r+s+ISIS DELETE$!r+s+p+q$ EXITnISIS EXIT!" $   IOCHK\ IOCHK_IODEFISIS RESCAN!r+s+p+q ɷ$ RI5RIGSEEK$ _ISIS SEEK(! r+s+p+q+p+q+p+q+p+q$ !WHp+qɲ$ (ATTRIBCICLOSECOCONSOLCSTSDELETEEXITIOCHKIODEFIOSETISISLOLOADMEMCKOPENPOREADRENAMERESCANRISEEKWHOCONWRITEUIUOUPPSSPATHERRORATTACHDETACH2&} -B4dO4f    Jz&] U  y k V  zod<l`R=5*ATTRIBCICLOSECOCONSOLCSTSDELETEEXITIOCHKIODEFIOSETISISLOLOADMEMCKOPENPOREADRENAMERESCANRISEEKWHOCONWRITEUIUOUPPSSPATH                        RESS\ACTTYPE]SETSTART ]SETINDEXh]SETTEXT_SETPC_CHANGEOP`READDATA!bDISPLAYREFERENCExb DISPLAYOPxcVALUEOPcDISPLAYSTACKOP?dHELPBUFFERSIZEAdHELPOPd HELPHELPOPdMAXVALUEdCHECKMEMORYADDRESSOPdCHECKMEMORYPARTITIONOP5eDEF+v CHECKPARITYwvREADWRITEMEMORYxMNEMONICTABHEADyOPERANDTABHEADyINSTRUCTIONCODE<| GETHASHVALUE} CHECKDISPLAY}SYSTEMSYMBOLMATCH7~USERSYMBOLMATCHf~ SYMBOLSEARCH~DISPLAYOPERAND DISASSEMBLE-DISPLAYSYMBOLNAME4 INITGENSYMBOLFSYSCERRORATTACHDETACH51;MONITORDVCCODETBLADDRCI COCSTS@ISIS|? NEWCOMMAND"?NEWC:? ABORTENABLEF? ABORTDISABLEa? ABORTCHECKu?ABORT? PARSEERROR? PARSEPUSH"@PARSEVBCRLFnBSCANINITwB SCANERRORBRAWCD LOOKUPTOKENENEXTOKF AULTMEMHIGHOPCe IFTHENELSEae CHANGEASMPChe DISPLAYASMPCHseINITIALIZEFLAGSeSELECTMNEMONICTABeLOOKUPeSELECTINSTRUCTIONTAILeCALCULATEINSTRUCTIONVALUE/f UPDATEOURCODEjfDPTRFLAGsfSELECTOPERANDTABzf GETOPERANDfGETFIRSTOPERANDfCHEODETABHEADP SYSREGTABHEADZ SYSBITTABHEADd DOTSYSTABDŽ PUSHSTACKPOPSTACK$ POSTFIXVALUE;OROPJXOROPYANDOPhNOTOPtLTOPEQOPGTOPɅLEOPGEOPNEOPADDOP,SUBOP;MULOPKDIVOP[MODOP EVALUATEOP CHANGELREEVALUATEF SCANFILENAMEG FIXPOSTFIX)GCHECKPOSTFIXROOMVGACTIONrH ACTIONSTOPH POSTFIXINITHANALYZ7I PARSEINITbI PARSESAVEI PARSERSTRIPARSEESCAPERSTRIFIXIFDIPUSHIFDZJDELETEMACROFILEOPoJDELETEOPENMACROFILEOPM INPUTRSTR,M INPUTCKANDSETEXPFLAGf SETEXP16FLAGf SETEXPFLAGfGETSECONDOPERANDg CHECKEXPFLAGPgSETPOUNDEXPFLAG^gCHECKANDSETSECONDEXPFLAG{gSETSECONDEXPFLAGgPCFLAGgSETSLASHEXPFLAGg SETRELFLAGg SETEXP11FLAGgCHANGETOINSTRUCTIONOPcj GETOPCODEOPkDISRAISTOPJUMPOP"JUMPFALSEANDPOPOP; JUMPFALSEOPNJUMPTRUEANDPOPOPg JUMPTRUEOPzCOUNTOP DISPLAYBASEOPDISPLAYSUFFIXOP CHANGEBASEOPREPLICATEOPERANDOPȇCHECKPARTITBOUNDSOP2DISPLAYRANGEOP INITBUFFEROP( LOADBUFFERwCHANGETOSTRINITDMGETLINE.NIH0NIS2NIC4ND5NINITIALIZE51SOFTWARErNINITIALIZE51HARDWAREsNRESETAFTERPOWERONwNOVERLAYHANDLER|NKEYTEXTO KEYMAXLENOKEYINDEXO KEYNUMBERO SETOPERANDLENOACTIONOPERANDLENOADDRESSOPERANDLENO PARSETABLEZ ACTADDNl SYSSYMBOLOPlNEWSYSSYMBOLOPl GIDSYMBOLOPlCHECKSYSSYMBOLOPlGNCmNOTSYSTEMSYMBOLZBRR50ܪZBV20ZBV40ZBV50ZTB05ZTB07ZTB09 DISPLAYMACROOPuDISPLAYALLMACROSOPEVALUATEPRIMARYSTRINGGETSTRINGLENGTHCHECKSTRINGLENGTH CHECKIFDROOM!BUILDINCLUDEIFDDISAMACEXPANSIONDISPLAYOPENAMACEXPANSIONDISPLAYOP INITMACROIFDINITMACROPARAMETERٽ ENTERTOKENEVALINITTABiGETTAB EXECUTE GIDCOMMANDf REPORTSTATUSmGIDCOMMANDANDCHECKXMITGIDCOMMANDSIMPLEGIDCOMMANDCHECKSERVICEREQUEST CLOSEFILEOPENFILEw DOTMACTABy DOTSYMTAB{INITSYMBOLTABLE SYMBOLTABLEOP INITSYMPTROPєSYOFFؚPPFCܚRWMMMOVEUPABPDS͜BBAF˜BCFМBR0AҜBR1AԜBR2A֜BR3A̜BRFBRRA1BRRA2BVACCODISPEEMADREMBRLEMCFCARFFLAGFJAMiFUNCXFUNPFUNT2GOOPGOSTPIBICLEARINDIVIZTB15ZTB17ZTB19"ZTB25-ZTB272ZTB29:ZTB35*EZTB37JZTB39{ZTD10ZTD20ZTD301ZTR03;ZTR05%ZTR08ZTR10TZTR13YZTR15HZTR18ZTR20rZTR23wZTR25fZTR28ZTR30ZTR33ZTR35ZTR38ZTS10UATESTRINGPARAMETER POPMACROIFDCHECKNESTINGLEVEL̾MACRODEFINITIONINIT!MACRODEFINITIONENDR WRITETOMACROPOPPOSTFIXCODEҿSETPOSTFIXVALUE INITMEMORYDISPLAY% MEMORYDISPLAYCONVRT DISPLAYRADIX DTFSERRORINIT RECLAIMMEMMEQIDܔINITFINDSYMBOLOPSYMBOLOP GENSYMBOLZSETSYMBOLFLAGOPcSIZESYMBOLVALUEd SIZELINEVALUEeDISPLAYSYMBOLVALUEpCHANGESYMBOLVALUE}READSYMBOLVALUE VALUESYMOP POPVALUESYMOP CHANGESYMOP DISPLAYSYMBOL͕ DISPLAYSYMOP֕SYMPTRNTERjJMPOPNULLPCNPCPSCOUNTSTEPBR STEPOPϜTBAFTBD0TBD1TBD2TBD3`TMPBUFTPF؜TR0AڜTR1AܜTR2AޜTR3AΜTRFTRONTVAAB40ABORTTOBIMAGEϟCBYTEICLOADCOUNTODSUBdESCAPjEXECZTS20ZTS30lZTV10vZTV20ZTV50RBTBL1RBTBL2RBTBL3RBTBL4REGDSP߰REGGETREGMODREGSV1XREGT1REGT2RR11RR13ӱRR22ձRR23ױRR24ٱRR25۱RR26ݱRR27߱RR28RR29TACCTPSWbTR0fTR1jPUTLINEINTABLE READLINEVALUE INCSYMTAB3 INSERTNAMEr INSERTSYMBOLINITCANDIDATEGENERATORCANDIDATEGENERATOR MARKCANDIDATESAVEMARKEDCANDIDATE#RESTOREMARKEDCANDIDATE7DISPLAYMARKEDCANDIDATESMOVETO MACROOFFSETCHECKMACRONAOPDIROPEVALUATESYMBOLICALLYOPGENLINE GENMODULE LINEGENERATORSYMBOLGENERATOR3DISPLAYALLSYMBOLSOPF DEFINESYMBOL DEFINESYMOP NEWSYMBOLOP REMOVESYMOPqREMOVEALLSYMBOLSOP͗ GETLOADMEMORYINITSYMBOLLOADXPUTLOCALSYMBOLIREADLJMPVMATCHRB1RD1RDR51RPXɡRR1SGO=STP WPXǭCONRiDISPRENDREOLFUN10DFUNTPHNUMˬMBASEԬMSUFFwNUMDPREVPREV10ǬRESETPQRR|SAVA>SAVADR9SAVREGSPEEDTFILLG"XTBTR2nTR3rTR4vTR5zTR6~TR7;MFILL]MFILLSjMSAVE/CDUMPCHAR?DDUMP.PMACRANGEҸCAUSEMCOL.MCOL30NWLINETD8TDPCTRACEWRBITERDBITaPUSHPRIMARYSTRINGVALUEOPDISPLAYMACROMODEOPPUTMACROMODEOPME ENTERMACROMOVEDNBRMSGKBS1BUMPDTMSGMEMMSGhMOVEMSG34MSG41REGMSGZDISP\EVASM7|EVASM8IFDINITCLOSEDELETEEXIT MEMCKOPEN4READXRESCANkSEEKWRITE@P0011@P0012@P0013    @P0014@P0015@P0016@P0017@P0018@P0019@P0025@P0026@P0027@P0028@P0029@P0030@P0034@P0035@P0039@P0040@P0041@P0045@P0046 @P0047'@P0048*@P00491@P00552@P00565@P00576@P00XSP7 SAVEDPARSESP7 FORCEMACROEOF7FORCEINPUTINIT7 INPUTAFTN7 MACROFILEAFTN7CURRENTFILEOPEN7 IFDSTACKHEAD7 CURRENTIFD7REALCURRENTIFD7REALPARAMETERSBASE7 IFDROOMLEFT7 MACROFILENAME7S7 OVERLAYNAME7C8PCC8 HELPBUFFER;I DTFSVERSIONMONITOR=i6 SYMBOLFLAG6RETURNFROMDTFSERROR6CSTSFLAG6CHARAC6 NESTINGLEVEL6LINK6DISPLAYEXPANSION? NEWCOMMAND"?NEWCr6FATALERRORFLAG6SUFFIX6 REENTRANTERR6 DTFSACTUAL6 DTFSSTATUS6 ISISSTATUS @U@V!@W"@X8AYJA[A\(A]-A^7A_=A`2=AaAAdGAePAfcAggAhjAinAjnAkrAmzAn}AoApAqArAs6AuAvAxAyAzA{A|A}A~ABB B B# BBBdB B"B!58>@P0086A@P0087B@P0088H@P0089I@P0090P@P0091S@P0092T@P0093`@P0094c@P0095j@P0096m@P0097t@P0098v@P0099y@P0100@P0101@P0102@P0103@P0104@P0113@P0114@P0115@P0116RMASKSMASKNSTRUCTIONVALUE; BYTENUMBER;ASMPC;OURCODE;ASMWRITE2<OURC><SAVEHI@<SAVELOE<SYEND<MEMORYTRACEADDR<DISASSEMBLETYPE<INSTRUCTIONBUFFER< NUMBEROFBYTES<DASMCOLUMNCOUNT<DSTTYPE< NUMBERVALUE< NUMBERHIVALUE< MASKVALUE6BUFFER7ABORTED7Id:? ABORTENABLEF? ABORTDISABLER? ABORTCLEANUPa? ABORTCHECKu?ABORT? ESCAPEPRESSED?RESTART:?R' :?SE?TJF?U F?VQ?W,R?X R?YU?ZX?[[?\`?]&a?^a?_h?`i?an?bq?ct?du?e#B #B-B.B .B@A@A@O@R@U@[@[@^@e@k@n@q@q@t@{@@@@@@@@@@@@@@@@@@@6 SYMBOLFLAG6RETURNFROMDTFSERROR6CSTSFLAG6CHARAC6 NESTINGLEVEL6LINK6DISPLAYEXPANSION6FATALERRORFLAG6SUFFIX6 REENTRANTERR6 DTFSACTUAL6 DTFSSTATUS6 ISISSTATUS6BUFFER7ABORTED7PARSESP7PARSESTACKHEAD7PARSEPC)< MASKHIVALUE< VALUETYPE=WORKFILEDEVICE = ERRFILENAME=KEY0=DVCCODE2=HARDWARESTATUS3=SERVICEREQUEST4=COMMONGIDBLOCK?=PARBLKS=PARBLKDSCPTRARRAYS= PARBLKDSCPTRh=AFTNm=MACTABw=TABLPTRy=MODPTR{=SYMPTR}= LASTSEARCHMOD= LINENUMBFu?f|?h?i?j?k?l?m?n?o?p?q?r?s?t?u?v?w"?x?y?z"?{,?|2?}5?~8?PARSEi MEMORY*7PARSESP7PARSESTACKHEAD7PARSEPC? PARSEERROR? PARSEPUSH 7VALUE"@PARSEA GETNIBBLE @@@@@@@@@@@@@@@ A AACTION$ MEMORY&A7 REALPOSTFIXPCC7POSTFIXROOMLEFTA$G FIXPOSTFIX)GCHECKPOSTFIXROOM E7THISMUCH VGACTION G7ACTGPUTCODEIHPUTTEXTI7 OURA7PROMPT)7 PROMPTLEN,7SCANC47 TOKENNUMBER57 TOKENTYPEA7 REALPOSTFIXPCC7POSTFIXROOMLEFTL7OPERAND`7 LISTFILENAMEo7 COLUMNCOUNTp7CURRENTDESCRIPTORp7POSTFIXCODEHEADv7POSTFIXSTACKHEAD|7 POSTFIXPC~7 POSTFIXSP7BASE7ENVIRON7SAVEDPOSTFIER=LINEBASE= FINDSYMBOL=IDPTR= SYMBOLBUFFER= LINEBUFFER=TABLEND=PFCH=PRIMARYSTRINGVALUE=OURSIZE= NEWIFDBASE=NEWPARAMETERSBASE>ENTERMACROBODY<>RECOVC> UPPERLIMITE> LOWERLIMITG>LIMITI>LASTADDRdMAIN MEMORY7OURBYTE[=A GETNIBBLESw7LEN 7 RUNNINGSUM( nAISIT"7IT AINSET|#7FROM%7TOO'7OURSETB BDONEXTOKBDOACTION#BJUMP.BDONTJUMP=BPOPPCABPOPONCE ?H?I?J?K?L&?N?P?Q?R?S@TCTTYPEJ7SUBJECTrH ACTIONSTOPG7aG8G9(G:)G;G/G=;G?OG@RGAUGBUGCVGDGFy&GGGHGIHJHL!HM?HN?HOHHPIHQIHRNHS_HTqHUZ\GW_GXjGYxGZ~G[~G\G]G^G_GaGbGcGdGeGf    GhGiGjGkGlGmGnirHorHpuHq{HrHsANAL MEMORYL7OPERAND`7 LISTFILENAMEo7 COLUMNCOUNTp7CURRENTDESCRIPTORp7POSTFIXCODEHEADv7POSTFIXSTACKHEAD|7 POSTFIXPC~7 POSTFIXSP7BASE7ENVIRONH POSTFIXINITH7REALPARAMETERSBASE7 IFDROOMLEFT7 MACROFILENAME7 INPUTACTUAL7C7 LOOKAHEAD7 LOOKAHEADCHAR7EOL7 CHARNUMBER7PARAMETERINVOKED7OFFSET`IFIXIFDIPUSHIFDJPOPIFDZJDELETEMACROFILEOPoJDELETEOPENMACROFILEOPJ OPENINPUTFILEMMMMMNNNEVASM33wADREG1ADREG2CCEXCCGOCCLDCEG01CHALTCINTRCMDMEMCMEMCRDBCSINGLCTLREG<IREAD1LBAREGLPAREG(8REGBUFRWPSSTSREG{AB20žAB35ABO6SGO7vSGO80SGO82SGO85ϤSGO90SGO92SGO95SGTFIXiuSOBSOB05SOB10/SOB12PSOB13aSOB15gSOB20SOB30SOB35SOB40SOB42SOB45SOB47|SOB50ϦSOB60SOB70SOB80 SOB82SOB84ANALYZ7TYPECODE7 POSTFIXVALH8H9H:H;H<^H>H?H@HAHBHCHDHFHGHHHIHJHKHLIMINIP"IQ-IR-IS0IT3IU6IV INIT MEMORY7 SAVEDPARSEPC7SAVEDPOSTFIXPC7SAVEDPOSTFIXSP7 SAKREADCHARUK INPUTCHARM INPUTRSTR,M INPUTINITDMGETLINE$7 BUFFERADDRESS7 ACTUALADDRESS6ITIUIVIWIXIYZIZI[J\ J]J^J_9*J`Ja-Jb2Jc5JdBJeGJfQJgTJhYJiZJjZJkeJlnJmoJn40ABORTTWBC10SBCLROBIMAGE7BSETIBSET10BSTCBTMPCBTMP1CBY01 CBY02z5CBY03@CBY04QCBY05CBY06CBY20CBYCNTϟCBYTE˥CI51\CL11gCL12CL20CL21CL50CL60|PCLIDICLOADCOUNTSOB90SOB95=STPLSTP10STP20STP30آTC10TC20uTC30TC35$TC37.TC386TC40kTC45iTC50¢TCHECKWARN#WARN10WARN2ܡWB1WB11WB51v<WCBYTWD1WD51AWPBY1@WPBYT WPXWPX1WPX2VEDPARSESP7 SAVEDLINK7SAVEDNESTINGLEVEL7SAVEDOUTERSUFFIX7 SAVEDSUFFIX<7I PARSEINITbI PARSESAVEI PARSERSTRIPARSEESCAPERSTR7I5=*7I6:I7=I8BI9HI:KI;QI<VI=[I>aI?bI@&bIAgIBnICtIDzIEIFIGIHIIIJoJorJpJqJr JsFJtJuJvJwJxJzJ{J|J}J~JJJJ KKKKK$K*K-KBKEKTKUKVK]KbKfKfKvKKKKKKKKKKKKLLL L LLLLODSUBdESCAPESCAP0ESCAP1ESCAP2ESCAP3ESCAP4uESCAPXEVERREVERR1xzEX10EX20jEXECFIXPARHISAVIR10IREADoJF11JF15JF20nJFINDJTBLLJMPLOSAV*|VMATCHMOVCADNEXTOP5WR1WR51]WRBIITOWRBY1NWRBYT^WRI0WRITMIWRXEVASM51 (8REGBUFv+DACCDBBDDgDDPTR7DPCDPSWDR0˯DR1ׯDR2DR3DR4DR5DR6DR7sDRBSDSP{CDTM0UDTM1EEFF̮J*IKILIMINIOIPIQIRISIT@IUIVIWIX INPUTMODn MEMORY67AFT7BUF7STA7 FORCEMACROEOF7FORCEINPUTINIT7 INPUTAFTN7 MACROFILEAFTN7CURRENTFILEOPEN7 IFDSTACKHEAD7 CURRENTIFD7REALCURRENTIFD%L1L4L7L:L?LCLCLcLhLkLqLvL}LLLLLLLLLLLLLLLMLMMM MMMM+Mh,M,M3M4M9M?MCMDMRNMQMTMYM^MaMfMxMMMMMCODEPBYTERB1RBITRBYTERD1RDB51RDD51¥RDE51RDR51READMvRPXɡRR1SAFEnSETUPSGMSGSGOʣSGO1SGO10SGO15УSGO2%SGO20أSGO3/SGO30MSGO38uZSGO40iSGO45SGO5lSGO50SGTBL1JTBL2>MACC8MBeMDPTRDMPCGMPC1JMPC2}MPSWMR0MR1MR2uMR3 MR4&MR5,MR62MR7kMRBSMSPYMTM0_MTM1RBTBL1RBTBL2RBTBL3RBTBL4REG05|REGDSP߰REGGETREGMODREGSV1X    REGT1REGT2˰RGT10RR1RR11RR13ӱRR22ձRR23ױRR24ٱRR25y۱RR26ݱRR27߱RR28RR29SV1DZSV10ʱSV11ͱSV12SV2SV3SV4SV5SV6SV7SV8ıSV9wTACCTBTDPTRTPCTPSWbTR0f@.B A B͞Aڜ@#Bß@.B A B͞Aҷ@!476.Bú@#B A=B A? ArH!66͎H? A B͞A@!476@? A2@8@A@U@[@q@@@@@@@"@!7PO ~27+N#F+q#py7A:7:7!7q!" 7>!7jA* 7))))A_" 7!75GA* 7!"7q:"7}A>>!"7D!-76ÓD!-76:37¡Dt:37O)G*37& *A7:,7w!374*A7 :37wG*A7 ~2>7O>D!>76:O!>7D×E:>7=O!O ~247!O |NͿ":7*>7&O) |NͿ"<7<7:7tҗE!?76:>7#w*A7 "87>!@7҈E*:7*87 sE!?76#^*:7":7!@76ÅE*87#"87*:7#":7!@7"|7!"~7́H*|7*p7~276I*|7DM$"7*|7###"|7:7OwN:727O> H>!7H!75*7&L7) q#pH!H*7-I:7 I*7DMDŽ-I:7-I*|7DMDŽ*7*|7"|7a?͸ÑHnB,M!>6*6"7́H!"7!66!76?!66*7+"7:727*|7"7*~7"7*6"TR1jTR2nTR3rTR4vTR5zTR6~TR7TRB5TSPTTM0 TTM1vS=H,z6? 6277)7**? `7:CO: 4o7O787 77:FX:MAC.TMP 76 7:F0A:57!"7O>!47:"7*OM=A"'7:]'7́B:]'7́ ]) ^#V"#7!"] ^#V"%7%7#7tA*#7h] NnAA>*#7#"#7A>*'7MnA:47BʹE*OM=ADMVG*OM=A"7:O7ͻ+s#rAB!75n&)*7^#V"7 :27..6?1!6611:62?7I5?͓I"@vͥOͧͥ Oͧͼd!66:7i?!76R???26!274!.7:27͌ڀCI:)7¨B:6207 *7 ~!6B:07267:67B.2!675B)7{F?.76DM!276>!.7͌xC:)7>7́صHCbI!)76*.7+6 ~277?C!66I? *7 ~!6^C*.76O:77 kCt*.76RG!o76ËB*27&ҋF͔D͒CZF*A7 DM:57!<257D>6́صFG*A7 DM*6:<FwBt͝E:,7.:,7:H:-7HG͔D͒CF͔D*|7*p7"A7r7̈́"C7!F7p+qE7C7tUGC7E7tp7KG!H7p+qG> G7́җG*G7!G^#VIHÔG*A7377tصʣJ*7DM6I!76 *7 ~¿J!"7 *7 ~J*7"7J7 *7 63*7I*7 DM6k>6́صK3:-K7͘BK*776743*7 N#F+q#p;:7fK!76#~3*7 >͌صʫK*7 N#F +q#¤?26ʤ?:6¡?ì?É?:6?F?!76!66!76?:6 ?!66wBt!7p+q*7&)!7͏?7K!7:7 @!66*7&)*7*7s#r!74AO!@ ^#V#B AB=B A:O7ͻDM?#B AB A B͞Ak@#Bn@.B A B͞A҆@!476#B6 ~͇B2,7!,76:,7 :,7/H:,7 H%D͋C:,7&CYB!)76:,7;CYB!,76 :,7 :,7 /> !,7/HHD!,76 :,7a/>z!,7/H"D:,7 2,7×C:,7 2D!,76 :,70/>9!,7/HQD!-76ÓD:,7A/>Z!,7/H~@H~?H~_H DMͷIHÔGxG~GG> G7́+s#r!Z^#V"J7*G7\ ~2I7G!G*J7G:I7G*J7^#V"J7!I76 GGG)G*A7:I7w*A7#*J7s#r:47?H*A7 ^!DM)G*A7 *A7 *A7 ^DM*|7###"|7*A76*A7 ~<*A7#w#6*|7###*A7#Ϳ"|7G)G*A76!p*7 N#F+q#p*7 N#F ! *7~3 *7 ~!7 L!76JK *7 ~:6/HL!96:6!9L.2!94K*2UK3:7L͋JK>7́صCL>7́ص4LJK!76>3 *7 >͌ص:7%HhL:73K:727027O> ҆L!76>%    3!76*7:7ڥL*7 >w#6L!"7>!7L*7#*7 *7^"7!75ëL*7 *7*7 w#6*7#*7 q#pUK3!76I *7 ~MJ M*7 >w#6:74M!76!"7}27!7r+s+p+qF?I!76!76+6!76:7z:7/HҴMUK27*7&5 vc#F ]K~hzb'0 0'0 0KГԾ mYNVPoSY0ZuW]|w 3' b1(w#S׮U rsׁi0!}0! b23{p*"{P+"w+{@-1H  Xk/2K5 5[ׂ00BB@f0.C{ 37pOHg{B0hri0hrjlPM !tGO uu1gQ wu S yu@ { 0ltq+rshТۍneP#Up0m K i V~vЦ lxqtШ'N tP uQR u0T r^ !tqw zr y1 .Q E rq#!r~0F!@Wxaq[`ah  00w0~ !0!!PqP4 p#1k>R _!*c;!?b r{  x1!Rp) 1!RRU\UUMTUOUUQU!USUAU?W!U+UYs2k# l31B*7w:7ڔM!74:7:7 HұM!76fM*7:7w#6:?>7́ص!7 *7 ~!6HN*7*7M6͏N *7 ~:6/HNa?(C)1982INTELCORPrN5NsN2.: =27!"8!66!";}2;27>!7qN*7&(8 6!74VNͼ!7q"#()*+,- mSg0 C 70~   l>B =rp< ## R Ml> rp=aAR < '00 rs ~0rpB'qC'HqE1^qFtrG!r IQ #! J00"lpL13B  R'M' _Acq' _A2 Sg S`!)r`T    ZQ`pP# t0$ H  x[ r v 'W  0Y 0  0 ą L0A0L00L00.bpƒ 1G% S! b 9V0%d VPE Ye/YVUYV`h%UBZ ZA5UWw@ γ1J'' ^  rqrp11!['!<q9S rs1 86!*cr1 1 86!*a3`'w!>+L q@*!*c3b1 rsbC^6Ԑ;"NzX ؊ސ6dAdZJ֬F!IZ󼪇ٽ?uậ̾!./0123456789:;<=>ABCDEFGHLMPQRSTUWY<=<>>=@AABBCBRBVCDDDDTEMGOIBIFONORPCR0R1R2R3R4R5R6R7SPTDTOTRTSTV@DP@R0@R1ACCANDASMBASBR0BR1BR2BR3BRBBREBRRCBYCDUCOUDASDBYDDUDEFDIRDISDPTDTRELSENAENDEVAEXIEXPFROFUNHELINCINTLENLISLOAMACMASMEMMODNOCNOSNOTOFFORGORIPBYPSWPUTR0* a$0Ec{0 h3 <000.0r'0Lj4 4y]sA[y6y^![y7s_'4 spaQ0/?     d xb_ c5ew2Cdɉal͕֕ܔyl3lqlpkc{ "-2:EJ{BIRBSRBYREGREMREPRESSAVSTASTESUFSYMTB0TB1TB2TB3THETM0TM1TR0TR1TR2TR3UNTWHIWRIXOR+kX;[  t' 0 00 R vaǔp0 0c2F z b'0 0 c3rF K0< b020 [F0=aş00 00 rrٰc5tc  uc, w_ w 9ub ~& ~' ~( ~; ~= ~< ~$ bx1R  7. 3qqRC0Sq@0cr s@HxQR0eqp#"Sp AW r{0VWq2ѱ  LW  0Y 1 0hrbp 1hb !! 0h a q V'     '   0h a '   0h a 'Q ? "0h a1' q R0h aaF' 0h! tR@a  z' tlAR000 +  "Щީ>lvܪ%1;HTYfrwD9 ELR2=Yppkaehegsee;ejffffffg;Pgg^gg{ggguq    AA@A         AC@ BQc  (D_u98k+1w-2CjDn5EsAg6.zG/_G`J`*L7*N7N7wv*N7}!8s+p+q*8P7wv:88ͻQ7wv!8r+s+q*8M!a ^#V*8&(8 n&*8}a*8|Oa*8},a*8|Oa*8&(8) ^#Vaa:1828o&)))*8&"8!86ao&aao&ao&ao&r-s!;q:;O!d ^#V*L7M͙d!N7͏dt*L7}>N7́؟Hdt*L7DMDŽ*N7DMDŽP7N7tet*L7M͙d!P7͏et*L7DMDŽ*N7DMDŽ*P7DMDŽ*L7M͙d"P7d!;r+s+p+q+q:;]e*;*;*N7";*;DMC!;6#6#6x4ҞhL7;t+s#rtæh*`hL7;t+s#rth*<!;s*N7!;s0j!"L7*;";*N7!;s"<;`>iL7;t+s#rtFi*`siL7;t+s#rt~i*<!aAamata{aaaaaaaa*8&*88wv*8}!8s+p+q*88wv:88ͻ8wv*8!8r+s+q:8 >b*8DMͮwb:8/> !8/Hlb:8__*8DMvwb*8}_7_*L7M*N7!b!;p+qGҷe*A7 =`ҩe*;*;";ÏewBte!";͆e*=!47s>;́؟/>+͌؟/He!;6!";>!;͌)f*;y) ;vصf*;";et>,!;͌Pf,*;&*;";if,*;&*;";!;6/fy4!;p+qsf*!;s0j!"L7*;";"<!;"<<̈́ҽiti<!<͌bjt*L7!j^#Vj!"L7j!"L7s6G/l,`)~ULrMNOPQRSTimULrMNOPQRSTimULrMNOPQRSTMNOPQRSTLr&$1W+rMNOPQRST)\]?[)8CBYTE DBYTE XBYTE RBYTE RBIT PBYTE PCDPTRTM0TM1R0R1R2R3R4R5R6R7RBSBREAK CAUSED BY:BR0BR1=2*L7} !8Ңb!"8ðb*L7M*N7`"8*L7} b*80 M2c*L7}*N7}Hb*8DMCc*L7}c*8DMͮc*L7|*8_DMͮ*L7} wc>8́صqck_{!86>!8nc>8}\c*8|_!8P+s#r#44cwc_{*L7M*N7`D;DM͆e*;*;";,zf*;!,>jصµf!;6:;f!;6f!;6/f!;6!;6/f!;6/f!;6 zf*;! >jص g,*;";:;!;O!Gg ^#V!";Og!";Og!";Og!";Og#g,g5g>g!;6/f!;6!;6:;rg!;6wg!;6/f!;6/f!j!"L7j!"L7j!"L7j!"L7T*N7"N7j!"L7jqjtj}jjjjjj! <6L7: <́j! !P7͌_t_:18*P7)))'!18sÊ`*L7}O!` ^#VÊ`*N7|`*P7DMͤ_D`*N7| `*P7",8D`*N7|8`*N7|Oͤ`D`*N7|Oͤ`Ê`Ê`:1828o&)))*O7&!O7s*O7&P7wvÊ`_MDŽ SP STACK>L7́ص c8wv:828!L7͌c:8dd:828c>d!8:8OC-!8:8O!6 NCd u4*p7*L7"L7*L7"=udєrd*=DMr-sXd*L7DM{t;6!;6/f!;6/f!;6!;6/f!;6/fͳ*;"<*L7! j^#V0j*L7*;";*N7!;s0j*L7*;";*N7!;sLj*N7́ص;h*`7#<wvk:<k*N7#<wv*N7##<wv:<N7ͻ+s#rҸkkєk:=k͗>k>:8:8Hlt*L7*p7"=:8hl!85F4kDl!85P4kVl!85Z4khl:8}l!86*yDM4k҅l    :=ґl͗*L7DMDŽ*w=y=vDMDŽ*w=DMDŽl!86:8lt*h=2<6/<43>/<́ص/Hlt:2<22<:2< :2< H:2< H.mlm! <6:2< jm!: <`\m* <&  < :2 !4<N7>`ص—pyn>N7>`ص«p oͼ74!E<6pp!E<67=yͳ>L7>`ص q"N7!N7͏pt*N7"><"@<q!">ڠm:4< t!"-<:2mP4n= <`n>mZ46n= <`3n>n: <2=*-<"=!5<6:=!5!1<6:2<0~2F<:(8O!'q ~2G<H<wvI<wv/q{!J<6>!J!K_H v0O2:L<2L<nq{!K<4 r!J<4q7*h=O<6Q!j<&v*j!k9!2/<́ص´n~n!1<6:2< nl:2<22<ünm/mmͦmmnXma?ynkmkmH26/<́ص=oo!1<6l!3<6n2;"Q.Ce!^%!uB~ >!^%~)-M}J=B} =!]%})-M|J!;<pn*9<&6 w!9<4~ր:;<Hp*7<*9<"["W<>`صs*W!]v<*yv<*s<^:u</>!u!u<ښx*u<&u ~!v<͌ص*u<& u :n<Hғx*u<& u ^!,8"y<:m<Sx*y<*s< wÓx!x<6:u<ex!x<6`:u<rx!x<6*y<:x<*s<:xw F;B{ ;![%{)-G 7c------#---/------------@A+DPTR@A+PC@A+DPTR@A+PC UNDEFINED!                      {|{ |{|{|{|{|{lu~:<O! ^#V*<&< n&"<f~!<4*<&< n&"<f~!<4*<&< n&"+wN7P7t>jN7P7t#!|:<½|:< º|!<5|!<5*;!";>`ص|!<6}*;! }:<}:< }!<5 }!<5!<6:< #}!<6!<6\}!<6*!XEPTPXPTPXPRWTTTNITNIXTXR !E*<*<&6 *@}*:<~F4~:<~P4~Z44~<=tص1~>~>:6A~>*yDM4c~<=tص`~>I~>!2|{e!<6:!=͌҄:<2<*!<ڠ*!=́! ^#V~~~~~~~~~~~~~‚΂ڂ!=6͉},2={!!<Ɇó:<@2<ҙɆ:L*<*<&6 -:P*<ʊ*h=́صz*h=*<*!<چ*<& :<=O! *< :<H:<26́صh=`76*h=66k!l=s+p+q*h=DM6:l=\*j=DM6> 6́ص>́صHW3!l=6h=*j=*l=&63m=7!=*w= q#p*w=ͳ"y=*w=##>ͼ*w=DM*y= >w#6*y=##w#6*y=#6*y=6 ͳ!=r+s+p+q*7*7=̈́!=͏d*=*=DM*=#*=DM*===t+s#r!7"w=*7*7"y=#~y=́ͳ͏#"{=*y=##{=v+"=*{=+:c!=_͗r*y= :=ͼ!<43:<”:<2<*<& ~29!<:`ص ?*L7}=1+s#r!#=r+s+p+q* =* =##Ͱ"'=* =##y؟2$=S*"=*'=+"'=*C>#"%=!"=͏ڙ*C>#*G>c!"=͏҆!6p+q*="w=Ϳ"y=*w=*w= Ͱ"}=*L7DM{!"=*y=#~y=́##s#r*y= ͏"=*==`:L72=*L7*p7"= є :=͗:=͗={=tW!=6*{=+"{=>*=& = w`i4*{=~Q*}>>*L7!6s*=DMͮ*{=*=s#r**c& +s#r!=p+q*=##q#p*=DMi*=Ϳ"y= >w#6*y=##w#6*y=#6*y=6 *= q#p*= q#p!=s+p+q͎!=6!=6҄͝==t"==tY:=/==t؟HVͲ!=6*="=>`ص!=VÄÁ:=/*=!=͏؟Hҁ!=6*=¿:<•*<"<:<:< HҰñ!<6!t+s#r:$=* =##"=Ͱs#r* ="=t+s#r* =##"=t+s#r*I>"%=* =%=̈́ص(*%="=t+s#r*%= ^#V"%=!66!"I> "C>!"G>>`صb!G>"E>h*G>"E>!*=p+q*)=##^#V".=!{=++"{=^#V"=*=DMDŽ*L7"=*N7L7Ͱ"{=pͳ!=q*=M2={=2e.Ͱͳ*w={=vDMDŽ*w=DMDŽͳ={ͳ*L7DM6ͳ>>>0->>B.Ͱ3ͳ*L7*p7"=*y=#~y=́ͳ͏#"{=*=~==t؟!=*=++͏؟H *=DM!"=:=2=*="=!"=:=*="=!=6==tص!=!=p+q*=DMC#7!=p+q*=DM:=m7==t+s#r>jصh+2*=DM!=p+q:*<*=&*< ʘ>!=4o>'/@be!=s+p+q>7́صݎ:=Ҏ*=|O2*=}O2*7 *=& ^*=DMC!=s+p+q>!=$*=#*=^"=!=5*=DM{ 2>6́صJ*6Mt:6Z*6Mt!66K!66ERR : ?!=q:6c؟2+=ړ*.=".=*C>#*G>c!.=͏Ү!66*)=*C>s#r:+=Ԓ*C>#*.=c*)=q#p*)= *I>s#r*)="I>.=C>t+s#r!662=?=j!]=p+q. *\=DMA= -" *\= ~2L=:S=2?=!O=6#6#6 :P=Y!66*M="6:Q=26!a=p+q*`=DMK-|*=:c2=*{=+DM*=&*w=*w=##Ͱ#*=& *{=+DM*=&*y= :=ͼ*y= q#prͳ*P7"w=*w=N7Ͱ"y=Fͳ*L7DMDŽ*w=y=vDMDŽ*w=DMDŽ*w=*w=##Ͱ#*{=+:c!=o&"=_*{=+*=*y= =t*y= q#pͳ*w= q#p6Ҏ*=DM6Ö*=DM!=q*=DM{*=MtǬͶ:?a?tvF?͚wv yx w+ !9"=1=u?*=ͳ>2*}!!"=22!"ͳ>222!*8q#p!H>2ͳyG!_\"~~w#q     p#q#w͵>2*7>2*~w#~"²2>*2*7>22!|~#ng>ћӛݛqNw }2Ow}2|!~#) ͵ ͵͊^~ ͵:Á~3͊^~*E Q ͵ ͵͊^~ h͵#~*ȯ22 ><…>2%ê!":ʪ>2ͺ2Ěnϟ :2㠯22>ɡ25>ɡ25>2˜Sx2⠷ :䠷Q/2@:䠷5> 2 :堷Q/2:G> 2ͱ:>>!åp#q:22¥:G>2 !j~ږO n>ɡG>ɡO>ɡWxأyأ*68|У}ʣ=Уz*68++"68x@y@*88|}=z*88++"88͙!*8N#F!p#q!I22222+82*8G!߰xϤ>ɡW88izv2*8W2+8::!Ҝ>è>ШMҜ&ڨ!Ԝ>è>ШRԜ&ڨ!֜>è>ШW֜&ڨp#q!˜w#w!˜w#wEd:̜F#Nw"&c>[!>R'&c>[!>Rr& c>[!> Rw>@c>[!>@Rq!霶wK!霦wKn:Nwڕڡ͵Ͷê ͵ê͵!w#~w{ҿ {O µMEMBREDTRREG j:"bI>ɡw#!åF#N:=ʲ2:G> 2 :5:5:Ě͛wy͆wyɡw#:=2n<N]N @v ~A~A5OyFܡ^####^#V^#V#N#F#~2:;+3!z8ʶz0>2C:<2:+8v>ɡW8;!*8z;v!*8v>2C WARNING D0 # WARNING D2 WARNING D1 ͙!*8N#F!p#q!I:2:2/:*+"}†ñ>>ȩñ>>ȩ,ñ>>ȩn:霢!霶wK!霦wK!˜>w#w#wE!͜>wE!͜>w hd:͜>!̜w>2˜E*|}lg|!̜>w!q+p+:}w+:|wmd!̜>!F#Nws!F#Nw!Ϝ>wK͍##~!Fʇ####~2!IͰ!p#q! IͰxyw#:=2±2!IͰ2x2!I!42!p#q! I:xR̚"?xy~#:=22x2!I>P{~#Py2:=gzʝ\¢ĚȚ=3ttttЂЃtttt22:͜:˜ȯG2˜!Ow#:͜/!*8N#Fn>X0Y>0:̜ʷ:_W>0:眻a!F##N>X0xʷP:GXW>0 g:_W> 0::}2:2 ~O#~N£>ä2!Ϝ>wKDn:Ϝ:!NGw:y2:2 >!͜wE!͜>wE\d:͜::Ow0!؜â>!ϜwK!؜Ϋ5!ڜâ>3!ڜΫ:!ܜâ>3# zv#^#V 6##6#6#6.>!˜w#T]Oz¯!(8w#ž>S>>>5>`248>5>5>5>5>5>5>5555!˥&I>22!"ɯGxWԚ2:ʔC̚"?2:G>¶:̜آ*МVk:̜*ҜVk:̜*ԜVk:̜*֜Vk:͜6: $:08.G:18ɡG:䜸k:̜!N#F!V#^O}i!V#^O}kzk>>2ϟ:_!GXW>0ƒ**}=ʷE>@0{ >0®:̜Ϧ*МD7X7:̜*ҜD@7X7:̜*ԜD 7X7:̜*֜D7X7!Oz{~#z!Ow:̜yI>I>0ɖk.Oy_xW\U*DMOz!М>è>ШHМ&!ܜΫ?!ޜâ>3!ޜΫn:Ϝ:ΜFë#Nw#Nw:|w#:}w~O#~N!Μxwx/w!ϜywK!V ~>*2*7x͉^l2!^~# 3!]q:|_:}_:} cG! F>:w#    #~w# ʋyzy w#Ë:ʮNO DATA*"N7"P7k*"N7"P7kͨ*L7"7ڬؚ"6:2sss|"?>2˜:̜GExE :̜2̜$̚͵dy2!|p#qWdWnWi:b>p>p>2{18Owi:18O'wi:OwDMwDMК:18G!yw###y ˰!߰~2!IͰ#^#Vw#~߰:,82:-82:.82:/82:082:182:282:382:482ñ:782Ʊ:682ɱ:982̱:882ϱ!-I!ӱIR0=R1=R2=R3=R4=R5=ͫ:GOͫ!"2 ̚|`i~22ͫ*Mͫ*Lͫ! " N* #NN#N*}:GOF#Nͫ*+|/QHQ`"Q*+|@:N2>>lG:2:\ʗx wxHqĚȚ::ҙ ” :7:18G!xG0^#V#w ·7:==:͜A!o7z,2RR͊> 2R|eoVz:Μ2Owܚ:02ʒ{ʌÎK_``szʪís:72ƭ>27w:ƭ27Gx ѭ>Ax0ǭ2s2~ :~ǭ RACC *p7 DMTD=TR=TB0=TB1=TS=TR0=TR1=TR2=TR3=TV=BR0=BR1=BR2=BR3=BV= CLOCK=BRB=BRR=TB2=TBR6=R7=B=ACC=PC=TM0=TM1=DPTR=RBS=PSW=SP=uuuuuuuuuuuxyz{|}~tt1808,8-8.8/828384878689888(8)8Աֱرڱܱޱ䱁2y2 !"x: [[ʌ!"Țx^#Pr# {xPp#:2*: ¿!\q#"<2 2(2 $@:,ŒĚȚͫ*+"ZP>2\0!|F#N72AͱyvO0ye2:OͱOwC CARRY=X AUX=X FLAG=X RBS=XX OVERFLOW=X UTL=X PAR=X ĹŹӹٹ߹=X  ESCAPEDASMGO-BREAKSTEPBRBy7/G{xFB/Gw`i{DY_ek}2ԱG:18‰x2.8É2ֱG:18‰x2/8É2رÉ2ڱÉ2ܱÉ2ޱÉ2É2É2É208É!*8s#r!߰Q!68G!88G!,8GG:18218Œx%¸[ʼª›ʌd&ʸ[̚: [x[!\կ2 p: <2 #ײ\: 2 в\: 2 gx/[: [[: [Dgõ[[KB2\

22<"@:,ڍ:Bʓ͛á0ä>2^ϟ:^yv!{~#¹߶x߶V{ozg22/O> !z:A<2A:/ ,,w6_=2/__ :Ϝʷw: ]:08gG:18ɡG:᜸w>:2:ϜFINE :!=6*L7#*p7 "L7*L7DM6*L7DM!=6!=p+q:=Ⱥ*=DM{*h=*=#*=N6͏3wͰ=ͰVBͰ*76=k3*7=6=43>!=͌t*766=4==tU*="=*=!6s6Ͱ==t+s#r#J218J2ÉXJ!y~#fo鿯˯ׯ+7CUgsbi:Աçfi:ֱçji:رçni:ڱçri:ܱçvi:ޱçzi:ç~i:çi:çi:08çi**8úi!߰*68ñi!߰*88ñi*,8úi:22 8y¦2E<ͯpͻp:E<7ʦ͢Õy®y2*><*@2 ϟ: O}:GOͫ! : /˵$@ͫ*+~O#~:TyO####ͫͫyOͫANͫ#jʇ*؜7:Ϝʗ*ڜ7:Ϝʧ*ܜ7:Ϝʷ*ޜ7::霷ɷͺ:ʦ:08̀:18̀:Աb̀:ֱf̀:رj̀:ڱǹ:ܱr̀:ޱv̀:z̀:~̀æ:xʁGN:!"Gx]:!'Gx l!r:Gx@{!w:GuG*A7 DMͷ*A7 ~ʢ?*A7 n&"=*|7"=*|7"=*="|7G*="|7*A7 ~ܻ?:CI: I=7t7=t7KIG*7##7Ͱ"= "=G!>6*A7 ~ o&"=*A7 ~j*A7 6 *A7 DMݻ`j!>6! "=*=*7s#r*    7##=Ͱ*=##q#p*= >w#6*= >w#6 *7 *= N#Fq#p *= :>w:>*A7 n*A7  *= -!66!66!"=!>6*=*7s#r*7##=Ͱ*=##q#p͠##*= q#p*= >w#6*7##> ͼ *= q#p *= 6*= :>w*> :>=O ~=ZH2>2>*L7}³*>DMͮÿ*>DM*>ͮ>7́ص-!!>s+p+q+p+q:!><2#>!$>6:#>!$>ں:!>2">O! n&*>0!&>s:#>#wO*> s>9!&>F*%>&*>>w*">& n&*>">:!>>`صHҳ9!*>/HH#~:H:7>:(>)HҺ:*>2=ÿ!;>6!;>6!;>6*26X6664!8>6:(>:!B>6!B>6!A>6:7>=!A>D*A>&(> *B>& = w!B>4+4!A>6>!A>q*A>& *B>& = w!B>4+4I:(>:‚:*> +|m={ͬ*|7###"L7!=6͊*=!=6͊!>p+q*>"=m={F}_|Wyx~#ͳ|YQTHA>2!߰!t6K!6K>'!K:6!~2:7!~2:1802X!p*84,8 *=:>w*7##=Ͱ*=##q#p:> ڨt!>4>=́">!>6!>6+N#F+q#p*=:>wuG*A7 N*>& >jt:>#*=#"=:>>ͻ *=6 !>4:,7 2>G*A7 ^*="=G*A7 N*A7 :>>ͻ *=S*A7 :!&>6:$>!&>ڭ:&>!%>=O*> *&>&*> w!&>4:$>2#>!$>4:!> *">& :#><2#>O*> w*>:#>wYQTHA!'>qͳ*'>& N2WORKFILES .OVE 0FATAL COMMAND TAIL ERROR - OPERATION ABORTED ***8>&6 ~&‡VB{I{6|66*>2=Ç!=60!;>6:;>ҟ{MEMORY RECLAIMED *r7p7*x7v7*77*7 7{!66!76?*y=#~y=́ͳ͏#"=*y=##^#V!"=!=͏қ*=)*=+==t)͗*=#"=*=+!=͏ڍ*=)*=*8868CرԱ`ֱڱ<ܱkޱG08}18>2> 2!s6K!6K!>͢:!4:Ϝ! ""!>͢! :ϜG"M>"_>!"q>*"!pǭAC6R#ww#6C#6C24x23^#V|F#N:3˷nqyHGqHN#F:3>2>uG*A7 DMͷI *7 ~ʧ?!76>!6ҹ?*7 >6͏ͬ*766k*7>6 >k! >P*>!ct!" >ͺ!>6*7>6 >kͺ!>>* > DM͵!>6!>s+p+q:>ҙ!66! >͏wt*74!8>6#6 ý*8>&6 ~29>a/>z!9>/HҰ:9>29>:9>;½!9>6 L:9> !8>4L!7>6;L*7>&(> :9>w!:>6:9>A/>Z!9>/H~0/>9/HH~.H~:HL!:>6*7>&(> :9>w!7>4#4L::>Z!7>6#4:8>g!8>6!>>6!@>6:@>/:>>=s#r*="=]*=)*y=##q#p*=)*=*=s#r*=)*=^#V"=!N>r+s+p+q*w=DM*M>K*w= "O>*w= !O>͏2 *O>"O>2*O>*w=ͰK>̈́/*O>M>t+s#r!Q>6:==!Q>q*{=+"{=*Q>& = *{=wAj*{=>_w!Q>483*{=>˷ʄÆ#6 ˆ:4_6 ##R24>25^#V{~#FʽõG:4˰Gxxxx ###åx " *> 25 &#^#V#`i:5Ghå ON OFF OFF :7GKKxG:7!`~'b/e~w#h؜CڜU*>*>M6͏:> >ͻ+s#r:47ÿG*A7 *A7 *A7 ^DM*|7+++"|7DM$!>r+s+p+q*p7*>">>>t!c*>#q#p@@*L7|2>!>6!>6#6͛!>q:>G*N7DM͡G/!>6:>_*N7DM=2:>=!>O# :>w:><*7)H!?>6#6!7>:?>*>>& *?>& *?>&(> !@>w+4Ì!>>4r>!>>>:>>=:;>::>:(> :(> H!;>6!;>6h6:7>:(>(H:7>:(>:H:)>FH:*>0/>w:c{=́+s#rp!>6.7{ͬ:>.¯ү>>:>2>. >= -!">*y=#~=!>͌*>*y=*> > w*>">*y=#~<<2>!AR>> +|!A>R> +|,:> E>{*>M2>{!>r+s+p+q+p+q>>́صq*>*>DMܜgޜyᜐ .2!6K>T2H>O2I!6K>!͢:!4! "!>͢:̜f! "I"K"M"O"Q!p͵    :2МҜԜ֜ ?K̜̜̜̜͜ ̜@͊͜N #~=#|--------------------------------------------------------------------- | PC =XXXXX TM0=XXXXX RBS =X R0=XXX R4=XXX | SP------------------------------------------------------------ | TD = XX instruction display, enter ON or OFF | TR = XX register display, enter ON or OFF | TB0= TB1= TB2= TB3= | TS = XX status display, ent | BRB= (go mode only) BC disables all | branch | BV=N xxx (step mode only) breakpoints. | value --------------------------------------------------------|----------- ----- d͵}i`N#Fogo&og_{_z#W_og y0h? =XXX TM1=XXXXX BASE =X R1=XXX R5=XXX | DPTR=XXXXX SUFFIX=X R2=XXX R6=XXX | ACC =XXX PSW=XXXXXXXXB R3=XXX R7=XXX |_______________________________________er ON or OFF |----------------------------------------------------------------------- | DISPLAY START/STOP CONTROLS |----------------------------------------------------------------------- | TR0= TR1= TR2= TR3=  EMV51 VER X10 FUNCTION KEYS = | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | |MEM| BR| DT|REG| | | | | | | ----------------------------------------- TYPE FOR COMMAND ASSISTANCE ______________________________  ---- | MEMORY COMMANDS | CBYTE (code memory) | | TO location | = value | DBYTE (data memory) | | | | RBYTE (registers ) | location | LENGTH n | RBIT (bit flags ) | | | TV=N (TV=n value switch) (TRx=address sw) J|----------------------------------------------------------------------- ----- --------------------------------------------------------|----------- BREAKPO :ʌ2͵ ERR 80 SYNTAX ERROR 7i *7S:=27oJ!>r+s+p+q>@!>r+s+p+q>@!>">> @`o!>r+s+p+q+p+q+p+q+p+q>@!>r+s+p+q+p+q+p+q+p+q>@!?r+s+p+q> @! ?r+s+p+ $| PBYTE (ext. data ) | | C| CDUMP (code dump) | location TO location | DDUMP (data dump) | |----------------------------------------------------------------------- | TRACE DISPLAY CONTROLS (DTRACE) |-----------INT SETTINGS | TYPE --------------------------------------------------------|----------- | BR0= xxxx BR1= xxxx BR2= xxxx BR3= xxxx | location | BRR= | range q+p+q+p+q+p+q?@!?r+s+p+q+p+q+p+q ?@i`N#Fog_og_{ozg_ogDM!>))덑o|g =DM!>)) =YP뗕o>gYP}/o|/g_{ozg_og^#V) B~ I^#V|g}o T_{ozgO{ozg          ERR 18:UNDETERMINED ERROR ERR 19:UNDETERMINED ERROR ERR 1A:UNDETERMINED ERROR ERR 1B:UNDETERMINED ERROR ERR 1C:UNDETERMINED ERROR ERR 1D:UNDETERMINED ERROR ERR 1E:UNDETERMINED ERROR ERR 1F:UNDETERMINED ERROR ERR 38:CONTROL MEMORY FAILURE ERR 39:FIRMWARE CHECKSUM ERR ERR 3A:UNDETERMINED ERROR ERR 3B:UNDETERMINED ERROR ERR 3C:UNDETERMINED ERROR ERR 3D:UNDETERMINED ERROR ERR 3E:UNDETERMINED ERROR ERR 3F:UNDETERMINED ERROR ERR 58:UNDETERMINED ERROR ERR 59:UNDETERMINED ERROR ERR 5A:UNDETERMINED ERROR ERR 5B:UNDETERMINED ERROR ERR 5C:UNDETERMINED ERROR ERR 5D:UNDETERMINED ERROR ERR 5E:UNDETERMINED ERROR ERR 5F:UNDETERMINED ERROR ERR 0:UNDETERMINED ERROR ERR 1:UNDETERMINED ERROR ERR 2:UNDETERMINED ERROR ERR 3:UNDETERMINED ERROR ERR 4:UNDETERMINED ERROR ERR 5:UNDETERMINED ERROR ERR 6:UNDETERMINED ERROR ERR 7:UNDETERMINED ERROR ERR 20:ILLEGAL INPUT COMMAND ERR 21:COMMAND NOT ALLOWED NOW ERR 22:CO PROCESSOR HAS FILE ERR 23:COMMAND FORMAT ERROR ERR 24:TOO MANY BREAKPOINTS ERR 25:RELOCATABLE FILE ERR 26:UNRESOVLED EXTERNALS ERR 27:UNDETERMINED ERROR ERR 40:NO USER CLOCK ERR 41:NO USER VCC ERR 42:UNDETERMINED ERROR ERR 43:PROCESSOR NOT RUNNING ERR 44:UNDETERMINED ERROR ERR 45:UNDETERMINED ERROR ERR 46:UNDETERMINED ERROR ERR 47:UNDETERMINED ERROR ERR 60:UNDETERMINED ERROR ERR 61:UNDETERMINED ERROR ERR 62:UNDETERMINED ERROR ERR 63:UNDETERMINED ERROR ERR 64:UNDETERMINED ERROR ERR 65:UNDETERMINED ERROR ERR 66:UNDETERMINED ERROR ERR 67:UNDETERMINED ERROR ERR 8:UNDETERMINED ERROR ERR 9:UNDETERMINED ERROR ERR A:UNDETERMINED ERROR ERR B:UNDETERMINED ERROR ERR C:UNDETERMINED ERROR ERR D:UNDETERMINED ERROR ERR E:UNDETERMINED ERROR ERR F:UNDETERMINED ERROR ERR 28:UNDETERMINED ERROR ERR 29:UNDETERMINED ERROR ERR 2A:UNDETERMINED ERROR ERR 2B:UNDETERMINED ERROR ERR 2C:UNDETERMINED ERROR ERR 2D:UNDETERMINED ERROR ERR 2E:UNDETERMINED ERROR ERR 2F:UNDETERMINED ERROR ERR 48:UNDETERMINED ERROR ERR 49:UNDETERMINED ERROR ERR 4A:UNDETERMINED ERROR ERR 4B:UNDETERMINED ERROR ERR 4C:UNDETERMINED ERROR ERR 4D:UNDETERMINED ERROR ERR 4E:UNDETERMINED ERROR ERR 4F:UNDETERMINED ERROR ERR 68:UNDETERMINED ERROR ERR 69:UNDETERMINED ERROR ERR 6A:UNDETERMINED ERROR ERR 6B:UNDETERMINED ERROR ERR 6C:UNDETERMINED ERROR ERR 6D:UNDETERMINED ERROR ERR 6E:UNDETERMINED ERROR ERR 6F:UNDETERMINED ERROR ERR 10:UNDETERMINED ERROR ERR 11:UNDETERMINED ERROR ERR 12:PAR BLK DVC CODE ERROR ERR 13:PAR BLK FORMAT ERROR ERR 14:NON-ZERO COMMAND ACK ERR 15:NON-ZERO DONE FLAG ERR 16:DVC CD FORMAT ERROR ERR 17:DVC NOT IN DVC CD TABLE ERR 30:PGM MEMORY FAILURE ERR 31:DATA MEMORY FAILURE ERR 32:UNDETERMINED ERROR ERR 33:UNDETERMINED ERROR ERR 34:UNDETERMINED ERROR ERR 35:UNDETERMINED ERROR ERR 36:UNDETERMINED ERROR ERR 37:UNDETERMINED ERROR ERR 50:UNDETERMINED ERROR ERR 51:BANK SWITCHING HUNG ERR 52:UNWRITEABLE MEMORY ERR 53:UNDETERMINED ERROR ERR 54:UNDETERMINED ERROR ERR 55:UNDETERMINED ERROR ERR 56:UNDETERMINED ERROR ERR 57:UNDETERMINED ERROR ERR 70:UNDETERMINED ERROR ERR 71:UNDETERMINED ERROR ERR 72:UNDETERMINED ERROR ERR 73:UNDETERMINED ERROR ERR 74:UNDETERMINED ERROR ERR 75:UNDETERMINED ERROR ERR 76:UNDETERMINED ERROR ERR 77:UNDETERMINED ERROR     ERR 78:UNDETERMINED ERROR ERR 79:UNDETERMINED ERROR ERR 7A:UNDETERMINED ERROR ERR 7B:UNDETERMINED ERROR ERR 7C:UNDETERMINED ERROR ERR 7D:UNDETERMINED ERROR ERR 7E:UNDETERMINED ERROR ERR 7F:UNDETERMINED ERROR ERR 98:UNDETERMINED ERROR ERR 99:EXCESSIVE ITERATED DATA ERR 9A:UNDETERMINED ERROR ERR 9B:UNDETERMINED ERROR ERR 9C:UNDETERMINED ERROR ERR 9D:LINE TOO LONG ERR 9E:UNDETERMINED ERROR ERR 9F:UNDETERMINED ERROR ERR B8:ASSEMBLY IMPOSSIBLE ERR B9:NO HELP AVAILABLE ERR BA:UNDETERMINED ERROR ERR BB:ILLEGAL MAP BOUNDARY ERR BC:SYSTEM SYMBOL ERROR ERR BD:INVALID REG BANK NUMBER ERR BE:UNDETERMINED ERROR ERR BF:UNDETERMINED ERROR ERR D8:UNDETERMINED ERROR ERR D9:UNDETERMINED ERROR ERR DA:UNDETERMINED ERROR ERR DB:UNDETERMINED ERROR ERR DC:UNDETERMINED ERROR ERR DD:UNDETERMINED ERROR ERR DE:UNDETERMINED ERROR ERR DF:UNDETERMINED ERROR ERR 80:SYNTAX ERROR ERR 81:INVALID TOKEN ERR 82:UNDETERMINED ERROR ERR 83:INAPPROPRIATE NUMBER ERR 84:PARTITION BOUNDS ERROR ERR 85:ITEM ALREADY EXISTS ERR 86:ITEM DOES NOT EXIST ERR 87:UNDETERMINED ERROR ERR A0:UNDETERMINED ERROR ERR A1:UNDETERMINED ERROR ERR A2:UNDETERMINED ERROR ERR A3:UNDETERMINED ERROR ERR A4:MACRO FILE FULL ERR A5:UNDETERMINED ERROR ERR A6:UNDETERMINED ERROR ERR A7:UNDETERMINED ERROR WARN C0:EXCESSIVE DATA WARN C1:UNDETERMINED ERROR WARN C2:HARDWARE MISSING WARN C3:MULTIPLE HARDWARE WARN C4:EXTRA FRAMES WARN C5:RELOCATABLE FILE WARN C6:UNRESOLVED EXTERNALS WARN C7:UNDETERMINED ERROR ERR E0:UNDETERMINED ERROR ERR E1:UNDETERMINED ERROR ERR E2:UNDETERMINED ERROR ERR E3:UNDETERMINED ERROR ERR E4:UNDETERMINED ERROR ERR E5:UNDETERMINED ERROR ERR E6:UNDETERMINED ERROR ERR E7:ILLEGAL FILENAME ERR 88:MACRO PARAMETER ERROR ERR 89:MISSING CR-LF IN FILE ERR 8A:UNDETERMINED ERROR ERR 8B:UNDETERMINED ERROR ERR 8C:UNDETERMINED ERROR ERR 8D:UNDETERMINED ERROR ERR 8E:TRACE FRAME EMPTY ERR 8F:NON-NULL STRING NEEDED ERR A8:UNDETERMINED ERROR ERR A9:MAP CONTENTS CHANGED ERR AA:UNDETERMINED ERROR ERR AB:UNDETERMINED ERROR ERR AC:UNDETERMINED ERROR ERR AD:UNDETERMINED ERROR ERR AE:UNDETERMINED ERROR ERR AF:UNDETERMINED ERROR WARN C8:UNDETERMINED ERROR WARN C9:VERSIONS DO NOT MATCH WARN CA:PPC/OPCODE NOT VALID WARN CB:TRUNCATED TO 8 BITS WARN CC:UNEXPECTED TRACE WARN CD:TRUNCATED TO 11 BITS WARN CE:UNDETERMINED ERROR WARN CF:UNDETERMINED ERROR ERR E8:ILLEGAL DEVICE ERR E9:FILE OPEN FOR INPUT ERR EA:UNDETERMINED ERROR ERR EB:UNDETERMINED ERROR ERR EC:UNDETERMINED ERROR ERR ED:UNDETERMINED ERROR ERR EE:UNDETERMINED ERROR ERR EF:FILE ALREADY OPEN ERR 90:MEMORY OVERFLOW ERR 91:UNDETERMINED ERROR ERR 92:COMMAND TOO LONG ERR 93:UNDETERMINED ERROR ERR 94:NON-CHANGEABLE ITEM ERR 95:INVALID OBJECT FILE ERR 96:UNDETERMINED ERROR ERR 97:UNDETERMINED ERROR ERR B0:UNDETERMINED ERROR ERR B1:UNDETERMINED ERROR ERR B2:UNDETERMINED ERROR ERR B3:OFFSET IS TOO LARGE ERR B4:UNDETERMINED ERROR ERR B5:UNDETERMINED ERROR ERR B6:UNDETERMINED ERROR ERR B7:PARTITIONS NOT ALLOWED ERR D0:UNDETERMINED ERROR ERR D1:UNDETERMINED ERROR ERR D2:UNDETERMINED ERROR ERR D3:UNDETERMINED ERROR ERR D4:UNDETERMINED ERROR ERR D5:UNDETERMINED ERROR ERR D6:UNDETERMINED ERROR ERR D7:UNDETERMINED ERROR ERR F0:NO SUCH FILE ERR F1:WRITE-PROTECTED FILE ERR F2:UNDETERMINED ERROR ERR F3:CHECKSUM ERROR ERR F4:UNDETERMINED ERROR ERR F5:UNDETERMINED ERROR ERR F6:DISKETTE FILE REQUIRED ERR F7:UNDETERMINED ERROR     ERR F8:UNDETERMINED ERROR ERR F9:ILLEGAL ACCESS ERR FA:NO FILE NAME ERR FB:UNDETERMINED ERROR ERR FC:UNDETERMINED ERROR ERR FD:"DONE" TIMED OUT ERR FE:"ACKNOWLEDGE" TIMED OUT ERR FF:NULL FILE EXTENSION                         R$SYMBOL> Keyboard - RUBOUT = delete char ESC = cancel CTRL R = echo line Controls CTRL X = delete line CTRL P = literal char CTRL Z = delete line Function Keys are invoked by simultaneously pressing FUNCTION and a number. 1 instruction into 8O51 code memory at the address in the assembly program counter, type: ASM (EX: ASM MOV A,RO) After the instruction has been assembled into memory, the updated assembly proVERSION V1.0 12-12-80 "COPYRIGHT 1981 INTEL CORPORATION 4Help is available for the following commands and definitions. Type HELP followed by the full command name or . utility - BASE,CLOCK,DEFINE,DISABLE,ENABLE,EVALUATE,EXIT,LIST,LOAD,REMOVE = MEMORY 3 = DTRACE [ 5 to 9 and 0 are user defined] 2 = BREAK 4 = REGISTER 4

- This notation is used within the descriptions of other commands. An address can be a numeric value, symbolic gram counter will be displayed. (BASE - Refers to the current base in which numeric values are displayed on the console, initially hex. (Note: if symbolic display is enabled, memory addresses are displayed as a symbol. Trace data and br RESET,SAVE,SUFFIX,SYMBOL display - ASM,CBYTE,CDUMP,DASM,DBYTE,DDUMP,INTERRUPT,MEMORY,PBYTE,RBIT RBYTE,REGISTER emulation - BREAK,DTRACE,GO,PREVIOUS,STEP advanced - COUNT,FUNCTION,DIR,IF,INCLUDE,PUT,REPEAT,WRIT label, or an expression. Valid addresses are: 100H .ALPHA .ALPHA+5 oASM - Command to assemble instructions into 8051 code memory. (1) To deakpoint/qualifier values are always displayed in hex. See SUFFIX for current input base. (1) To display the current base, type: BASE (2) To change the current base, type: BASE = Y (Binary) Q E -
,,,,, ,,, ,,, , (EX: ASM ORG 400H) (3) To assemble an  (Octal) H (Hexadecimal) T (Decimal) BREAK - The BREAK command holds a display of all breakpoints until you enter a non-break command. The legal break commands are : address breaks      BR0=
, BR1=
, BR2=
, BR3=
range break BRR=
TO
branch break BRB = ON/OFF value break BV = n (step mode only) (value> id and Keyword used to reference 8051 code (program) memory. (1) To display one or more locations, type: CBYTE (EX: CBYTE O TO FFH) (2) To change one or more locations starting at
, FF  - Commands: (1) To change an 8051 register, type: = (EX: RO = 6 + 5 * 4) (2) To change the value of a user symbol, type: = <NOTE : If the 8051 actual clock rate is less than CLOCK command setting , EMV51 will not function. COUNT - The commands in the COUNT command are executed a fixed number of times or until a condition is satisfied, whichevs numeric value) clear all breaks BC The breakpoint display appears as follows: ;------------------------------------------------------|-------------| ;BREAKPOINT SETTINGS | TYPE | ;------- type: CBYTE
= [,]@ (EX: CBYTE 0 = 1,3,'TEN') (3) To change several locations and perform range-checking or repetition, type: CBYTE = expr> (EX: .PETE = 34 * 5) (3) To change a memory reference, type: CBYTE|DBYTE|PBYTE|RBYTE|RBIT = [,]@ change$expr::= er comes first. The is evaluated as decimal if there is no explicit radix. COUNT [ ]..... END = [] [] = An EMV-51 comm-----------------------------------------------|-------------| ;BRO = xxxx BR1 = xxxx BR2 =xxxx BR3 =xxxx | location | ;BRR = xxxx TO xxxx | range | ;BRB = ON/OFF BC disab [,].... (EX: CBYTE 0 LEN 9 = 1,2,CBYTE 56H) If the data requires more memory than the size of the address range, then a warning occurs. If the data requires less memory, Th | |CBYTE|DBYTE|PBYTE|RBYTE|RBIT (EX: CBYTE 0 TO 5 = 4 DBYTE 5 = CBYTE 4) See also ASM, BREAK, DTRACE, REGISTER, MEMORY CLOCK - The CLOCK command alloand = WHILE [] UNTIL [] The looping is exited if the value has a low-order bit-o (FALSE) in a WHILE or a low-order bit 1(TRUE) in an UNTIL. EX: COUNT 5 STEP UNTIL .Ales all| branch | ;BV = n xxxx (step mode only) breakpoints. | value | ;------------------------------------------------------|-------------| NOTE: xxxx is an
or supplied by user. OCBYTE - Commanen the data is repeated until the range is filled. CDUMP - The CDUMP command displays code memory to the console in both hex and ASCII. examples: CDUMP 1 to 5 CD 100 to Fws your 8051 clock speed to be specified. The default value is 15 (15MHZ). legal range is 2MHZ to 15MHZ. EXAMPLES: CLOCK (displays current setting) CLOCK=5 (sets clock to 5MHZ) =5 END  - Keyword reference to the 8051 registers. Each may be displayed by simply typing the keyword. All of them may be changed by typing the keyword followed by "=" and "". R0 Register 0* R1      Register 1* R2 Register 2* R3 Register 3* R4 Register 4* R5 Register 5* R6 Register 6* R7 Register 7* PC Program Counter (16 bits) DPTR Data pointer registers (16 bits) RBS Register BaDASM (EX: DASM 100H to 150H) An instruction is displayed if its first byte is within the , even though some subsequent bytes may lie outside the range. DASM assumes that the first byte of memorydata is repeated until the range is filled. ---- ---- ::=| | | | | | ---- ---- DDUMP - The DDrs in the [ ]... list are of the form "%" followed by a digit between 0 and 9. They are used to pass text to the macro when it is invoked. The syntax and semantics of the macro are entirely ignored at the point of macro definition, and nk Select (2 bits) TM0 Timer 0 (16 bits) TM1 Timer 1 (16 bits) ACC Accumulator B B-register SP Stack pointer * The registers are affected by the current setting of RBS. 9DASM - Command to disassemble  to display is an opcode. DBYTE - Command and keyword used to reference 8051 internal data memory. (1) To display one or more locations, type: DBYTE (EX: DBYTE 0 to 1EH) (2) To change one or more locations startinUMP command displays data memory to the console in both hex and ASCII examples: DDUMP 1 to 5 DD 100 to FFF DEFINE - Command to define a new user symbol or macro. (1) To define a new user symbol are not determined until a macro invocation. (EX: DEFINE :SQUARE .SQ = %0 * %0 EM) DIR - Command which displays the names of all available macros in the user macro list. The macro text is not displayed. 8051 code memory into assembly language instructions. User symbols which exactly match opcode addresses are displayed on a separate line. In disassembling addresses of all kinds, the user symbol table is searched first. If an exact match is found, itg at
, type: DBYTE
= [,]..... (EX: DBYTE 0 = 4,8,'TEN') (3) To change several locations and perform range-checking or repetition, type: DBYTE and add it to the end of the user symbol table, type: DEFINE . = (EX: DEFINE .TOM = 45+63H) (2) To define a macro type: DEFINE : [ ]...  DIR DISABLE - Command to disable a condition or mode. (1) To disable symbolic address display, type: DISABLE SYMBOLIC (2) To disable consol display of invoked macros (silent macros), type: DISABLE EXP is displayed. If an exact match is not found, the appropriate system symbol table is searched. If an exact match is found, it is displayed. If not, the address is displayed in hex. (1) To display one or more bytes of code memory, type:  = [,]..... (EX: DBYTE 0 LEN 9 = 1,2,XBYTE 56H,45H) If the data requires more memory than the size of the address range, then a warning occurs. If the data requires less memory, then the  EM ::=Any EMV-51 command except a macro definition command or remove macro command. The macro definition may not appear within any other compound command (e.g.REPEAT, IF, COUNT or another macro definition). The formal parameteANSION See also SYMBOLIC.  Commands: (1) To display an 8051 register, type: (EX: R3) (2) To display the value of a user symbol or system symbol, type: (EX: .ORA    NGE) See for displaying the value of a system symbol. (3) To display memory reference(s), type: CBYTE|DBYTE|PBYTE|RBYTE|RBIT (4) To display the 8051 registers, type: REGISTER E) | ;------------------------------------------------------------------| ; TD = XX instruction display,enter ON or OFF | ; TR = XX register display, enter ON or OFF | ; TB0 = XX TB1 = XX TB2 = XMBOLIC. EVALUATE - Command to evaluate an expression. The value is displayed in five bases (binary, ocatal, decimal, hexadecimal and ASCII). Plus, the symbolic representation and offset is displayed if there is a symbol in the user's symbol macro name if macro parameters do not need to be passed. examples: FUN = 1 :EX assign function key 1 to macro :EX FUNCTION display all assigned function keys %GO - Command to start emulation. If
 DTRACE - The DTRACE command holds a display of all trace conditions until you enter a non-trace command. The legal DTRACE commands are: TD = ON/OFF instruction disassembly TR = ON/OFF X TB3 = XX | ; TS = XX status display, enter ON or OFF | ;------------------------------------------------------------------| ; DISPLAY START/STOP CONTROLS | ;---table whose value is less than or equal to the value of the expression. If a symbol does not exist which is less than the expression value, the expression is displayed as a hex address. (1) To evaluate an expression, type: EVALUATE  is specified the program counter (PC) is loaded with the value of
before beginning emulation (emulation always starts at the address in PC). If
is missing the PC is unchanged. The BREAK command must be used before typing GO if register display TB0,TB1,TB2,TB3 =
bit flag displays TS = ON/OFF status display TR0,TR1,TR3,TR4 =
,ON/OFF start/stop display at adr TV= n ---------------------------------------------------------------| ; TRO=xxxx,sw TR1=xxxx,sw TR2=xxxx,sw TR3=xxxx,sw | ; TV=n xxx,sw (xxxx = location, sw= ON or OFF) | ;------------------------------------------------- (EX: EVALUATE 6T+(NOT 42H)) aEXIT - Command to exit the debugging session and return control to ISIS. EXIT . - Expressions can be used to specify numeric values or boolean conditions. They have  you wish to stop at an address or range of addresses. Another method of stopping is to use the break (escape) key. (1)To start emulation, type: GO [[FROM]
] , ON/OFF start/stop display if value- DTRACE display: xxxx is found in register n ;------------------------------------------------------------------| ; TRACE DISPLAY CONTROLS (DTRAC-----------------| ENABLE - Command to enable a condition or mode. (1) To enable symbolic address display, type: ENABLE SYMBOLIC (2) To enable console display of invoked macros, type: ENABLE EXPANSION See also SYthe following form: [ ]... =[NOT] [CBYTE,DBYTE,PBYTE,RBYTE,RBIT]
= < , > , <= , >= , <> , = , AND , XOR , OR FUNCTION - Function keys can be assigned to a * - A sequence of one or more of the following characters: ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789@? The first character must be an alphabetic character and only the first 31 characters are significant. Dollar signs are allowed but ign    ored. (EX: FOO ERR$ORS A?12) ,IF - The conditional command allows conditional execution of one or more commands based on the values of boolean conditions. IF [THEN] =[ ]... =[ ]... [ORIF =An EMV-51 command. ]... [ELSE ] END The s are evaluated in order as 16-bit unsigned integers. If oevious source. Nesting of INCLUDEs is permitted. The console (:CI:) may be given as the , in which case a control-Z must be used as the end-of- file. The commands input are echoed on the console. Any EMV-51 commands may appear in the INCInstructions: Bit-Manipulation-Instructions: MOV MOVC MOVX PUSH POP CLR SETB CPL ANL ORL MOV XCH XCHD Control-Transfer-Instructions: No-operation-Instruction: AJMP CJNE DJNZ JB JBC JB NOP JMP JNB JNC JNZ RET JZ LJMP RETI SLIST - Command which sends a copy of all console input and output from the debugging session to an ISIS file. (1) To direct the copy to a line printer, type: LIST :LP: (2) To direct the copy to an ISIS file, type: LIST following that are then executed and all commands in the other s and in the are skipped. If all s have value with low- order bitLUDEd file. INCLUDE is needed to load macros. A macro can be saved using a PUT command, edited under the ISIS editor, and then brought back into the emulator using the INCLUDE command. Include has the following form: INCLUDE JMP ACALL LCALL INTERRUPT - Command to display the interrupts in progress (priority 0 in progress (IIP0), priority 1 in progress(IIP1), interrupt enable (IE), and interrupt priority (IP)). To display the interrupts type: INTERRUPame> where is defined as the name of an ISIS file. (EX: LIST :F1:TEST.111) (3) To terminate the copying, type: LIST :CO: -LOAD - Command to load object code and/or its symbols. The symbols are added: 0 (FALSE), then all commands in all s are skipped and, if ELSE is present, all commands in the are executed. ORIF allows an optional second IF clause. In this example STEP is executed if .LOOP=5 otherwise GO is executed. (EX: INCLUDE :F1:MACRO.SAV)  - A standard 8051 assembler instruction. When enclosed between a pair of double quotes, an can be used as in an
. Its value is the opcode result of assembling the instruction (onlyT The interrupts are displayed in the table format shown below. EA SINT TIMER0 EXTI1 TIMER0 EXTI0 IIP0 X X X X X IIP1 X X X X X IE X X X X X X  to the end of the EMV-51 symbol table. (1) To load the object code and its symbols, type: LOAD :Fn: where n is the drive number. (EX: LOAD :F2:MYPROG.OBJ) (2) To load only the object code, type:      LOAD :Fn: NOSYMBOL (EX: LOAD :F2:MYPROG.OBJ NOSYMBOL) (3) To load only the symbols, type: LOAD :Fn: NOCODE (EX: LOAD :F2:MYPROG.OBJ NOCODE) Note: The LOAD command does not check for dued. An error results if any command is incomplete or invalid after expansion. Nested macro invocations are allowed but recursive macros may cause problems. (1) To invoke a macro without parameters, type: : (EX: :SUM) n be executed by typing "M" or "MEMORY" or by pressing function key number 1. The purpose of the memory command is to display information about memory display and modify commands. More help information is available for CBYTE, DBYTE, RBYTE, RBIT, and
LENGTH
(EX: .START LENGTH 5) 7PBYTE - Command and keyword used to reference external data memory. (1) To display one or more locations, type: PBYTE Also type help - CBYTE, DBYTE, RBYTE, or PBYTE plicate symbols. thus, two loads of the same program will duplicate all symbols twice. Also, duplicate symbols can be accessed by entering the module name first. example: CBYTE <.module.symbol>  - Command to d (2) To invoke a macro with parameters, type: : [,]... (EX: :SQUARE 4 :SASSET '5,6',678) is variable text which must be enclosed in single apost PBYTE.  - A sequence of numeric characters (digits) followed by an optional suffix to specify the constant's input base. If no suffix is specified, then the default suffix is assumed (see SUFFIX) unless otherwise stated. D (2) To change one or more locations starting at
, type: PBYTE
= [,]........ (EX: PBYTE 0 = 'TEN') (3) To change several locations and perform range-checking orisplay the text of the macros in the user's macro list. (1) To display the text of one or more macros in the macro list, type: MACRO : [,:]@ (EX: MACRO :TAMAS MACRO :SUM,:DIV) rophes if it contains a ',' or . An actual parameter may be null, indicated by consecutive commas in the parameter list or by omitting actual parameters at the end of the list, in this case, the null string is substituted for the formal parameter.ollar signs may be included to improve readability but are ignored. (EX: 1001$1110Y (binary) 336Q (octal) 2048T (decimal) 1FA9H (hexadecimal) 186 (default suffix)  repetition, type: PBYTE = [,]...... (EX: PBYTE 0 TO FH = CBYTE 0 TO 8) If the data requires more memory than the size of the address range, then a warning occurs. If the data (2) To display the text of all the macros in the macro list, type: MACRO d - Command to invoke a user macro. If the expansion results in a set of complete, valid commands, the commands are execut If more actual parameters are provided than the number of formals, the extra actuals are ignored. If the macro expansion is enabled the invoked macro will be displayed on the console. See ENABLE,DISABLE. 'MEMORY - the memory command ca2 - A single address or a range of addresses. (1) For a single address, type:
(EX: 44H) (2) For a range of addresses, type either
TO
(EX: 0 TO FFH) or  requires less memory, then the data is repeated until the range is filled. ----- ----- = | | |      | | CBYTE|DBYTE|PBYTE|RBYTE|RBIT | ----- ----- wPREVIOUS - The previous command (P) displays the previous two instructions emulated. To envoke the command type "P". : RBIT
= [,]..... (EX: RBIT F0H = 1,1,0) (3) To change several locations and perform range-checking or repetition, type: RBIT = [,]..e locations starting at
, type: RBYTE
= [,]..... (EX: RBYTE 81H = 4) (3) To change several locations and perform range-checking or repetition, type: RBYT R5, R6, and R7. The general format for the individual register commands are: - displays register = - change register The REGISTER command causes the following display: ;-----------PUT - Command to store the definition of user macros in an file. (1) To store one or more of the user's macros, type: PUT : [,:]..... where is an ISIS filename. If = [,]@ If the data requires more memory than the size of the address range, then a warning occurs. If the data requires less memory, then the data is repeated until the range---------------------------------------------------------------| ; PC =XXXXXX TM0=XXXX RBS =X R0=XXXX R4=XXXX | ; SP =XXXXXX TM1=XXXX BASE =X R1=XXXX R5=XXXX | ; DPTR=XXXXXX ame> already exists, it is overwritten. (EX: PUT :F1:SAVE.MAC PUT :F2:MACROS.SAV,:MULT,:SUB (2) To store all of the user's macros, type: PUT MACRO (EX: PUT :F3:SAVE.IT MACRO) lled. ::= | | CBYTE|DBYTE|PBYTE|RBYTE|RBIT is truncated to the least significant bit. NOTE: Some bit addresses do not exist. Writing and displaying of these causes is filled. ::= | | CBYTE|DBYTE|PBYTE|RBYTE|RBIT NOTE: Some register immediate addresses do not exist. Writing and displaying of these causes unpredictable results.  SUFFIX =X R2=XXXX R6=XXXX | ; ACC =XXXXXX PSW=XXXXXXXXXXY R3=XXXX R7=XXXX | ;--------------------------------------------------------------------------| ;* RBIT - Command and keyword used to reference bit-addressable memory. (1) To display one or more locations, type: RBIT (EX: RBIT .CY) (2) To change one or more locations starting at
, type unpredictable results. RBYTE - Command and keyword used to reference directly addressable register memory. (1) To display one or more locations, type: RBYTE (EX: RBYTE 80H) (2) To change one or morREGISTER - The REGISTER command holds a display of selected registers until you enter a non-register command. Register commands are: PC, SP, DPTR, ADD, TM0, TM1, PSW, RBS, BASE, SUFFIX, R0, R1, R2, R3, R4, | ;--------------------------------------------------------------------------| Examples: PC PC=XX display PC PC=11 change PC to 11 REMOVE Comman    d to remove a symbol from the user symbol table or remove a macro from the list of available macros. (1) To remove one or more symbols from the user symbol table, type: REMOVE [,]..... (EX: D = | =An EMV-51 command =WHILE | UNTIL The looping is exited if the value has a low-order bit 0 (FALSE) in a WHILE or a low-order bit 1 (TRUE) in an (EX: SAVE :F1:FOO NOSYMBOL) (3) To save only the symbol table, type: SAVE NOCODE (EX: SAVE :F2:SYMBOL NOCODE) (4) To save a specified part of code memory and the symbol table, type: SAVE (step for one ins REMOVE .APPLE REMOVE .CAT,.DOG) (2) To remove all the symbols for the user symbol table, type: REMOVE SYMBOL (3) To remove one or more macros from the list of available macros, type: REMO UNTIL. (EX: REPEAT WHILE DBYTE 0 < .TOTAL STEP DBYTE 0 = (DBYTE 0) + 1 END) RESET - Command to reset. (1) The EMV-51 hardware is reinitialized (2) DTRACE commands are set to e> (EX: SAVE :F1:TOO 5 TO 45H) (5) To save a specified part of code memory with no symbols, type: SAVE NOSYMBOL (EX: SAVE :F3:CODE.SAV 100H TO 200H NOSYMBOL) STEP - Commandtruction, use current PC) STEP 50H (execute one instruction at address 50H) NOTE : see BREAK and DTRACE commands for step controls  - A list of characters preceded by an apostrophe, and extending to the next apostropVE : [,:]..... (EX: REMOVE :TRIANGLE REMOVE :TRUCK,:CITY) (4) To remove all the macros from the list of available macros, type: REMOVE MACRO REPEAT - The commands in the Rdefault conditions (3) BREAK commands are set to default state SAVE - Command to save code memory and/or symbols in an ISIS hex format object file. (1) To save the last partition loaded and the symbol table, type:  which causes the EMV-51 to emulate one 8051 instruction. During single step emulation trace is always available but will not be displayed unless enabled by the DTRACE Command. To single step, type: STEP [[FROM]
] [COUNT = ] [BR] he; except that a double apostrophe denotes a single apostrophe and does not terminate the string. (EX: 'THIS IS A STRING' 'RALPH''S STRING')  - One ASCII character enclosed between apostrophes. An apoEPEAT command are executed an unfixed number of times, until a condition is satisfied. Note that the "repeat forever" loop is achieved by a repeat command with no UNTIL or WHILE. REPEAT [ ]..... EN SAVE (EX: SAVE :F1:SAVE.IT) where is defined as the name of an ISIS file. For example: :F1:MYPROG.001. (2) To save only the last partition loaded type: SAVE NOSYMBOL An
if supplied, causes the program counter(PC) to be loaded with the value of
before single-step emulation occurs (emulation always starts at the address in PC). If
is missing the PC is unchanged. The COUNT option can be usstrophe used as an ASCII character must be entered as two apostrophes. The value is the ASCII for the character in the low-order 7 bits and zero in the other 9 bits. (EX: 'T', '3') SUFFIX - Refers to the current base in which numeric values wi          symbol in the user symbol table whose value is less than or equal to the address value. When displaying memory ranges, disassembling memory, or displaying trace data, a symbol is displayed only when the address to be displayed exactly matches the valmmands.  - A set of system predeclared symbols. They function much like user defined symbols except that their address is not changeable or removable. (1) To display the value of a system symbol, type: (EX: .SYNX) (2) To display the entire EMV-51 user's symbol table, type: SYMBOL (3) To define a new symbol at the end of the user's symbol table th no explicit suffix are input from the console. Initially hex. See BASE for current display base. (1) To display the current suffix, type: SUFFIX (2) To change the default suffix, type: SUFFIX = Y (Binary) ue of a symbol. Symbolic display is enabled initially. When it is disabled, addresses are always displayed in hex. (EX: ENABLE SYMBOLIC DISABLE SYMBOLIC) G - A reference to a symbol in the user's symbol$ref> (EX: .RESET) (2) To display the memory at a system symbol, type: CBYTE|RBYTE|RBIT (EX: RBIT .CY) The code system symbols(CBYTE) are: RESET EXTI0 TIMER0 EXTI1 TIMER1 SINT The data systemand assign it a value, type: DEFINE . = (EX: DEFINE .T2 = 54T) (4) To change the value of an existing user symbol, type: = (EX: .T2 = 64H) (5) To remove one or more symbols  Q (Octal) H (Hexadecimal) T (Decimal) SYMBOL - Command which displays the symbolic name and value of all entries in the EMV-51 user's table. SYMBOL For display of a single symbol see (EX: .ALPHA) (2) To access a multiple symbol, type: . [. [,] EX: REMOVE .T2,.SYNX) (6) To remove all the symbols in the user's symbol table, type: REMOVE SYMBOL For information on the$symbols> or . SYMBOLIC - Keyword used with the ENABLE or DISABLE command to turn on or off "symbolic address" address display. When enabled, addresses are displayed as a user symbol plus an offset(in hex) if there isifier>]........ To indicate the first occurrence of BETA after the second occurrence of ALPHA in the user's symbol table, type: .ALPHA.ALPHA.BETA See , , and SYMBOL for related coIT0 SM0 SM1 SM2 REN TB8 RB8 TI RI EA ES ET1 EX1 ET0 EX0 PS PT1 PX1 PT0 PX0 RD WR T1 T0 INT1 INT0 TXD RXD  - A reference to a symbol in the EMV-51 user symbol table. (1) To disp system symbols, see . IWRITE - An explicit display command which can evaluate an and display it on the console. (1)To write one or more expressions, type: WRITE [,]..... ::= | (EX: WRITE 'ERROR HERE' WRITE 'NOW AT POINT ',.C)                         $SYMBOLS> Keyboard - RUBOUT = delete char ESC = cancel CTRL R = echo line Controls CTRL X = delete line CTRL P = literal char CTRL Z = delete line Function Keys are invoked by simultaneously pressing FUNCTION and a number. 1 instruction into 8O51 code memory at the address in the assembly program counter, type: ASM (EX: ASM MOV A,RO) After the instruction has been assembled into memory, the updated assembly pro"COPYRIGHT 1982 INTEL CORPORATION 4Help is available for the following commands and definitions. Type HELP followed by the full command name or . utility - BASE,DEFINE,DISABLE,ENABLE,EVALUATE,EXIT,LIST,LOAD,REMOVE = MEMORY 3 = DTRACE [ 5 to 9 and 0 are user defined] 2 = BREAK 4 = REGISTER 4
- This notation is used within the descriptions of other commands. An address can be a numeric value, symbolic gram counter will be displayed. (BASE - Refers to the current base in which numeric values are displayed on the console, initially hex. (Note: if symbolic display is enabled, memory addresses are displayed as a symbol. Trace data and br RESET,SAVE,SUFFIX,SYMBOL display - ASM,CBYTE,CDUMP,DASM,DBYTE,DDUMP,INTERRUPT,MEMORY,PBYTE,RBIT RBYTE,REGISTER emulation - BREAK,DTRACE,GO,PREVIOUS,STEP advanced - COUNT,FUNCTION,DIR,IF,INCLUDE,PUT,REPEAT,WRIT label, or an expression. Valid addresses are: 100H .ALPHA .ALPHA+5 oASM - Command to assemble instructions into 8051 code memory. (1) To deakpoint/qualifier values are always displayed in hex. See SUFFIX for current input base. (1) To display the current base, type: BASE (2) To change the current base, type: BASE = Y (Binary) Q E -
,,,, ,,, ,,, , (EX: ASM ORG 400H) (3) To assemble an  (Octal) H (Hexadecimal) T (Decimal) BREAK - The BREAK command holds a display of all breakpoints until you enter a non-break command. The legal break commands are : address breaks      BR0=
, BR1=
, BR2=
, BR3=
range break BRR=
TO
branch break BRB = ON/OFF value break BV = n (step mode only) (value> id and Keyword used to reference 8051 code (program) memory. (1) To display one or more locations, type: CBYTE (EX: CBYTE O TO FFH) (2) To change one or more locations starting at
, FF  - Commands: (1) To change an 8051 register, type: = (EX: RO = 6 + 5 * 4) (2) To change the value of a user symbol, type: = < COUNT - The commands in the COUNT command are executed a fixed number of times or until a condition is satisfied, whichevs numeric value) clear all breaks BC The breakpoint display appears as follows: ;------------------------------------------------------|-------------| ;BREAKPOINT SETTINGS | TYPE | ;------- type: CBYTE
= [,]@ (EX: CBYTE 0 = 1,3,'TEN') (3) To change several locations and perform range-checking or repetition, type: CBYTE = expr> (EX: .PETE = 34 * 5) (3) To change a memory reference, type: CBYTE|DBYTE|PBYTE|RBYTE|RBIT = [,]@ change$expr::= er comes first. The is evaluated as decimal if there is no explicit radix. COUNT [ ]..... END = [] [] = An EMV-51 comm-----------------------------------------------|-------------| ;BRO = xxxx BR1 = xxxx BR2 =xxxx BR3 =xxxx | location | ;BRR = xxxx TO xxxx | range | ;BRB = ON/OFF BC disab [,].... (EX: CBYTE 0 LEN 9 = 1,2,CBYTE 56H) If the data requires more memory than the size of the address range, then a warning occurs. If the data requires less memory, Th | |CBYTE|DBYTE|PBYTE|RBYTE|RBIT (EX: CBYTE 0 TO 5 = 4 DBYTE 5 = CBYTE 4) See also ASM, BREAK, DTRACE, REGISTER, MEMORY CLOCK - The CLOCK command is nand = WHILE [] UNTIL [] The looping is exited if the value has a low-order bit-o (FALSE) in a WHILE or a low-order bit 1(TRUE) in an UNTIL. EX: COUNT 5 STEP UNTIL .Ales all| branch | ;BV = n xxxx (step mode only) breakpoints. | value | ;------------------------------------------------------|-------------| NOTE: xxxx is an
or supplied by user. OCBYTE - Commanen the data is repeated until the range is filled. CDUMP - The CDUMP command displays code memory to the console in both hex and ASCII. examples: CDUMP 1 to 5 CD 100 to Fot implemented =5 END  - Keyword reference to the 8051 registers. Each may be displayed by simply typing the keyword. All of them may be changed by typing the keyword followed by "=" and "". R0 Register 0* R1      Register 1* R2 Register 2* R3 Register 3* R4 Register 4* R5 Register 5* R6 Register 6* R7 Register 7* PC Program Counter (16 bits) DPTR Data pointer registers (16 bits) RBS Register BaDASM (EX: DASM 100H to 150H) An instruction is displayed if its first byte is within the , even though some subsequent bytes may lie outside the range. DASM assumes that the first byte of memorydata is repeated until the range is filled. ---- ---- ::=| | | | | | ---- ---- DDUMP - The DDrs in the [ ]... list are of the form "%" followed by a digit between 0 and 9. They are used to pass text to the macro when it is invoked. The syntax and semantics of the macro are entirely ignored at the point of macro definition, and nk Select (2 bits) TM0 Timer 0 (16 bits) TM1 Timer 1 (16 bits) ACC Accumulator B B-register SP Stack pointer * The registers are affected by the current setting of RBS. 9DASM - Command to disassemble  to display is an opcode. DBYTE - Command and keyword used to reference 8051 internal data memory. (1) To display one or more locations, type: DBYTE (EX: DBYTE 0 to 1EH) (2) To change one or more locations startinUMP command displays data memory to the console in both hex and ASCII examples: DDUMP 1 to 5 DD 100 to FFF DEFINE - Command to define a new user symbol or macro. (1) To define a new user symbol are not determined until a macro invocation. (EX: DEFINE :SQUARE .SQ = %0 * %0 EM) DIR - Command which displays the names of all available macros in the user macro list. The macro text is not displayed. 8051 code memory into assembly language instructions. User symbols which exactly match opcode addresses are displayed on a separate line. In disassembling addresses of all kinds, the user symbol table is searched first. If an exact match is found, itg at
, type: DBYTE
= [,]..... (EX: DBYTE 0 = 4,8,'TEN') (3) To change several locations and perform range-checking or repetition, type: DBYTE and add it to the end of the user symbol table, type: DEFINE . = (EX: DEFINE .TOM = 45+63H) (2) To define a macro type: DEFINE : [ ]...  DIR DISABLE - Command to disable a condition or mode. (1) To disable symbolic address display, type: DISABLE SYMBOLIC (2) To disable consol display of invoked macros (silent macros), type: DISABLE EXP is displayed. If an exact match is not found, the appropriate system symbol table is searched. If an exact match is found, it is displayed. If not, the address is displayed in hex. (1) To display one or more bytes of code memory, type:  = [,]..... (EX: DBYTE 0 LEN 9 = 1,2,XBYTE 56H,45H) If the data requires more memory than the size of the address range, then a warning occurs. If the data requires less memory, then the  EM ::=Any EMV-51 command except a macro definition command or remove macro command. The macro definition may not appear within any other compound command (e.g.REPEAT, IF, COUNT or another macro definition). The formal parameteANSION See also SYMBOLIC.  Commands: (1) To display an 8051 register, type: (EX: R3) (2) To display the value of a user symbol or system symbol, type: (EX: .ORA    NGE) See for displaying the value of a system symbol. (3) To display memory reference(s), type: CBYTE|DBYTE|PBYTE|RBYTE|RBIT (4) To display the 8051 registers, type: REGISTER E) | ;------------------------------------------------------------------| ; TD = XX instruction display,enter ON or OFF | ; TR = XX register display, enter ON or OFF | ; TB0 = XX TB1 = XX TB2 = XMBOLIC. EVALUATE - Command to evaluate an expression. The value is displayed in five bases (binary, ocatal, decimal, hexadecimal and ASCII). Plus, the symbolic representation and offset is displayed if there is a symbol in the user's symbol macro name if macro parameters do not need to be passed. examples: FUN = 1 :EX assign function key 1 to macro :EX FUNCTION display all assigned function keys %GO - Command to start emulation. If
 DTRACE - The DTRACE command holds a display of all trace conditions until you enter a non-trace command. The legal DTRACE commands are: TD = ON/OFF instruction disassembly TR = ON/OFF X TB3 = XX | ; TS = XX status display, enter ON or OFF | ;------------------------------------------------------------------| ; DISPLAY START/STOP CONTROLS | ;---table whose value is less than or equal to the value of the expression. If a symbol does not exist which is less than the expression value, the expression is displayed as a hex address. (1) To evaluate an expression, type: EVALUATE  is specified the program counter (PC) is loaded with the value of
before beginning emulation (emulation always starts at the address in PC). If
is missing the PC is unchanged. The BREAK command must be used before typing GO if register display TB0,TB1,TB2,TB3 =
bit flag displays TS = ON/OFF status display TR0,TR1,TR3,TR4 =
,ON/OFF start/stop display at adr TV= n ---------------------------------------------------------------| ; TRO=xxxx,sw TR1=xxxx,sw TR2=xxxx,sw TR3=xxxx,sw | ; TV=n xxx,sw (xxxx = location, sw= ON or OFF) | ;------------------------------------------------- (EX: EVALUATE 6T+(NOT 42H)) aEXIT - Command to exit the debugging session and return control to ISIS. EXIT . - Expressions can be used to specify numeric values or boolean conditions. They have  you wish to stop at an address or range of addresses. Another method of stopping is to use the break (escape) key. (1)To start emulation, type: GO [[FROM]
] , ON/OFF start/stop display if value- DTRACE display: xxxx is found in register n ;------------------------------------------------------------------| ; TRACE DISPLAY CONTROLS (DTRAC-----------------| ENABLE - Command to enable a condition or mode. (1) To enable symbolic address display, type: ENABLE SYMBOLIC (2) To enable console display of invoked macros, type: ENABLE EXPANSION See also SYthe following form: [ ]... =[NOT] [CBYTE,DBYTE,PBYTE,RBYTE,RBIT]
= < , > , <= , >= , <> , = , AND , XOR , OR FUNCTION - Function keys can be assigned to a * - A sequence of one or more of the following characters: ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789@? The first character must be an alphabetic character and only the first 31 characters are significant. Dollar signs are allowed but ign    ored. (EX: FOO ERR$ORS A?12) ,IF - The conditional command allows conditional execution of one or more commands based on the values of boolean conditions. IF [THEN] =[ ]... =[ ]... [ORIF =An EMV-51 command. ]... [ELSE ] END The s are evaluated in order as 16-bit unsigned integers. If oevious source. Nesting of INCLUDEs is permitted. The console (:CI:) may be given as the , in which case a control-Z must be used as the end-of- file. The commands input are echoed on the console. Any EMV-51 commands may appear in the INCInstructions: Bit-Manipulation-Instructions: MOV MOVC MOVX PUSH POP CLR SETB CPL ANL ORL MOV XCH XCHD Control-Transfer-Instructions: No-operation-Instruction: AJMP CJNE DJNZ JB JBC JB NOP JMP JNB JNC JNZ RET JZ LJMP RETI SLIST - Command which sends a copy of all console input and output from the debugging session to an ISIS file. (1) To direct the copy to a line printer, type: LIST :LP: (2) To direct the copy to an ISIS file, type: LIST following that are then executed and all commands in the other s and in the are skipped. If all s have value with low- order bitLUDEd file. INCLUDE is needed to load macros. A macro can be saved using a PUT command, edited under the ISIS editor, and then brought back into the emulator using the INCLUDE command. Include has the following form: INCLUDE JMP ACALL LCALL INTERRUPT - Command to display the interrupts in progress (priority 0 in progress (IIP0), priority 1 in progress(IIP1), interrupt enable (IE), and interrupt priority (IP)). To display the interrupts type: INTERRUPame> where is defined as the name of an ISIS file. (EX: LIST :F1:TEST.111) (3) To terminate the copying, type: LIST :CO: -LOAD - Command to load object code and/or its symbols. The symbols are added: 0 (FALSE), then all commands in all s are skipped and, if ELSE is present, all commands in the are executed. ORIF allows an optional second IF clause. In this example STEP is executed if .LOOP=5 otherwise GO is executed. (EX: INCLUDE :F1:MACRO.SAV)  - A standard 8051 assembler instruction. When enclosed between a pair of double quotes, an can be used as in an
. Its value is the opcode result of assembling the instruction (onlyT The interrupts are displayed in the table format shown below. EA SINT TIMER0 EXTI1 TIMER0 EXTI0 IIP0 X X X X X IIP1 X X X X X IE X X X X X X  to the end of the EMV-51 symbol table. (1) To load the object code and its symbols, type: LOAD :Fn: where n is the drive number. (EX: LOAD :F2:MYPROG.OBJ) (2) To load only the object code, type:      LOAD :Fn: NOSYMBOL (EX: LOAD :F2:MYPROG.OBJ NOSYMBOL) (3) To load only the symbols, type: LOAD :Fn: NOCODE (EX: LOAD :F2:MYPROG.OBJ NOCODE) Note: The LOAD command does not check for dued. An error results if any command is incomplete or invalid after expansion. Nested macro invocations are allowed but recursive macros may cause problems. (1) To invoke a macro without parameters, type: : (EX: :SUM) n be executed by typing "M" or "MEMORY" or by pressing function key number 1. The purpose of the memory command is to display information about memory display and modify commands. More help information is available for CBYTE, DBYTE, RBYTE, RBIT, and
LENGTH
(EX: .START LENGTH 5) 7PBYTE - Command and keyword used to reference external data memory. (1) To display one or more locations, type: PBYTE Also type help - CBYTE, DBYTE, RBYTE, or PBYTE plicate symbols. thus, two loads of the same program will duplicate all symbols twice. Also, duplicate symbols can be accessed by entering the module name first. example: CBYTE <.module.symbol>  - Command to d (2) To invoke a macro with parameters, type: : [,]... (EX: :SQUARE 4 :SASSET '5,6',678) is variable text which must be enclosed in single apost PBYTE.  - A sequence of numeric characters (digits) followed by an optional suffix to specify the constant's input base. If no suffix is specified, then the default suffix is assumed (see SUFFIX) unless otherwise stated. D (2) To change one or more locations starting at
, type: PBYTE
= [,]........ (EX: PBYTE 0 = 'TEN') (3) To change several locations and perform range-checking orisplay the text of the macros in the user's macro list. (1) To display the text of one or more macros in the macro list, type: MACRO : [,:]@ (EX: MACRO :TAMAS MACRO :SUM,:DIV) rophes if it contains a ',' or . An actual parameter may be null, indicated by consecutive commas in the parameter list or by omitting actual parameters at the end of the list, in this case, the null string is substituted for the formal parameter.ollar signs may be included to improve readability but are ignored. (EX: 1001$1110Y (binary) 336Q (octal) 2048T (decimal) 1FA9H (hexadecimal) 186 (default suffix)  repetition, type: PBYTE = [,]...... (EX: PBYTE 0 TO FH = CBYTE 0 TO 8) If the data requires more memory than the size of the address range, then a warning occurs. If the data (2) To display the text of all the macros in the macro list, type: MACRO d - Command to invoke a user macro. If the expansion results in a set of complete, valid commands, the commands are execut If more actual parameters are provided than the number of formals, the extra actuals are ignored. If the macro expansion is enabled the invoked macro will be displayed on the console. See ENABLE,DISABLE. 'MEMORY - the memory command ca2 - A single address or a range of addresses. (1) For a single address, type:
(EX: 44H) (2) For a range of addresses, type either
TO
(EX: 0 TO FFH) or  requires less memory, then the data is repeated until the range is filled. ----- ----- = | | |      | | CBYTE|DBYTE|PBYTE|RBYTE|RBIT | ----- ----- wPREVIOUS - The previous command (P) displays the previous two instructions emulated. To envoke the command type "P". : RBIT
= [,]..... (EX: RBIT F0H = 1,1,0) (3) To change several locations and perform range-checking or repetition, type: RBIT = [,]..e locations starting at
, type: RBYTE
= [,]..... (EX: RBYTE 81H = 4) (3) To change several locations and perform range-checking or repetition, type: RBYT R5, R6, and R7. The general format for the individual register commands are: - displays register = - change register The REGISTER command causes the following display: ;-----------PUT - Command to store the definition of user macros in an file. (1) To store one or more of the user's macros, type: PUT : [,:]..... where is an ISIS filename. If = [,]@ If the data requires more memory than the size of the address range, then a warning occurs. If the data requires less memory, then the data is repeated until the range---------------------------------------------------------------| ; PC =XXXXXX TM0=XXXX RBS =X R0=XXXX R4=XXXX | ; SP =XXXXXX TM1=XXXX BASE =X R1=XXXX R5=XXXX | ; DPTR=XXXXXX ame> already exists, it is overwritten. (EX: PUT :F1:SAVE.MAC PUT :F2:MACROS.SAV,:MULT,:SUB (2) To store all of the user's macros, type: PUT MACRO (EX: PUT :F3:SAVE.IT MACRO) lled. ::= | | CBYTE|DBYTE|PBYTE|RBYTE|RBIT is truncated to the least significant bit. NOTE: Some bit addresses do not exist. Writing and displaying of these causes is filled. ::= | | CBYTE|DBYTE|PBYTE|RBYTE|RBIT NOTE: Some register immediate addresses do not exist. Writing and displaying of these causes unpredictable results.  SUFFIX =X R2=XXXX R6=XXXX | ; ACC =XXXXXX PSW=XXXXXXXXXXY R3=XXXX R7=XXXX | ;--------------------------------------------------------------------------| ;* RBIT - Command and keyword used to reference bit-addressable memory. (1) To display one or more locations, type: RBIT (EX: RBIT .CY) (2) To change one or more locations starting at
, type unpredictable results. RBYTE - Command and keyword used to reference directly addressable register memory. (1) To display one or more locations, type: RBYTE (EX: RBYTE 80H) (2) To change one or morREGISTER - The REGISTER command holds a display of selected registers until you enter a non-register command. Register commands are: PC, SP, DPTR, ADD, TM0, TM1, PSW, RBS, BASE, SUFFIX, R0, R1, R2, R3, R4, | ;--------------------------------------------------------------------------| Examples: PC PC=XX display PC PC=11 change PC to 11 REMOVE Comman    d to remove a symbol from the user symbol table or remove a macro from the list of available macros. (1) To remove one or more symbols from the user symbol table, type: REMOVE [,]..... (EX: D = | =An EMV-51 command =WHILE | UNTIL The looping is exited if the value has a low-order bit 0 (FALSE) in a WHILE or a low-order bit 1 (TRUE) in an (EX: SAVE :F1:FOO NOSYMBOL) (3) To save only the symbol table, type: SAVE NOCODE (EX: SAVE :F2:SYMBOL NOCODE) (4) To save a specified part of code memory and the symbol table, type: SAVE (step for one ins REMOVE .APPLE REMOVE .CAT,.DOG) (2) To remove all the symbols for the user symbol table, type: REMOVE SYMBOL (3) To remove one or more macros from the list of available macros, type: REMO UNTIL. (EX: REPEAT WHILE DBYTE 0 < .TOTAL STEP DBYTE 0 = (DBYTE 0) + 1 END) RESET - Command to reset. (1) The EMV-51 hardware is reinitialized (2) DTRACE commands are set to e> (EX: SAVE :F1:TOO 5 TO 45H) (5) To save a specified part of code memory with no symbols, type: SAVE NOSYMBOL (EX: SAVE :F3:CODE.SAV 100H TO 200H NOSYMBOL) STEP - Commandtruction, use current PC) STEP 50H (execute one instruction at address 50H) NOTE : see BREAK and DTRACE commands for step controls  - A list of characters preceded by an apostrophe, and extending to the next apostropVE : [,:]..... (EX: REMOVE :TRIANGLE REMOVE :TRUCK,:CITY) (4) To remove all the macros from the list of available macros, type: REMOVE MACRO REPEAT - The commands in the Rdefault conditions (3) BREAK commands are set to default state SAVE - Command to save code memory and/or symbols in an ISIS hex format object file. (1) To save the last partition loaded and the symbol table, type:  which causes the EMV-51 to emulate one 8051 instruction. During single step emulation trace is always available but will not be displayed unless enabled by the DTRACE Command. To single step, type: STEP [[FROM]
] [COUNT = ] [BR] he; except that a double apostrophe denotes a single apostrophe and does not terminate the string. (EX: 'THIS IS A STRING' 'RALPH''S STRING')  - One ASCII character enclosed between apostrophes. An apoEPEAT command are executed an unfixed number of times, until a condition is satisfied. Note that the "repeat forever" loop is achieved by a repeat command with no UNTIL or WHILE. REPEAT [ ]..... EN SAVE (EX: SAVE :F1:SAVE.IT) where is defined as the name of an ISIS file. For example: :F1:MYPROG.001. (2) To save only the last partition loaded type: SAVE NOSYMBOL An
if supplied, causes the program counter(PC) to be loaded with the value of
before single-step emulation occurs (emulation always starts at the address in PC). If
is missing the PC is unchanged. The COUNT option can be usstrophe used as an ASCII character must be entered as two apostrophes. The value is the ASCII for the character in the low-order 7 bits and zero in the other 9 bits. (EX: 'T', '3') SUFFIX - Refers to the current base in which numeric values wi      symbol in the user symbol table whose value is less than or equal to the address value. When displaying memory ranges, disassembling memory, or displaying trace data, a symbol is displayed only when the address to be displayed exactly matches the valmmands.  - A set of system predeclared symbols. They function much like user defined symbols except that their address is not changeable or removable. (1) To display the value of a system symbol, type: (EX: .SYNX) (2) To display the entire EMV-51 user's symbol table, type: SYMBOL (3) To define a new symbol at the end of the user's symbol table th no explicit suffix are input from the console. Initially hex. See BASE for current display base. (1) To display the current suffix, type: SUFFIX (2) To change the default suffix, type: SUFFIX = Y (Binary) ue of a symbol. Symbolic display is enabled initially. When it is disabled, addresses are always displayed in hex. (EX: ENABLE SYMBOLIC DISABLE SYMBOLIC) G - A reference to a symbol in the user's symbol$ref> (EX: .RESET) (2) To display the memory at a system symbol, type: CBYTE|RBYTE|RBIT (EX: RBIT .CY) The code system symbols(CBYTE) are: RESET EXTI0 TIMER0 EXTI1 TIMER1 SINT The data systemand assign it a value, type: DEFINE . = (EX: DEFINE .T2 = 54T) (4) To change the value of an existing user symbol, type: = (EX: .T2 = 64H) (5) To remove one or more symbols  Q (Octal) H (Hexadecimal) T (Decimal) SYMBOL - Command which displays the symbolic name and value of all entries in the EMV-51 user's table. SYMBOL For display of a single symbol see (EX: .ALPHA) (2) To access a multiple symbol, type: . [. [,] EX: REMOVE .T2,.SYNX) (6) To remove all the symbols in the user's symbol table, type: REMOVE SYMBOL For information on the$symbols> or . SYMBOLIC - Keyword used with the ENABLE or DISABLE command to turn on or off "symbolic address" address display. When enabled, addresses are displayed as a user symbol plus an offset(in hex) if there isifier>]........ To indicate the first occurrence of BETA after the second occurrence of ALPHA in the user's symbol table, type: .ALPHA.ALPHA.BETA See , , and SYMBOL for related coIT0 SM0 SM1 SM2 REN TB8 RB8 TI RI EA ES ET1 EX1 ET0 EX0 PS PT1 PX1 PT0 PX0 RD WR T1 T0 INT1 INT0 TXD RXD  - A reference to a symbol in the EMV-51 user symbol table. (1) To disp system symbols, see . IWRITE - An explicit display command which can evaluate an and display it on the console. (1)To write one or more expressions, type: WRITE [,]..... ::= | (EX: WRITE 'ERROR HERE' WRITE 'NOW AT POINT ',.C)    ======== JNC CLRMSD ;CARRY OUT OF 6 DIGIT ADDITION? MOV @R1,#31H ; YES--PUT AN ASCII "1" IN RESULT BUFFER SJMP DONE CLRMSD: MOV @R1,#30H ; NO--PUT AN ASCII "0" IN RESULT BUFFER DONE: DOP ROX ;RESTORE PARAMETER POINTER SJMP DONE DEFINE :BLINK REP RBY .P1=O C 100 END RBY .P1=FF C 100 END END EM DEFINE :BLINK1 REP RBY .P1=0 C 100 END RBY .P1=FF C 100 END END EM DEFINE :BLINK2 REP RBY .P1=0 C %0 END RBY .P1=FF C %0 END END EM ; PDS DEMONSTRATION PROGRAM ; ;THIS PROGRAM ADDS TWO NUMBERS IN PACKED BCD FORMAT, AND CONVERTS THE ;SUM TO AN ASCII STRING. THE TWO NUMBERS ARE STORED IN CONSECUTIVE ;MEMORY BYTES AS: ; ;R0 -> FIRST BYTE = LEAST AND NEXT LEAST SIGNIFICATN DIGITS OF AUGEND ; SECOND BYTE = NEXT TWO MOST SIGNIFICANT DIGITS OF AUGEND ; THIRD BYTE = MOST AND NEXT MOST SIGNIFICATN DIGITS OF AUGEND ; FOURTH BYTE = \ ; FIFTH BYTE = > SAME FOR ADDEND ; SIXTH BYTE = / NIFICANT DIGITS OF AUGEND ; SECOND BYTE = NEXT TWO MOST SIGNIFICANT DIGITS OF AUGEND ; THIRD BYTE = MOST AND NEXT MOST SIGNIFICANT DIGITS OF AUGEND ; FOURTH BYTE = \ ; FIFTH BYTE = > SAME FOR ADDEND ; SIXTH BYTE = /  ; ;THE RESULT IS RETURNED IN A STRING POINTER TO BY R1. ; ************************************************************************** ORG 0040H ROX EQU 00H ;PSEUDONYM FOR R0 DEMO: MOV R1,#BUFFER ;GET POINTER TO RESULTS AREA MOV R1,#03 ;SET BCD D ; ;THE RESULT IS RETURNED IN A STRING POINTER TO BY R1. ; ;************************************************************************* ORG 0040H ROX EQU 00H ;PSEUDONYM FOR R0 DEMO: MOV R1,#BUFFER ;GET POINTER TO RESULTS AREA MOV R1,#03 ;SET BCD D              !    !    "    "    #    FICANT DIGITS OF AUGEND 8 ; SECOND BYTE = NEXT TWO MOST SIGNIFICANT DIGITS OF AUGEND 9 ; THIRD BYTE = MOST AND NEXT MOST SIGNIFICANT DIGITS OF AUGEND 10 ;  FOURTH BYTE = \ 11 ; FIFTH BYTE = > SAME FOR ADDEND 12 ; SIXTH BYTE = / 13 ; 14 ;THE RESULT IS RETURNED IN A STRING POINTER TO BY R1. 15 ; 16 ;************************************************************************* 0040 17 ORG 0040H 0000 18 ROX EQU 00H ;PSEUDONYM FOR R0 0040 7972 19 DEMO: MOV R1,#BUFFER ;GET POINTER TO RESULTS AREA 0042 7903 20 MOV R1,#03 ;SET BCD DIGITS COUNTER 0044 C2D7 21 CLR CY ;#    GET READY FOR ADDITION ACCTION 0046 C000 22 PUSH ROX ;SAVE PARAMETER POINTER 0048 750050 23 MOV ROX,#50H ;SET DATA LOCATION 004B E6 24 LOOP: MOV A,@R0 #######ied part of code memory with no symbols, type: SAVE NOSYMBOL (EX: SAVE :F3:CODE.SAV 100H TO 200H NOSYMBOL) *LIST :CO: ## #$$$$ 2 2 2 2 ;GET TWO BCK DIGITS FROM AUGEND 004C 09 25 INC R1 ;POINT TO CORRESPONDING DIGITS IN ADDEND 004D 08 26 INC R0 ; ("INC" DOESN'T AFFECT CARRY FLAG) 004E 08 *HELP SAVE SAVE - Command to save code memory and/or symbols in an ISIS hex format object file. (1) To save the last partition loaded and the symbol table, type: SAVE (EX: SAVE :F1:SAVE.IT) wher; PDS DEMONSTRATION PROGRAM ; ;THIS PROGRAM ADDS TWO NUMBERS IN PACKED BCD FORMAT, AND CONVERTS THE ;SUM TO AN ASCII STRING. THE TWO NUMBERS ARE STORED IN CONSECUTIVE ;MEMORY BYTES AS: ; ;R0 -> FIRST BYTE = LEAST AND NEXT LEAST SIG 27 INC R0 004F 36 28 ADDC A,@R0 ;ADD THE TWO TOGETHER 0050 D4 29 DA A ;ADJUST FOR DECIMAL ARITHMETIC 0051 C0E0 30 PUSH ACe is defined as the name of an ISIS file. For example: :F1:MYPROG.001. (2) To save only the last partition loaded type: SAVE NOSYMBOL (EX: SAVE :F1:FOO NOSYMBOL) (3) To save only the symbol table,NIFICANT DIGITS OF AUGEND ; SECOND BYTE = NEXT TWO MOST SIGNIFICANT DIGITS OF AUGEND ; THIRD BYTE = MOST AND NEXT MOST SIGNIFICANT DIGITS OF AUGEND ; FOURTH BYTE = \ ; FIFTH BYTE = > SAME FOR ADDEND ; SIXTH BYTE = / C ;SAVE RESULT 0053 540F 31 ANL A,#0FH ;GET LOWER DIGIIT 0055 4430 32 ORL A,#30H ;CONVERT LOWER DIGIT TO ASCII 0057 F7 33 MOV @R1,A  type: SAVE NOCODE (EX: SAVE :F2:SYMBOL NOCODE) (4) To save a specified part of code memory and the symbol table, type: SAVE (EX: SAVE :F1:TOO 5 TO 45H) (5) To save a specif ; ;THE RESULT IS RETURNED IN A STRING POINTER TO BY R1. ; ;************************************************************************* ORG 0040H ROX EQU 00H ;PSEUDONYM FOR R0 DEMO: MOV R1,#BUFFER ;GET POINTER TO RESULTS AREA MOV R2,#03 ;SET BCD D$    $$$ ORG 0 RESETT: AJMP STARTT ORG 1BH TIMER11:AJMP TIMOUT ORG 100H STARTT: CLR A CLR C MOV DPTR,#0000H MOV P1,#00H MOV P2,#00H MOV R0,#41H MOV TMOD,#20H MOV TCON,#00H MOV TL1,#0F4H MOV TH1,#0F4H MOV IP,#08H MOV IE,#88H SETB TR1 DEFINE :WIS STEP DBYTE 0 TO 7 STEP DDUMP 0 TO 55 EM  ENDSTA: AJMP LOOP LOOP: ADD A,#01H MOV P2,A JNC LOOP INC DPTR CLR C ENDLOO: SJMP LOOP TIMOUT: CLR TR1 PUSH PSW MOV P1,R0 INC R0 CJNE R0,#5BH,MIDOUT MOV R0,#41H MIDOUT: POP PSW SETB TR1 ENDOUT: RETI END $    IGITS COUNTER CLR CY ;GET READY FOR ADDITION ACCTION PUSH ROX ;SAVE PARAMETER POINTER MOV ROX,#50 ;SET DATA LOCATION LOOP: MOV A,@R0 ;GET TWO BCK DIGITS FROM AUGEND INC R0 ;POINT TO CORRESPONDING DIGITS IN ADDEND INC R0 ; ("INC" DOESN'T A$$ $%%%%%%%% % % % % %%%%%%%%%%%%%%%%%%% %&&&&&&&&FFECT CARRY FLAG) INC R0 ADDC A,@R0 ;ADD THE TWO TOGETHER DA A ;ADJUST FOR DECIMAL ARITHMETIC PUSH ACC ;SAVE RESULT ANL A,#0FH ;GET LOWER DIGIIT ORL A,#30H ;CONVERT LOWER DIGIT TO ASCII MOV @R1,A ;PUT INTO RESULT BUFFER INC R1 ;POINT ILI51 7(C) 1979,1981 INTEL CORP. ISIS-II MCS-51 MACRO ASSEMBLER, V2.0ASM51ASM51.OVNASM51.OVMo^`^LSTOBJ:CO: PEJECTEJTITLETTSAVESARESTORERSLISTLINOLISTNOLIGENONLYGOGENGENOGENNOGEDEVICEDV TO NEXT RESULT BUFFER LOCATION POP ACC ;GET BACK RESULT O ADDITION SWAP A ;GET UPPER DIGIT ANL A,#0FH ORL A,#30H ;CONVERT TO ASCII MOV @R1,A ;PUT INTO RESULT BUFFER INC R1 ;POINT TO NEXT RESULT BUFFER LOCATION DEC R0 ;POINT TO NEXT TWOREGISTERBANKRB NOREGISTERBANK NORB|7777777777777777777777889INTERNAL ERROR- INDEX TOO BIG IN MORE$PRIMARIESINTERNAL ERROR- CASE 0 IN MORE$PRIMARIESEJECTTITLE MISSING A PARAMETERSAVERESTORETOO MANY RESTORESLIST/NOLIS BCD DIGITS IN AUGEND DEC R0 ; ("DEC" DOESEN'T AFFECT CARRY FLAG) DJNZ R2,LOOP ;LAST PAIR OF BCD DIGITS ADDED? ; NO--ADD TWO MORE ; YES--CHECK LAST DIGIT OF SUM ;APPEND SECOND DEMO FILE HERE JNC CLRMSD ;CARRY OUT OF 6 DIGIT ADDITION?TGEN/GENONLY/NOGENALL5144NO PARAMETER GIVEN FOR "DEVICE"ERROR IN PARAMETER LIST FOR "DEVICE"NO PARAMETER GIVEN FOR "REGISTERBANKS"ERROR IN PARAMETER LIST FOR "REGISTERBANKS"NOREGISTERBANK!_r+s+p+q+q*_6> !_9J8Ϳ@*_M! < ^#V{8Ϳ@ %    <8!< <>_]::Vb:8Ϳ@ <:Vb):8!_]u::*_##DM\!"^ \9[[қ:!"^:9[[ҵ:>^ͼ]+s#r: 9[[:>^ͼ]+s#r: ; \*c~):*_6*c~,:*OBJECT AND ERRORPRINTSOURCE AND ERRORPRINTMACRO OVERLAYNONMACRO OVERLAY1o^T\!F7]P><Ϳ@!yc6f\A7X \<[[2^ \N:b2`2^:H7ښ>*c~!2^Қ>*c#"c \*c~&>Z[Z<[*c~><Ϳ@ \Ý>ͲZZH>=Ϳ@Z>!b6>N:v<Ϳ@*c6!c"c:^B`\Bf\:3`BZ\*#`+"c!"`6͓S*c"#`!_"c:^gBt^Ͷ\:|c^B<*|ct^H*Mc"^×B `n\:|cʃB<*|c `H `͒\*7c"^!"^*c#"c~C:"`ҴB*c6C:^B> ! _"cDM\>wc]B*c6C:^C*c~D PAGELENGTHPAGELENGTH OUT OF RANGEPAGELENGTH MISSING A PARAMETERBAD PAGEWIDTHPAGEWIDTH OUT OF RANGEPAGEWIDTH MISSING A PARAMETERDATE MISSING A PARAMETER*** CANNOT HAVE INCLUDE IN INVOCATIONINCLUDEFELL THROUGH HANDLED BY ILI CASE ??!Oaq*OaM*1`ͧc#"c: ;Å::Vb ; 9Ϳ@:Vb;,9Ϳ@!"^ <>_]/;;*_##DM\!^6 \*c~0U;:^2^Ô;*c~1i;:^2^Ô;*c~2};:^2^Ô;*c~3‘;:^2^Ô;;*c#"c \*c~)­;*_6*c~,;*c#"c;;>;:Vb;Q9Ϳ@:Vb;x9Ϳ@!^6 <>_b>(=Ϳ@:b4?:b.?!^6*c" `! `"c:^2`N* `"c4?J=Ϳ@:^!H7E?l=Ϳ@:b2^t^b$Xe7^Di7^D/BĆGҪ?GJڧ?:H`ڗ?IHґ?SÔ?ͻSç?:I`Ҥ?Sç?ͻSl?*o^=^D*p^=^D*q^=^D:o^ @^=t^JD:p^?$C*wc _Ͱ\!3`6@͘B*4`#"4`*1`#"1`*6`M!D ^#V*c~ ~ HSC*c~ ICC!6`6*c6*c~sC*4`+ͧS!6`6*c6AD:8`ڑC*4`+ͧS!"4`ÖC!8`6:7`ҨC!6`6AC*c~$¹C!6`6CA!6`6D*c~ ~ HC*c~ C!6`6*c6S*c~FCF*c~&G:"`GFCGG*c~;4GF:"`4GC:"`_G*c~&~;H\GGG*c~§G:"`ҡG>CüG:"`ҴGTEͿ@FCÁGK`Y!Ma6͒Z H:Ma<2MaH:"`GtEͿ@]<*_6!^6 <9!< <999:,:P:[:f: ;;!_r+s+q>_]6<:Vb><*_*_DM^aX^Ϳ@ILI V1.4 FATAL ERROR -- **INVOCATION LINE TOO LONGSOURCECI FILE FATAL ERROR -- FILES ARE THE SAME NOT ENOUGH MEMORYDEBUG NO SOURCE^=^JD:q^ @^=^JD:p^5@^=t^JD:q^5@^=^JD:q^I@^>t^JD:r^s@!J`6:r7!J`s@*J`&^ :^w!J`4U@S:_ҝ@`S74X`~\>*|cS7H_]`I74X`~\)>*|cI7H_]v!&`p+q\<ͬHl`DM\1\*@`"c*>`DM[[ҴD*@`"c1\*>`"c*@`DM[[ڔD<ͬHHEͿ@F>>cG*c~(XH>!Pa6!Na6`YH>!PaҡHC(HҁH>*c~(ŽH!Pa4*c~)›H!Pa5HkHC͵Y>!Rap+qYY@7X*QaDMX!Var+s+p+qYYY*SaDMX*UaDMX![a FILE FOUND IN INVOCATIONUNRECOGNIZABLE SOURCE FILE NAMEILLEGAL SOURCE FILE SPECIFICATIONSOURCE TEXT MUST COME FROM A FILEINVALID SOURCE FILE SPECIFICATIONPRINTOBJECTERRORPRINTSOURCE AND PRINTPRINT AND OBJECTPRINT AND ERRORPRINTSOURCE AND OBJECTwc'`]A*c>w*c#"c*'`"'`@*c6:-`A!-`6͜X*cDM}X2.`:.`>A*.`*cDM*)`aX*)`"c*.`& ")`:.`+`ͤ]+s#r!0`6+6:.`!/`A*c>w:-`A*c~&¦A:0`£A!-`6A*c~(¶A!0`4A*c~)A!0`5*c#"c!/`4uA:-`As*c#"c \:J@J>FJLJ>KZ]J*c~2ya`J>*c#"c:JsJ> \:ya!{ap+q`\ \KZҚJ*c#"cÉJ \*c~)ʽJ:"`ҵJ*zaDMͿ@F>!`"c["\a>͍QO!N ^#V:HbJ!H`6>JX!^s`aXN!s^6>:"`NuFͿ@F>NIHYNBEzJYN>d!\a]QN:"`INBEͿ@FYN*\a!^s!_6>N!_6>N:"`|NFͿ@IHҜNF|a7I|aS!7`6äNͧS>NJMKtKKKKKKLLL/MMMMMMMM NdNoNFXN:F0:!b6#6*ØQ!Hb6:G8R>!Ib6!G8:IbfR*Ib&8) N#F[[_R*Ib&8) ^#V"cK`[[YR*Ib&8) N#F `i"c~2Hb>!K`"c!Ib4R:"`pR>`QͬHpQXK`X_]TOO MUCH COMMAND TEXTTOO MANY COMMANDS!Zbp+q*Rb#*YbDM}X2[b_"Rb!]RRͿ@*Pb:[bw*Pb#"Pb*[bs#r*kb##"kb_7mb]+s#r*_7*]7DM*mbY*mb++*kbq#p`i"mb*_7s#r*kb##"kb*Wbs#rUNKNOWN ISIS ERROR4--ILLEGAL PATH NAME5--ILLEGAL OR UNRECOGNIZED DEVICE IN PATH12--ATTEMPT TO OPEN ALREADY OPEN FILE13--NO SUCH FILE14--WRITE PROTECTED FILE22--OUTKIHK`}X2a*aa`aX!a" b!I`6$K!" b}2I`*Hb* bDMb!8K*H8:bBK>!H`6>NIH`KE^7IiKe7^I!o^6>N!o^6>NIHҒKE^7IÛKi7^I!p^6>N!p^6>NIHKE^7IKm7\^YY͵Y!q^6>N!q^6>Nc"Fb!Eb6ZͲZ O!Eb4[N>!Eb~H'O!b6*Eb*FbDMbaX*Eb&b 6b\Z1\ 9bYbb9bx]:boO(b:bHX!.b6/b@bTX!2b6:9bҞO:9b02bûO>!9b~HһO:9b02b:bO!b63bNLX:b25bO:9b2b:Cb28bPRPR*YbDM*PbaX:[bPbͤ]+s#r:[b]+*Nb]!\bq:\bLbͤ]!Nb]4SRͿ@:\bTbͤ]+s#r!]bqS*Lb:]bw*Lb#"Lb!_bp+qS*Lb*^bs#r*Lb##"Lb!bbr+s+q*`bMCS*abDM[S:VbқS*Tb"Wb!Vb6!ebr+s+q*cbM*db{SK`ͮR{S[SK`ͮR{S`ͮRDM[S!jbr+s+qPUT MODE IMPOSSIBLE FOR SPECIFIED FILE23--NO FILE NAME SPECIFIED FOR A DISK FILE28--NULL FILE EXTENSIONEVEVEVEVXVmVEVEVEVEVEVEVVVVEVEVEVEVEVEVEVVWEVEVEVEV@WEVEVEVEVEVEVdX                   IHҘL!b6`\1J2bʘL:b<2bO:r7*L*b&^ :bw7L:"`7LEͿ@*c~,JL*c#"cÕL*c~)ŒL:b2^<2b:r7!bځL*b&^ *b& w!b4]L!r^6>ÕL!E"bÞLL!,E"b:"`ҭL*bDMͿ@F!^6!r^6>N!^6>!^6>NIHMEzJM:"`MINTNOPRNOPRINTOBJECTOJNOOBJECTNOOJERRORPRINTEPNOERRORPRINTNOEPWORKFILESWFDEBUGDB NODEBUG NODB PAGELENGTH PL PAGEWIDTH PW PAGING PI NOPAGING NOPISYMBOLSSBNOSYMBOLSNOSBXRXREFNOXRNOXREFDATEDAMACROM*ibDMͮR*hbM{ST\> ]"mb"kbLbJb]UͧS>!Rb]TRbmb]+s#r*Rb*kb*mbs#r*NbDMY*Jb"ob*ob~T*ob~©T*ob#mb͙]s#r*ob >]ʞT*ob mb͙]s#r*ob##"obT*ob~T*ob#mb͙]s#r*ob###"obYTT*kb>w#6Tbmb]+s#r*kb##"     >oXo&X&Yyx`i!xbp+q*wbDM\aZ<[wbc]}!yb"cDMz\*wc*c6!bqb\ ͵X ͵X!bp+q*b~X*bN͵X*b#"bX!bp+q*bDMXX ͵X{,$Y-Y%YDM {z+Y-Y!Y=Y !YxG>s7\a]u7+]HMEͿ@*\a"^>:"`$MFͿ@F>NIHsM2FzJsM:"`hM:w7\a]:y7+]HhM@FͿ@*\a!^s>:"`ҀMWFͿ@F>N!^6>!^6>N!^6>!^6>N!^6>!^6>NIHN`}X=2b>!bN!s^6*b& tRNOMACRONOMRINCLUDEICOOOOP PPPP*P.Pw#6*+`"qb!c"sb>!qb]oU*sb~^U*sb#"ub~ YU*sb6 ^U*sb6 *qb+"qb*sb#"sb0U*kb##"kb+`mb]+s#r*+`*mbcY*mb++"^*kbq#p`i"mb*+`s#r*kb##"kbc7mb]+s#r*c7*a7DM*mbY*mb++*kbq#p`i"mb*c7O>G /O ~#~#~#~#~#~#~#~# cYcY~+~+~+~+~+~+~+~+ ŒYŒYZ ZZZ-ZZ*b!Y`i"b"b*cN͵Y[*cDM\Z:bZYY *bq#"b *bq#p#"bɗ*b w#!Z"b*b )Zw#0Z*c~G;Z9&    Z;Z0ځZ:;Z1Z7;Za{ KZdZAځZGaZdZAځZ[aZ̓ZKZؗ͒Zx?aZ@aZ_aZ͒Zx:aZ.aZ;Z aZ aZZxaZ;Z aZ aZ;Z0 _*c~2bZ:b<cͤ]+s#rZ!bp+qN\c;[[:b8[&[!bp+qN\c2NO PARAMETER ALLOWED WITH _ `:F0:CI:F0:ABCDEF.GHIx )`c 1`]H`LJbtt5b~c|c|cc|c7c|c|cwc|c|cMc|c|cwc|cwc| & & &&&&&&&&&&&&&&&&&&& &''''''''''' '(((((((( ( ( ( ( ((((((((((((((((((( ()))))))) ) ) ) ) ))))Z[[:bW[E[!cp+qZ*c"cdZ*c:b/Hҙ[*c#"c[*c~–[>j[*c"cZ>!"cpZ[pZ[*c))))Z_"c[ñ[ \*c!"cKZ[KZ\!cͱ]Z_"c[[ \*cZ<[*c!!\`i"c"cG?2bx*cDM\:bM\dZ*cwc|cscuc|c|c:>~SCONSBUF"SM0"SM1"SM2"REN"TB8"RB8"TI"RISTSNSNRRCBTCBSTADRFLRBSTBSSMDRBLTBLSIUST"TBF"RBE"RTS"SI"BOV"OPB"AM"RBP" PASS1p[;*** UNIDENTIFIED OMF51P ERROR ***!Br+s+q> !Bҗ;[;9å;*B&"A*B"A!BBq* B:BBw* B#" B!DBp+q* B*CBs#r* B##" B!FBp+q:=]>Ä\>Ä\2c!cp+q>=]!#cs+h]*7c"-c")c)cq]!2cl]!<>>^\"uc "sc>!ic=]^\"sc "uc]>r+s+p+q++O@*|c|>NS2"NS1"NS0"SES"NR2"NR1"NR0"SERq#p`i"IB*@B~>IBͼAH|<*@B" B*9B+"9B!HB6* B6*@B"KB BKBͯAگ<*KB:HB2HB*KB"KBҌ<*HBMͦ;=B BͯA*=BDMxA*=B" B* B"@B*BMͦ;͹;*9B#"9B:B2;B:.B<&B/BͯA"MB>͛A=8=/B(BͯA"O2zc:yc |c@:{c ~c@Ǘ8]>4]?]@!cr+s+p+q+p+qc!]*v]i`N#Fog_og^#V))) _og_{ozgO{ozgi`N#Fogo&og_{_z#WU o^%^^^^^G^<xB>͛A2.Bp=*OB*/BDM*&B/?*5B"1Bv=*3B"1B&B/BͯA(BͿA+s#r*&B"/B!SBq1B BͯA2?B!B:SB!?B27B,B(BͯA!7B=<1B BͯA2?B!7B6:7B=>@BͼA=8<:?B=ͷ<>1BͼA>:SB2B<6=!WBr+s+p+qVBʹA4>*VB};*TB"=B" B*VB"$B*TB"&    "B>7ͥA"1B"3B!B6!"@B!VB͋A*TB"&B"(B*"B"*B> ͥA",B>7&BͼA"5B!.B6!]Br+s+p+q+p+q!"9B}2;B2T;2V;*XBDMZA:W;>*W;&};*ZBDM*\B>!"1B:B/O͑=*3B"1B!B6!"@B>lAyx`i!_Bp+q*^BDM4A?@^BiBͯA}DM {z@?B?!?R?":,D:O>G /O ~#~#~#~#~#~#~#~# x?x?~+~+~+~+~+~+~+~+ ¡?¡?*iB~G?9@?0@:?1@7?a{ ??A@G??A@[?@?ؗ!@x??@?_?!@x:C+CEv!نp+q!4N! *؆s#r>!eD*&) ^#V!5N! ^#V:ʄDxTvD:<2O>ҘD;Q*L ~2چO:ұD;Q*چ&)*J) N#F!L !چ:2O! a!܆p+q*ۆI) ^#V"݆*ۆ~J ~2߆!6:߆!8E*݆H) ^#V*M͊*E*@C)0+D@@ D@@  C)8 D@@  C) @ CFF"F$F&FF"F&FF/F1F7F@FIFMFRFVF[FMF1FaFkFpF[FVFRFvFF}FFFFFFFFFFFF/FFFFFFFF/F@FFFFG GFFGG%G-G4G|zyw|tnmkng"$d_)?.?? ? ?R@x?? ? ??0 _*iB~2`B͉@:`B<iB~A+s#r͉@!bBp+qTAkB@͖@:`B@õ@!dBp+qTAkB@͖@:`B@@!fBp+q͉@*iB"gB?*eB:`B/H(A*eB#"eB͖@*eB~%A>@*gB"iB͉@>*iB!DA`i"iB"iB!4*݆#"݆E!K^MD"K^:׆XE͚QeEͱWmWvDbXͼj*&) ^#V"ͅD*P ~¬EJͯAO) EͅDðEiE1D jMD"!E*!׆6E!׆6: FxT: F ͚QUU ͚QU@??Cg/?Y?;GAGGGMGSGXG]GbGfGjGnGqGtGwGzG|G~GGGGGkFGGaFaFGpFGpFGGGpFGaFGGFGGpFGGGpFGGpFGGkFaFGGaFGpFaFpFGGaFGpFGGaFGaFGGaF HHaFH&H0H:H0HBHIH0HSHYHcHgHmHSHmHwHHGHHHHH/FHH.0,y$)u79+o&("f*,n.nY3WU6SO9;N>n@WU@SOJCFEDdB@FEy?n<n7nQR@nQ542/"-n'n&`%c!filoru"@x{ G?2`Bx`i"lB!rBs+͎:*B"|B"xBxB×:!BÒ:!BX:_og^#V|g}o A_{ozgO{ozgi`N#Fogo&ogAKA B@B@ @B D?<75?C*G,542kUdWYP[S]_mq1i3s}w{ R E !%&*+-.0579;;>ADGJMPTWWZZ\__degj "@ "@t@n ~"@"sgtn"#"`"#i"@x@tnaj@^#@(n@Z1n@"xjV"VT@""@T#g@nn@n@Pt8t"'    ''''''' ' ' ' ' ''''TERRIOBJ[=JERRYBAK:ASM51NTMA3 >DAVE2LST- @DAVE2OBJABOB ADEMOPDSAJOB7CSD BJUNKYONE/ BEMULSES@TESTOBJ?ASM51STMA@EASM51NTMA( EISISDIR'ISISFREO'ISIST0ISISLABISISPDSM0ISISCLI COPY&" DIR ASSIGN8 ATTACHATTRIBDEBUG DELETEZDETACHHELPPDSHLPX CREDITL SYSPDSLIB  EMV51BEMV51OVE!EMV51BAKEMV51OVHDEMO2PDSSERIAL6 ;TERESABAK TERESAPDS#MACTMA2TERRIBAK 7ASM51,)$ASM51OV0= &ASM51OV1L &ASM51OV2a)ASM51OV3R*ASM51OVNd<,ASM51OVMk.TERESALST'2JERRYA51 :JOB8CSD@JOB9CSD1ATERESAOBJ:TERRIPDS;JOB2CSD<CREDITHLP,5CREDT1TMA2RENAME' 7ASM51STMA>TERRILST<DEMOOBJO:'    '@xn@L"(njnj@(n@n"@V@n#=n(nnI1nHGAHGKM:KMX0X[\+[\]be]b hehpqvpq8} }CnDuuyhjzyhu zzx1j)yj|yjzjnjj2SQ9<>ͯADSR9><ͯA+s#r*:"@*> ":*@R"B*B~R"D*D^#V!T;6::ҟS;R:2F:͚RFYeS2A>!AS!B6*A*AMRDMA -SS!B6̓V::T: ͕>>AͼAT*A"W;BR:Ϳ9ͅ:K^*DMsZ"G*GDMJ*`*& !dlWV>hͼAfW*`DM*b̓!"b;QV&W!s+p+q*M"W*&*b*`*DM/?:b~A+s#r!p+qmW!p+qmW::WV:BW*`DM*b̓}W*b"A::X{{ʹAQE!r+s+q*MͱW*DM͢W!s+q*M42dyjjxu=h=juujjjuCj{Ijfu7jjZuj{rur[j@`brq@rT`LqHrZ`a;\p>mEqpjH`tjN`OjnajZo``Ujk%jjfjhgf:ҊTͮU!6vVeS2eS2> !䆖~HҰT!6*M!U ^#VNR9íUsS"íUsS"íUsS*;͞A":/TT2íUeS2eS2%U**MRDM -UíUW*MͱW"W*d+++"dV*dq#pV*d*d##q*h*`"b*f"dͯAX*+"~2*++"*&*h͋*`DM*b/?:b~A+s#rsX*`bͿA+s#r*f+++"d>w#6NX!s+p+q!X}{ͯAY{{ʹAQ!{"{*{*s#r*|!!q4X*XmWNX!q4XͱW*MͱW*DM͢W!U;6NX!qbXͱW*MͱW*DM͢WUU"INTERMEDIATE*** TOKEN FILE EXHAUSTED ****** READ REQ. TOO BIGeS2!6íUíU!6íUeS2PTU~Q[U*PM͚Q:PfUTÊTíUeS2:2ͱW*DM͢WÊTíUeSO;QíUTTTTT(U6U9UAUlUU4XͱW*DM͢WNX!6:/UxTUͱWͱWWd;\::Uas>::/V *" ;::!:!:!:5V::2*{ w*}*{##w*{"{!"A* ;))  ͞AjY;QsS":ʸY*A&)) :w*A&))  :w#6*A&))  6!A4sS"pY*A&":A ;ͼA))*A&)) DMt:AͥA"A*A&*ADMt* ;)) "A "At!"!":A! -- TOKEN FILE ***PASS 1OBJECT FILE*** BAD HEADER TYPE IN PASS0:PASS1 FILE ***ASM51 OVERLAY 2ASM51 OVERLAY 3:;ҹR::2  WQ Ϳ9R*;*;DM/?*;"ͯADS*<*:DM/?*< ":*< ͞A͙*:DMj!":*R;*<"<>ͥAzRͿ9JV::2RͿ9ͅ:ASM51 XREF FILEASM51 INTERMEDIATE FILE*b"h*f"d::2S*A"`*A"d"f*A͞A#"j::V::2nl3NVlͿ9!{"{!w"}vVhbͯA:BVQp^VQͿ9!B6*`DM*h̓V"b*h*`*`/?!"h!q*brZ*~*#>H[Z*#>ͼA 6*"*"$Z!p+q*)) "> ͼA/!:ҡZ*DMX> ͼA/:AͼAHZ**A6ͯAZ*#"*!ęr+s+p+q*>*Ùw*~*Ù#w*#*Ù##N#Fq#p* *Ù w!șr+(    s+p+q*A&)) řͿAI[2͚QÕ[*ř>*Ǚ*Ǚ#~Hw*Ǚ##*ř#N#Fq#p*Ǚ *ř w::ҕ[*řDMX!ʙp+q*ə~!̙p+q*˙~!Ιp+q*͙>@w!Йp+q*A&)) ϙͿA[͚Q[*ϙ>w!љq*љ&)))!әs+6>!ҙ:\:ҙ!ә+~ o&))  Hq#6:ҙ *#w*#*##N#Fq#p* * w*~ ڇ_*~ v_!6*~ wÄ_!6*~ wÌ_!6>ͼA+s#r!p+q*DM_*N!;^ N!` ^#V`͚Q*6*##>w#6`* ~_*6* 6 `͚Q*6*##>w#6`___!s+q:-`::H;ca:Fcͣa͇^2f!!6:f:fH҈c:zc:2!Èc:ˆc:2!::H::HHc!:c:f:f/> !f/HHc!6!6+6!6::He! 6!$6*fM!e ^#V3g!"ͪ^:xJg!g6Og!g6:u2h*v"i:x2kgͪ^:2.|g!",õg:.g*&",õg:.¦g:2,:2-õg*.&/?*ͪ^!lq>!lg:l0g>>!lg:lg>>g>g>!ns+q:m4h:m _!ͭ{H>H2oo&)) 6!ҙ4[}vͯA"֙!{W\*{"֙:x­\*u&̄ *vs#r*u&̄  :zw*u&̄  *֙s#r\*"ԙ#*vs#r*x&))  :zw*x&))  *֙s#r!ؙq*ؙ&)) ~2y  ~2z!  ^#V"{!ٙq:ٙ2u!y6 : *Md^d^d^d^d^ d^!bs+p+q+p+q*^>w#6:b`~A+"VDM4A?ҟ`!X6`ͻB2XOC͊ڸ` ͚Q*X&F ~2X*V+"V*X&7) ^#V"*X&? ~2Y*X&/) ^#V"Z*`"iBViBͯA}a#a*^>w#6 ͚Q*^^#**""eͯA""e*""e*$""e*ͥ""eͯA‰d!""Ïd!""eͯA¨d!""îd!""eͯAd!""d!""eͯAd!""d!""eͯAe!""e!""eͯA e!""&e!""!nw#6!ޙr+s+q*ܙ&̄  *ݙs#r*ܙ&̄ *ݙs#r*ܙ&̄  >w#6*ܙ&̄  6!ߙq*ߙ&)) ~!q*V"\*^^#V*Y&̄|@_+s#r*^\ͯAZ\ͯAHwa*^>w#6͚Q͖@a!cq:c:cH:cH,͚Q;`ͪ^!ep+q ͱW*dDMmWͱW͇^OͱW6`ͪ^ͯaͯaͱW͇^OͱW6`ͪ^͚_: b;`ͪ^:ba:#bͣa:2 e**̄""e>ͼAXe͚Q! 6!""fe**ͭ""e>ͼAˆe͚Q! 6!""Õe**ͭ""e*}ªe*""÷e*M! ""e*}e*""e*M!͋A""e)d7dFdUdddsddddd e)e9eieeef!""}2$!fvf:*M~aH*MQ!6::H2t[i*M^2s`i!s6::H:s/Hҍi(͚Q!6i>!!t:*Mͼg/HHi͚Q!6:pi:pi͚Q!p6i>!qi ͚Q!p6/-.$&%'!6#6#6#6!6*v"*& ~:^)͚Q!"!"!"!"! q*#"!^;Q*: wʹAқ^;Q>*~2 *+"! p+q*"!^;Q* * #~*w* ##*#N#Fq#p* * w!p+qʹA_;Q*>*w*~!!6:2$͇^O!b ^#V*"":2!b:mb*"":2!qbͣab:ˆb*""Ìbͣab:¤b*|o&""öb*M`2 *""b:b*}o&""b*M`2 *""bDbSbtbbb ͪ^͚_͚_::Hc;`ͪ^:~a:HHof**"":`f:2 :2$lf:2 :2$sfͣaf:ff*M~a:HfͯA"":¸f:2 :2$f:2 :2$fͣafͣa ͪ^'*f`%ͪ^k:g ͱW*DM͢W6`ͪ^9g:%g ͚Q;`ͪ^9g:"!6!6!6!6!6!6!6!6!6:2!6!6!6!6 !6!6!6!6!6!6!6!6!6!6*"v!6_:j:4A;O;?2;::j;:2!6_*"DMZk:ik:(    z4k͚Q:xDk!6Ik!6:u2*v":x2*DM#[nk͚QͱWͱW!p+qͱWͱW*DM͢W͚_͚_::H!ᙶkbX:k ͚Qk:k͚Qk+͚Q!6!":k!6!p+q*|2l>:l>>:20o͚QVo:Qo*&"*DM#[Vo͚Qok͚k:so-m_o:‡obX_o*M!o ^#VTl!6oͪl!6okl!6om!6ol!6ooooook:o*DM#[o͚Q*DMzk!s+q:p>::H+pA5s"͚Q`s!6:#w>#w#6*B#s*DM#[*B#"B!6>!ڭs*M]>{ͼA!zҦs*u*}*{DMi!4fs#3Ԥ%5$4(8HXhEUeDTdtBRbCScr 0@P`p!p+q>ͼAt:z(tmbXH0w:Yw:Lw*̜#uVw*̜#ubw*̜u!Мs+q͓k:Šw-m*МM*ϜXxtáw*v#*ϜMCv*МM*t!ќq!s:ќ2Ӝ͓k:x͓k:w-m*ќMXx:Ӝw*v##Cvw*v#Cv-m*ќMX*MͱWtÞx:Ӝ(x*v#Cv3xl!"Sl*DMkAlSl:Sl͚Q!":]l:jl$͚Q!l>!:Hғl>ͼAM#^:œl:ʩl%͚Q:³l:l&͚Q!l>!:Hl>ͼA>͖M#^:l:m'͚Q!l:m:m͚Q*y&i >::HFp>:::HHmp>>k*DMͣ[҈p͚Qp:ʘp͚Qp*M*oگp0͚Qp>BͼAp!͚Qp*B#"B!s!6!"*DM#[*M*n]͚k:q-mKq:qbXKq:"q͚QKq>!**v"*#͞AHt!z6jtvͯA+ͱAHjtmbX*"vttt!p+q:2:2*!qͱW*MͱWqt!p+qͱW*DM͆tDM͢Wxt!s+qͱW*M*Xxt!r+s+qͱW*DM͆t*MXt!s+q+qͱW*MͱW*MͱW**v##Cv*!Ҝs͓k:ax-m*ќMͱW*ҜXtÞx:Ӝ҅x*v##Cv*ќ*ҜM*uÞx*v#Cv*ќ*M*Ҝu!՜s+q͓k:x-m*՜M*ԜXtx*v#*ԜMw*՜M*t*&s ^cw:xcw(y:y͜t(y: y͜t(y~uO͜tN͚Q!q ͱW*MͱW͚k:Qm-mn:_mbXn!x::Hҁm͚Qn}ͯAҕm#͚QnͯAҧmmn:!u:Hm*u&i N͚Q}vͯA"{ͿAm*"{*"v!z6 ͱW*DM͢W:n͚k:)n-m:&n_ý5q*͚QKq*#M>!:w*M[k:_q-mÔq:oq͚QÔq:2x*"v:2u*xM\!"}*"͚k:¨q-m?r:¶qbX?r:q͚Q?r:!:Hq͚Q?r*M]>{ͼA!zvͯAH!:4r*u*}MͱWt!œs+p+qͱW*œMͱW*DM*œmW*œMt:ueuE:uquE:u}uE!Üq:ҕu:Ü!:!Ü͜t"͜t2͜t*&s N͜t*&s N͜t~uO͜t*&s N͜t!Ɯr+s+q:Ĝ!ᙦ:ĜHv,͚Q3vͱW*ĜM*ŜX*M*::ycwSy:Jy͜tSy~uO͜t*&s ^cw:vy!6Ty{y͜t:Ҏy!44Tyäy*&)*& s N͜t:y:y:2*&s ^cwy*&s ^cwy*&s N~uO͜t:zcw z~uO͜t:#z*&s N͜t3z*&n:DnbX:An_ýn:Qnk\n*DMZ:šn:*DM͖[HҒn*DM#[*DMͯ[×n͚Qõn:°n*DM#[õn͚Q*DMzkYo:nkn*DMZ*DMͣ[n͚QVo:3o:*DM͖[H+o*&"*DM#[*DMͯ[*{DMi*M*ͧ]*M]ͱW*xMͱW*vDM͢W:y:yHүr:u:uHҕr!"ìr:u¦r*;"ìr!"r*y&i) ^#V"k::H:Hr͚Qr*DMͽ[k: s͚Q`s*DMͣ[ s͚Q`sBʹX*DM͢W!"}2!6!ɜr+s+q:jv:bv!ʜ6gv!ʜ6ov!ʜ6:ǜ}vklv:ǜv:šv!ʜ6!6v::Hv*M^v!ʜ6v!ʜ6v!ʜ6lv!l::Hv*ʜM*Ȝu!͜r+s+q:˜wTlw::s >O͜t:nz:\z:2*&s ^cwkz*&s ^cwz*&s N~uO͜t*M!z ^#V4zz:Ңz!44*&s ^cwz:z*&s N͢wz*&s ^cwzzzz*M!{ ^#V4zß{!6Tyß{:{!6TyR{:5{:-{u)    w2{͢wR{:G{cwR{~u_cwß{:{:q{x~u_cw|{~u_cwÈ{~uO͜tß{͟xß{zz{U{{͚k:³{-m{:{bX{:{͚QbX{*DMt ͱW*vDM͢W:Ҋ|_*&s N!}| ^#V-mqtÇ|͜tÇ|*vCMͱW*XtÔ*v##DM}*!s͓k:y-m*MX*M*XtÔ*v#*MCv**M*u:{͓k:¹-mXtx:tx:!669}*v##DM*|H!66n}2*v##DM* }H:H11?{,$~-|%|҃ۃЃރ*!`i""*iBN͇͖@*iB~#"iB*iB^#V#"iB *q#" *q#p#"ɗ* w#"* w#`o!p+q>c:>%>%2!p+q>c:!s+͎:*$""×:!Ò:!)X:!/͎:*:"66×:!?Ò:!"""""""""""""""""""""""""""""""""" #}Cv*M͜tÇ|͚Q͜tÇ|:K|z|:]|*M͜tz|:p|*DMͰtz|*0uÇ| || |3|@||͓k: |-mxt|:±|Ͱt|*vw*DMͰt!ٜr+s+p+q؜֜ͯA|֜؜ͯA>͛A|>> }֜؜ͯA!͞A }>>!ݜr+s+p+q!ڜͤ!ܜ!66!6:K*M*`2ͪ^:a~x:q]~x͟xÀs͜t*&s ~2*&s N!_ ^#V*M]~g*͟xg*M~g͓k:-mXt\:t\: *M*`2ͪ^: ͟x\n}2G͎:*R"NN×:!WX:i`N#Fog_{ozg_ogDM!>))덑o|gƄ =´DM!>))ۄ =ӄYP뗕o>gYP}/o|/g_og~ ^#V) _{_z#W_ogɨP FEFE׆#:F0:ASM51.OV2:F0:ASM5͞A5}>>!:x:/H::HHj}>>::yH҉}>::H!x:H#~Hҽ}>>!ߜp+qTl9}~*ޜ#DM*|}*ޜ#ͿA+s#r}͚Q!"~*+"*ޜu!q͓k:4~-m**v##DM* }H:HU]~\͟xgĀ:y~Â~uO~:ڔ~ñ:¦~ñ~u_~*&s ^~!r+s+p+q!B6͑=*DM;*Mͦ;ͦ;!r+s+p+q+p+q+q+q+q+q͑=*Mͦ;:#:2*M1.OV3 :F0:ASM51T.TMP:Q:F0:ASM51I.TMPlbhl:F0:ASM51X.TMPB){5%???? &u MͱWxt\~:H~*Mt\~*v#DM}*M*t!q͓k:~~-m*MͱWxt~:’~*Mt~Tln}~*v##DM* }ڽ~͚Q!"ý~~*vu*|!✶*}_Ht!s+q͓k:=͓k:-m*MͱW*X7*v#*MCv-m*;*Mͦ;ͦ;*DM͹;*DM͹;*DM;!p+q*iBDM4A*DM͙?:w*iB"iB!@҄Ͱw͇>Wy_y_~!>ɀ@ "0                        >oo&&dW; W;$W;W;R;W;W;:W;W;R;W;RW;W;W;0)    )))))))))))))) )****M*fT)*hTN#FwM"TT*ST*PT*QTDM*TT#S0 !Ts>!TfSҨJ>T-S+s#rJ*T!:S"T:OTJ *T"T*TDMͲN.̈́N*TM̈́NJ*QTDMͲNTIT~!Tq*T&)) ~2\T  ~2]T!  ^#V"^TASM51 WORK FILE ::2VVR"NVͿ9TVʹASS!Vr+s+q*V*VDM*VaR:VV~A+s#r!Vq*V:Vw*V#"V!Vp+q*V*Vs#r*V##"V!Vp+q*V"'W*VDM~R*'W6H*V"V*V2NaR*V##"V! PASS15QCPASS 1.5INTERMEDIATE***SYM TAB OVFLOW, PASS 1.5***ASM51 OVERLAY 31(T!T;6::cCC:2MT:*B)[W "(T* ;)*(T"GTAͿA"IT::2:T8T*GTDM*IT1O"KT>KTͼA·C C8TͿ9C9::C8TR-D::CD::!:!:2NT::!:H;wQ!wTr+s+p+q*tTN#FwM"tT*vTN#FwM"vT*tT~2yT*vT~2zT!yT4G:yT2xT:G:zT2xT!{T6:xT!{TڌG*tT#"tT*vT#"vT*tT*vT ʅG*tT*vT {G*vT~_*tT~_!{T4?G!zT:yT/*A"VT!"|T:A=!|TfSH*|T*A~G*rT)*(T*VTs#r*rT#"rT*VTDMwM"TT*TT:nTG*TT]N:OTKVI]N KYI]NÕK:OTPK*STMM>^TͼA!]T=K\I ]NMK*^TDMͲNgI]NÕK:OTK>!QTfSnKlI]NÂK*QT0 !TsT]NpI]NÕKvI ]N!Ts+q:T:THҵK:TK*T&YW) N#FwM"TTI]N*TT*TT#N]N*TMViSNTSVVͯA!Vs>"O*V*VDMTaR*V&T "VAM!Vr+s+p+q+p+q*VDMR>W;ͼA\O!VS:VN„O/OVͯAʁOS!ËOS!VSVSVSVSVS*VV^S>͛AO!*V*V+"V)"V*V VͿAC͖G::!:C#F:: D>:NTD4M::2,T*TR5C*TͿ9ͅ:v*A"VT*B)*(T"hT!"fT ;fTͯAD*VTDMOT͟M:OTzD*ST&YW) *VTs#rþD:OT™D*ST&)*(T*VTs#rþD*VTDMMҾD*dT)*hT*VTs#r*dT#"dT*VT"VT*fT"fTEDT>!"fTBfTͯ~2nT*VT"VT*|T"|TҢG*A&"|T* ;+!|TiSjH*rT)*(T*VTs#r*VTDMwM"TT*TT:nTLH*TT~2nT*rT#"rT*VT"VT*|T"|TH>rTͼA|H!qT6*rT+"oT*(T*rTDMF͓H"TT] ++{Ozر}O|GyO~T"IDM~TH~T"I"I~TH"I{zI~TM>!\T~HLI]N*\TM!XL ^#VdLI]NdLI]NdLI]NdLI]NdLI]NdLL!L,L7LBLML!Tp+q::zL*TDM͗N*TDMwM"TT*TT*TT#N]N*TT:nT<<2T:TTͼA*TM]N*TDMOT͟M>!OT~HLI9>!PTLI9*OTM*PTOS!*V"V*V "V*VDM*VS*VDM*VSS*V*V!Wp+qVVͯA>P!VVͯANP!VVͯA+s#r)*V #s#r*V̓A!Wq!8B:WʃP!B6:W28B͑=:7BҜP*WMͦ;! Wr+s+p+q+q+q+q*WMpP*WMͦ;*WMͦ;*WDM͹;ͦ;* WDM;!Wr+s+p+q+qA_E*fTYW) N#FOT͟M*fTDMM>^TͼA:]T/H2jT*fTYW) N#FwM"TT*ST*PT*jT*\T*^TDM*TT͙Q*fT"fTD>!BfSҾE!"fT*B+!fTiSھE*fT)*(TN#FOT͟M*fT)*(TN#FwM"TT*ST*PTM*TT Q*fT"fTpE>!dTfS"F!"fT*dT+!fTiS"F*fT)*hTN#FOTH"I{zHH!`i |g}|IPY>͠HàH`iNwq#Nwq+M ---- REG SEG NUMB ADDR A R 10000H ACC ---- SEG=REL=UNITBITADDRESSABLEINPAGEINBLOCKPAGEP1.5- BAD TYPEP1.5- BAD USAGEEXT PUB !Ts+q:TI4IIYJ:OTMI]N%M*TDMMMI]N%MI]N*OTM*ST͖KN4N*nTM̈́N:qTsM!"ToTTͯAsM*T)*(TN#FeL*T"TKMLN!Tp+qATͯA!:S"T*;*TDM(P!Tr+s+p+q*T>*Tw*T~*T#w*T#*T##N#Fq#p*T *T w!Tp+q*pP* WMͦ;* WDM͹;*WDM͹;!Wr+s+q+q͑=ͦ;*WMͦ;*WMͦ;ͦ;*WDM;!Wr+s+p+q+q+q͑=*WMͦ;*WMͦ;*WDM͹;ͦ;*WDM;!Wr+s+q!B6͑=*WMͦ;*WDM;!&Wr+s+p+q+p+q+q+q+q+q͑=*WMͦ;:WQ:W2W*WMͦ;* WMͦ;ͦ;*!WDM͹;**    #WDM͹;*%WDM;NvR                        >oRo&R&1? OÅR`iN#FyHGͅRH*'Wy͑Ry0:ڜRw#"'W *'Wq#"'W *'Wq#p#"'Wɗ*'W w#R"'W*'W Rw#R!*Wp+q>c:>*** * * * * ******************* *++++++++ + + + + +++++++++++++++++++ +,,,,,,,, , , , , ,,,,,,,,,,,,F:!4fE:yFͅ:v!q:2 *"  {!r+s+q+q:2B:2BB!E*BBͿ9!s+q:2B:2BB:;=F*:(MͧEd::FBͭF:ͭB:Ϳ9::4F:LB:Ϳ9::MF>!T;66G::lFB:2$:EͽYr|H!Fq#p*n *a w!qp+q_aʹAҪI`*a>*pw*a~*p#w*a#*p##N#Fq#p*a *p w*p~ J*p~ J!>6*p~ wJ!>6*p~ wJ!>6>aͼA+s#r!ss+q:sBJ:r :r !tq:t2ggR21W!.Wp+q>c:!=Ws+͎:*QW"GW"CWCW×:!LWÒ:!VWX:_{ozg_ogDM!>))덑o|gSS =AS_og_{_z#W!*T:F0:ASM51.OV3:F0:ASM51N.TMPdT<nT )qT.7~TRx CXDIB. . . . . . . . . . . . . . .  PASS2AB(C) 1979 INTEL CORP:F?:ASM51?.TMP:BB:ASM51 WORKFILELISTERRORPRINTPASS 2*** bad i.m.f: 1NFH2>!HSE*M!$E ^#VPEH2O>3C*MH8C!6'H" "{ͽYPEGͦYPEGͦYPEGͦYPEH" :;ҚF:ҐFiUZҚF ^::ҤF?͡:::F*:MME*:MIE::!:!:Fw*"|!T;6ͺ^::G*:MSE*:MXE::/>ͼAH::/>6ͼAHH5Gk|:BOG*A")"'*A"%hG*A͞A"'*:IͧE!,p+q)+ͯAG>H,͑EKJu͒I:u¥JKJ:u³JKJ:>ҾJ͆J:u2!6:y2IO!~K ^#V*w":v2ÈK:uK*w":v2 K͆JÈK:u#K*w"'K͆JÈK:u?K*w|o&"QK*uM,J2*w"ÈK:uiK*w}o&"{K*uM,J2*w"TVTHV:F0:ASM51S.TMPh6'WW;7WW;QWW;W;R;W;W;ECn2*MG">!ҫC*iY*#"!5ËCFlPE'H"PE'H" {PEH2 ! 6+~C'H" {PE'H" "ͽY{{PE{'H" "ͽY{PEHOQPE'HDM8H:CD͑EKJlD:XD ͑EKJlD:fD!"*9w*7~*9#w*7#*9##N#Fq#p*7 *9 KJJK*KTKK͆JI2!6::H@L:v2L:{2@L:{@L:v2:u:zH:u:zHHүL!~:y¯L:EHOH͏KPEHOH͑JPEYPE! 6'H" H2 {PEH2 'H" H2 {PEH2 'H"  {PEH2 'H"  {PEH2'H"H2H2'H"*M*XPECCLC[CjCyCCCCCDD#DoD}DDDDDDDDB:ʉEB:!6>!چE*M͜H2w!;q*;&)) ~2  ~2!  ^#V"!"_!["a!_"c!_"e!>6!lq*_#"_!cFI`*_:lw?_ʹA-I`>*_~2m*_+"_!op+q*a"a!eF\I`*n*n#~*aw*n##*a#N#:/> !/HHүL!u6!z6+6!~6:u:zHҷN!6!6*M!N ^#V*|*w"ôN|wͯA"ôN*|w*"ôN*|wT"ôN*|wՂ"ôN|wͯAAM!"GM!"ôN|wͯA`M!"fM!"ôN|wͯA~M!"*    M!"ôN|wͯAڜM!"âM!"ôN|wͯAҺM!"M!"ôN|wͯAM!"M!"ôN*|*w"ôN>|ͼAN͑E!6!"N*w*|݂"ôN>|ͼA@N͑E!6!"MN*w*|݂"ôN*|}bN*w"oN*|M!w9"ôN*|}„N*:*M͑O/HHҢQ͑E!6:Q:ʿQ͑E!6Q>!CQ ͑E!6RUUWW@URXV.VP!q*&Q) ^#V"! R*͒I R:$R͑E!r+s+q*M*ͦYH!p+q:2:2*!q%R!p+q*DM͛AmV>>ÌV׆نͯAM*&ͺ~:~A+s#r:2*" {!r+s+q*M*iYFl::Y*M*͑~::Y;*:DM*:, LINE # (), *** ERROR #(CONTROL) (MACRO) *** *** ERROR #(PASS 2) :p:(H>!?CҘZY *w"ÑN*|M!w͋A"ôNLLL MM+MJMiMMMMMM!NPNrNÊO!"}2!.O:u*zMaJH*uMaJ:zHH'O*|*w":uO:z2:~2$O:u2:y2+O͆JÊO:†O*uMaJ:zHO|wͯA":upO:z2:~2|O:u2:y2s+q:2:†2%R!ņr+s+q:Æ2*ĆDM:ˆR>>:S!"2S*DMR S2S:>2S͑E!":!C:HrS>ͼAMH:{S:!͞A҉V>>!ކr+s+p+q!ۆԂ!݆Ԃ͞AµV>>!::>/H::HHV>>::H W>::H!:H#~H=W>>!p+q3S͹V҂W*߆#DM*CVtW*߆#ͿA+s#rW͑E!?+DMY *DMY Y *n#"n:!O::Z!::#w*DM*ue:~A!:_Z*DM*!6:(=!ڕ\*&  ~ /HR[Y !)6*?+DME!)O[ !)43[[Z *& ~Ҏ[*& ÃO͆JÊO͆J!O:0ҩO>>!O:¿O>>O>O>!s+q: P: _!݂{3H>H2!P:!H2:3PS:2*"APHo&"!6:sP R::HpP\J/?ÅPʈS%͑ES>!C:HҶS>ͼA>ƂMH:¿S:S'͑E͒I::HSQ/?!Άr+s+q:> T:>T!φ6T!φ6%T!φ6:̆3TJSÒT:̆T:PT!φ6!6ÉT::H҄T*MͯH|T!φ6ÁT"ÒW*+"*߆XH2 R::HW*MyRW*#DMAW*M*yRH2 R::HX*MyRQX3SV0X*##DM*͍V-X͑E!"-X9X*X*|!*}_HyRH2H2:җX R:: n&DMí[*&  n&,DMjZ*& ~[&Z [1Z ͯA!s*& ~\*&  No",\*&  N͂"*DM?2ͦZ*&  ~ҋ\ͯA!s*&  ^#V"GDM/?P::HҦPKJ:P*}*_MOo&"P*)))* "!6Q,͑E!6::H2=Q*MͯH2BQ!6::H:/HoQ(͑E!6âQ>!C!!φ6ÉT!φ6͉SÒTS::HҫT*φM*͆X!҆r+s+q:ІT3ST::HT:>U:>U*ц#X U*ц#XU*цXH2H2S*#*MS*M*yRH2H2!Q:2Ԇ:ҏUS:ԆyU*#SÄU*HڌX*##DMAW*!sÝXH2:ҼXH2S*#*MSXHo&"**M*ͶR!r+s+q:!>:HY,͑EYY::TY:Y!6=Y::H8Y!6=Y!6****M*c{!"}2!6!r+s+q::҆Y*D!  ~2ͦZue!4Z!(6*>"@*hDM4A:jh~A".!+6#6!16!-6*&  ~2*!*:+.iBͯAH:]*iB~ ]*iB#"iB!+4#47]:,O>20!-4!1w*iB#"iB!+4:0#w\!-:1!**&  Hq:gҒ]:f:fH]+    ͡\:f!aҒ]͡\*&  :c22!i::23:3!2]!3:2+wö]:Z :i:2=H24*4&*DM_;:4~A+s#r^ue*DM":(^Z:p^!6:p=!^*&  >P^]]*& ~`i+wO>Ҁ^?Z *M͕DM  N͍d";*(&  N*;DM*@/?*(&  ^*@"@!(4!=q>c!(a*(& :=wa!(6dk`aa!>q*(& 6*(&  :>w*(&  6!(4::Pbb!:6P b> :ͼAxb! ": b>!j#"j:ͿA!:ҭeUZ!:ҟeep*"!I6ue:i~A+s#r!g6!Xq!l:ge:X e:X eͮe:X Pf:f:a/H f!X6 Pf:hO>2Y!Z6:Y!ZFf !g4!h4!l:g?fͮe!Z4f!g6!X6 *XM͢f2X*XM!g4!h4*iBNe*iB#"iB*DM ;*":^2]!g6UZiͺm*_M͍d"y:]¹ic:^2]i!l6͉h!{6!m6ͼd2^>!^i͌b:^>!^Hbj>!^j͌b*^M!Ij ^#Vͼd2nYjͼd2fYj!k4Yj~qYjYjYjaYjbYjj!j*j1j7j:j=jCjͼd2^i>!fnj͌b:^:^jZ*&  ~Ҟ^KZ ͯA!s*&  6*MO\"*DM?2ͦZue!4)^!p6*?+"!5q:p b_*p& :5w*p&  * s#r*p&  :w*p&  :'w!p4!"6* #s#r!%6#6!p:ҋb!:6 b!'6! 6`!6yFͅ:----REG***DM"*eDMۀA"* DM9* "?* "e*DM"b b*##DM": c* DMۀcb !E4#6:Flc*F&A >9ec*F&A 60:F=o& ~ Yc:F=O!A 60:F=O!A 4!F5c>9!Azc!A60*?*DM4A*iB~¡fͼd2^b*"iBÆf!oq*oMyf>~!oHf>^:o!Ffͱbl͂c!|6*"ͿkR@f*iB#"iB*++DM4Aff*iB"ue:^O!hg ^#V͍d"p*pDM_/?:_2rlg͍d"p*pDM[/?:[2rlg&gGg:r2j!i::!cH҉j͌b*fM!k ^#V:^jg dͯAʴj͌b!{6>!_j:aj!l6͉hj͘ijgUZj!l6j!l6!m6͉h!m6ôk:^ k͌bg dͯAk͌b>!_gk dͯA;k!l6͉h dͯAPk!{6Uk!{6:{dk!l6͉hlk!{6ôk:^zk͌b6 !6q? ͯA_:27: 28* "9+" i*p& :8w*p&  :7w*p&  *9s#r!p4_*6M^!6* M_!'6_!'6!6__!'6`!'6:p >`*p&  :w* M_!'65`!'6>c!(Ҩ`͍d";#"?:]§c*DM"*A/?c*DM"=:^c:`2Gc:\2G> !Gc*c*GM*DM"+:b2HO>cdb d*HM!Op+qJNͯAҌd>JͼACd!"P\d*J*DM/?*J "PJͯA*PDM@!"*R;*Jҽg!i::!cҤgue!i::O:c2cÁg:c~A*i& +s#rg:c~A+s#r:c!gw:^O!@h ^#V*_M͍d"t:_2s>!`hͨc>!bhc>!chsgDh*[M͍d"t:[2s>!\=hͨcDhgh*t"h:smh*t+"v~ mh!6^*tDM4A>!sg dͯAʍk͌b>!_Ҧk!l6͉h!{6ëk!{6ôkjkok:{ھki!"""*"e!~q:~~A͞Al*+"""!|6>l>kl*"!q:!|wO>Elk?l:2|*DM"k\l*""!|6*Ml*&)Mk*;DM9/?::ҟ`*;M͍d";!96#6͍d";*(&  *;DM/?*(&  ~a*(&  ^*@͞AUa*(&  6*(&  6*(&  N͍d";a*(&  *@s#r*(&"J!NFҌd͌b!Sp+q*RDMd*"T*R "RJͯA+s#r*T͍d"V*V~*DM*@*R;*"L"J!Fd͌b*"ͯA*DM**DM ;ͯA*DMj*"K|::~A*͞AteUZ!::m/Heeed eK|*"4e*hjf!s5uh!g6::!nh*j#:ͿAҵhUZҵhp!I6:Ih>!kh!k5!I6>!khp!k5hh:kh!k6:i~ADM"!g6!h6:lifi͂cgUZ!neif:lJi*+"ͿAGimJiͿkUZ!mbi ^::bieÆiͺmͯA!xs*x&Ҟl>!Ҟl* N* #" !5Àl*"͵͵*e#"e*iB>*"F*DM"4A!}6*iB~ m*iB~m!}6*iB#"iBmͥll:}mͻl*iB"*DM4A*DM"!6!}6iBͯAҩm*iB~‹m:`m:}Zmͻlueem!6!}6ͱb*iB#"iB!F+    m*"æm*iB~£m!}6*iB#"iBæmͥl4m:}ҳmͻlueͿk*DM4AiBͯAmͳlm*iB#"iBm*e#"e*iB##"iBmͿkISIS-II MCS-51 MACRO ASSEMBLER V2.0ASSEMBLER INVOKED BY: OBJECT MODULE PLACED IN NO OBJECT MODULE REQUESTEDPAGE LOC OBJ =A;ͼd2A*AM͍d"*A&*DMA/?!B6SYMBOL TABLE LISTING ------ ----- ------- XREF SYMBOL TABLE LISTING ---- ------ ----- ------- BAD XREF TYPE, LOOK FOR ? AFTER NUMBER*** WARNING, XREFS ABANDONED AT LINE #N A M ET Y P Er*"iBáu**#iBͿA¡ur*"iB*iB^#V"B*iB##"iB*iB"R@ͬ@!#6*iBͯAuu:!!#wr*""iBR@ͬ@u::v*BDMxsue͖@R@v͖@Fr *&ԂDMueue*:XͧET"(*(͞A>ͥA"F*F!݂>͛Aov*F#"FRv*F#*(DMͧ))*S*Ws#r*[)) *S*Ys#r*[+"[ͱy&y*]"a)"c*a))*S^#V"W! *S^#V"Y[cͯA{[cͯAsz*c))*S! *SͱAz*c#"csz*c))*S! *SͱAsz*c)) *SԂ!  *SԂ͞Asz*c#"c*c))*S LINE SOURCE!s+p+q>!n*N͢f2 ´n!6 *M*#"!5×n:Bn*;;::fn::0!An::02A*AA͏n*#*:& >ͥA"*::͏n*#*:& > ͥA"en *#"DM9*DM4A*iB^#V"*##* "*##DM͍d"*i V A L U E ATTRIBUTES AND REFERENCES A T T R I B U T E S !,q:,~A*+++:,ͥA͈:,~A*R; "6 *+"*:: s*>w#6*##"6 *+++"*!.p+q*-DME2/:/<<20O:"esue:#~A+s#r!#::!0<2"os!0:"2"*-DM!2p>R;ͼA˜v!"*("͡*F#R;ͿAv*R;+*("D!%6*D++"&v*R;*("D*(DM*Dx*("DͿA!݂"͡::wq wq :%wv*"mr :$~A+s#rur ::Fwr Lwr ͯA++!s*DM/?*j"jue:$<<2WͯAҊz{*c))*SWͱAz!YԂ*c)) *SԂ͞Az{*c))*S*a))*SN#Fq#p*c)) *S*a)) *SN#Fq#p*c"a*a)"cy*a))*S*Ws#r*a)) *S*Ys#r ERRORS{bbbbkl ldi `_'``]`5`ILLEGAL CALL TO LIST MB##"iB">!Cҏpa@/iBͯAHҰo*iB#"iBÐoiBͯA!siBͯASp::!p::2*DM*͏nue!:2~ͼA+s#r#^*"*"Pp*DM*͏nue:ͼA+s#r*":~A+s#rþoa@iBͯAHrp*iB#"iBSpiBͯA+q>ͼA“s!"=Þs*1DMw"=>=ͼAt!!:"=#w:$#w*=1ͱAt*="?{2A*=ͱA™t*=##Ԃ͏A"5*=##Ԃ"7*?##Ԃ͏A"9*?##Ԃ";>5ͼA>9ͼAH;7ͯAHct*="=Ùt>5ͼA>9ͼA$::҉w-v*:pSͧEr*DM4A!6*iB~2$͖@*"::w!"jK|p*"!6wueueueuev>!R;Cw\uw͂!Kp+q>ͼA"HLx:NGx*L))*HJͱA5x*L+"Lx*L#"L))*HKx!!"O*"Q!N6*Q*O!݂"L))*HJODULENO REGISTER BANK(S) USED, TARGET MACHINE(S): NOT RESTRICTED8051 8044NO FOUND () f{4:!qq:;|:q />!q/H|*n#"n>!q|!q6*DM"*q&H{) ^#V"r!>|*r;*"!wr+s+p+q*t*vDM;x::;Ҧ|PbͿA+s#r*iB"Åo!6m ue::Ҵp1n : úpJn uen Moueue!6!m6*DM" m*"n::qo:: q#o!"jueueue*">ͼA0q͐p>!Tq:Qq*ueuegq:gqkn ueue>!Cxq*"!m6H;7ͯAHҙt!A6*=##ԂDM!s*=##Ԃ͏A"3>͛At!"4t>3ͼAt#t?r4::A=~A+s#rüsiBͯA!!s!#::+w͛AOu*DM*":"~A+s#rue:$2#~A+s#ru*DM*!::ҳu*iBͯAˆu*iB* wAҋx*L#"OÒx*L+"Q*L))*HJͱAQOͯAHڻx]x*L))*HJͱAx!N6x!N6!Vr+s+p+qSUͯA!݂"_!݂"]*_+"[>!]C&y*]+"]ͱyy>![CҰy*S^#V"W*S##^#V"Y*[))*S*SN#Fq#p*[)) *S*S##N#Fq#p*[~f!i::2l ep>6ͼA!:Ҧ|ef:;|UZ| ^::|e!p6*"ue::|{ { ::/}:!6+6>!/}:!:!}*#"*M:2!4|{ :ʹAK}{ k}::X}{ !:͋A}k}{ K|ue":;,    }* ;*n"n>nͼAž}{ æ}*nDM>nͼA_@{{ >!nC}{ *DM{ { :; ~*"x K|::~ed*/B"BBͯA"”(BͯAD~*”ͯA+s#r*"~!Ŕp+q͑=:7Bv~:.Ba~ ~*B"B*BMͦ;*BDM͹;*Ĕ*+"*! ݂0 *q*! ݂"n:~A+s#r*iBN͖@ *q#" *q#p#"ɗ* w#߁"* w#!s+q>!*M!5`o!p+q>c:!s+͎:*" "×:!Ò:!X:!"s+͎:*6","((×:!1Ò:!;X:!Bs+͎:*V"jW;W;W;R;W;W;6W;W;R;W;W;VW;W;R;W;W;lW;W;R;W;W;W;W;*** FATAL ERROR ***⛢8 >wwSYNTAX ERRORSOURCE LINE LISTING TERMINATED ER, OR IDENTIFIER CANNOT EXCEED 255 CHARACTERSDESTINATION ADDRESS OUT OF RANGE FOR INBLOCK REFERENCEDESTINATION ADDRESS OUT OF RANGE FOR RELATIVE REFERENCESEGMENT SYMBOL EXPECTEDABSOLUTE EXPRESSION EXPECTEDREFERENCE NOT TO CURRENT SEGMENTIDATA SEGMENB"B>͛AҐ~*(B"/B!Ȕr+s+q:Ɣ2B*ǔ"B"B!B6E~*(B"/B!̔r+s+p+q>!˔C; B1BͯA~ B1BͯA###"͔~!"͔*˔DM*͔?"͔*͔DME~*͔*ɔDM* B/?*͔* B" B*ɔ"ɔ˔ͿA+s#r~!ϔqE~*ϔMͦ;!єp+qE~*ДDM͹;!ؔr+s+q+q+q+p+q:.B/L"HH×:!QÒ:![X:!a͎:*l"hh×:!qÒ:!y͎:*"×:!X:_{ozg_ogDM!>))덑o|g =DM!>)) =YP뗕o>gYP}/o|/g_og~ 3^#V) =_{_z#W_og!rq*r&զ) ^#V!sq*s&7)AT 255 CHARACTERSARITHMETIC OVERFLOW IN NUMERIC CONSTANTATTEMPT TO DIVIDE BY ZEROEXPRESSION WITH FORWARD REFERENCE NOT ALLOWEDTYPE OF SET SYMBOL DOES NOT ALLOW REDEFINITIONEQU SYMBOL ALREADY DEFINEDATTEMPT TO ADDRESS NON-BIT-ADDRESSABLE BITBAD BIT OT ADDRESS EXPECTEDPUBLIC ATTRIBUTE NOT ALLOWED FOR THIS SYMBOLEXTERNAL REFERENCE NOT ALLOWED IN THIS CONTEXTSEGMENT REFERENCE NOT ALLOWED IN THIS CONTEXTTOO MANY RELOCATABLE SEGMENTSTOO MANY EXTERNAL SYMBOLSLOCATION COUNTER MAY NOT POINT BELOW SEGMEN,B(BͯAHҥ*5B"1BE~!.B6*5B"1BBҔͯA*(Bq#p*(B##w*(B w*(B w*(B *הs#r*(B"(B!ݔs+p+q+p+q!B6͑=*ٔDM;*۔DM͹;*ݔMͦ;ͦ;>Wy_y_~!=>ɀ@ `i><<|<2 gFFSET IN BIT ADDRESS EXPRESSIONTEXT FOUND BEYOND END STATEMENT - IGNOREDPREMATURE END OF FILE (NO END STATEMENT)ILLEGAL CHARACTER IN NUMERIC CONSTANTILLEGAL USE OF REGISTER NAME IN EXPRESSIONSYMBOL IN LABEL FIELD ALREADY DEFINEDILLEGAL CHARACTERMORET BASECODE SEGMENT ADDRESS EXPECTEDDATA SEGMENT ADDRESS EXPECTEDXDATA SEGMENT ADDRESS EXPECTEDBIT SEGMENT ADDRESS EXPECTEDBYTE OF BIT ADDRESS NOT IN BIT-ADDRESSABLE DATA SEGMENTINVALID HARDWARE REGISTERBAD REGISTER BANK NUMBERINVALID SIMPLE RELOCATBޔʹAR:!p+q*b!q*&b!p+q*ۀb{,$Ȁ-ƀ%ƀ O`iN#FyHGH*yy0:w#"ˁف΁!p+q*DM9*!2`i""!s+p+q*DME2!b!:*O:~A"ͯAҦ*'G ? 1wI#] fkn| %He i[5x ASSEMBLY COMPLETE,  R ERRORS DETECTED, NOT REPORTEDARITHMETIC OVERFLOW IN LOCATION COUNTERUNDEFINED SYMBOLVALUE WILL NOT FIT IN A BYTEOPERATION INVALID IN THIS SEGMENTSTRING TERMINATED BY END-OF-LINESTRING LONGER THAN 2 CHARACTERS NOT ALLOWED IN THIS CONTEXTSTRING, NUMBABLE EXPRESSIONINVALID RELOCATABLE EXPRESSIONINPAGE RELOCATED SEGMENT OVERFLOWINBLOCK RELOCATED SEGMENT OVERFLOWBITADDRESSABLE RELOCATED SEGMENT OVERFLOWILLEGAL RELOCATION FOR SEGMENT TYPERELOCATABLE EXPRESSION TOO COMPLEXATTEMPT TO REDEFINE A RESER,    VED SYMBOLUNRECOGNIZED ERROR MESSAGE NUMBERSOURCE FILE READING UNSYNCHRONIZEDINTERMEDIATE FILE READING UNSYNCHRONIZEDBAD OPERAND STACK POP REQUESTPARSE STACK UNDERFLOWINVALID EXPRESSION STACK CONFIGURATIONUSER SYMBOL TABLE SPACE EXHAUSTEDPARSE STACLLEGAL EXIT MACRO FATAL SYSTEM ERROR ILLEGAL EXPRESSION MISSING "FI" IN "IF" MISSING "THEN" IN "IF" ILLEGAL ATTEMPT TO REDEFINE MACRO MISSING IDENTIFIER IN DEFINE PATTERN MISSING BALANCED STRING MISSING LIST ITEM MISSING DELIMITER PREMATURE EOF ,,,,,, ,-------- - - - - ------------------- -........ . . . . ............>2U;:T; W;@:V; Y;@Ǘ^:>Z:e:::` ;@;R;W;W;W;, 5 ***INCLUDEPASS 0:BB:UMPASM51 WORK FILE*** BAD TOKEN*** PUT NAMES RETURNED NON ZERO ***ASM51 WORK FILEK OVERFLOWEXPRESSION STACK OVERFLOWINTERMEDIATE FILE BUFFER OVERFLOWUSER NAME TABLE SPACE EXHAUSTEDBOž:e2XjƠ&bԡ $Abݢ )CuУ%?X~ 0SyBdy2BAD PARAMETER TO CONTROLDYNAMIC STORAGE (MACROS OR ARGUMENTS) OVERFLOW MACRO STACK OVERFLOW INPUT STACK OVERFLOW INSIDE PATTERN TOO LONG ILLEGAL METACHARACTER: UNBALANCED ")" IN ARGUMENT TO USER DEFINED MACRO ILLEGAL ASCENDING CALL jWmש 9L_nʪҪ NPASS09 7(C) 1979,1981 INTEL CORP.UNKNOWN ISIS ERROR4--ILLEGAL PATH NAME5--ILLEGAL OR UNRECOGNIZED DEVICE IN PATH9--DIRECTORY FULL12--ATTEMPT TO OPEN ALREADY OPEN FILE13--NO SUCH FILE14--WRITE PROTECTED FILE22--OUTPUT MODE IMPOSSIBLE FOR SASM51 OVERLAY 1*** MACRO PROCESSOR FATAL ERROR ***1Np͚gUV::=.<:2p5<4:::=6!:=&A::2p::2`p2p::2p2Rp!T;6::!:2;L=pl?<pͿ9*opN#Fti*opq#p*opN#F*op͹K!qp6n&m! m!!qpsяMORE THAN ONE INCLUDE CONTROL ON A SINGLE LINEILLEGAL CHARACTER IN COMMANDCOMMAND TOO LONGUNRECOGNIZED ERROR REQUEST NUMBERTOO MANY WORKFILES - ONLY FIRST TWO USEDUNRECOGNIZED CONTROL OR MISPLACED PRIMARY CONTROL: NO TITLE FOR TITLE CONTROLNO PARAM.BPECIFIED FILE23--NO FILE NAME SPECIFIED FOR A DISK FILE28--NULL FILE EXTENSION7777777777777#8487777777M8{877778777777 ASM51 I/O ERROR - FILE: NAME: ERROR: TERMINATED ***ASM51 INTERNAL ERROR: !4;s+/l!яn!qp>dN_W!(q6S]*%|+"p:/n=!";B>J6J>3}7n>*:[qm>n>*;DM*]qti";6J=>[q7n?>*:[qn:n9>]qGv[2p*-}"p6J>ͳlJO<G*#|";*p#";:p!)qҢ> +}pai>!)qҟ>!)q5ETER ALLOWED WITH ABOVE CONTROLSAVE STACK OVERFLOWSAVE STACK UNDERFLOWILLEGAL TITLE STRINGPAGEWIDTH BELOW MINIMUM, SET TO 80PAGELENGTH BELOW MINIMUM, SET TO 10PAGEWIDTH ABOVE MAXIMUM, SET TO 132jVo̧Kf̨UNDEFINED MACRO NAME Ip+q+p+q9:9:*2;DM4:(9:*0;DM4:39:*4;&8) N#F:9:>94:ͅ:!8;r+s+p+q:W;9*5;*7;DM*W;h9!:;p+qL9:*9;DM4:ͅ:!;;q;;R: 9 9!=;p+q*<;~3:*<;N9*<;#"<;:!?;p+q*>;DM:: 9!E;Ò:!O;X:>r+s+p+q++O@*W;|́H*0}#"0}Ã>è>!"0}*0}"Np^>!3}Bn>AI!"3}:/}2pO> >!p6*pM!? ^#VQ<4:ͅ:ù?>-}7n?#|-}*n?́H?́HM?>!3}Bn8?!"3}qZ8?H?v[B?E*-}"ṕHù?fE!+}6́Hù?fE!+}6AIù?!+}6́Hù?́Hù?!+}6́Hù?-    AIù?AIù?ü?>>P?`?p?}?????î>1Np*p#*#|n" ;*;DM["p>p7n?!;6@*p~!sp%A*sp&6*p~2p* ;#" ;p͹K*p#*pM͹K!p6íD!*q6)EíD*p##>BnC&A!+q6*p##^#V"p*p~==O<ti!ps*p&*p##DMpaiíD)EDíD)EDíD)E!,q6!p6íD)E!,q6!p6íD)E!-q6!p6íD)E!-q6!p6íD)E!-q6!p6íDíD:(qҏD&AÒDÂCE REQ. TOO BIG*** TYPE 0 IN T$SENDASM51 WORK FILE!hur+s+p+qeuau*nH*eu*guDM*_u͜i*eu*_u"_uau:n+s#r*au*guDM*_u͜i:;1H^p}loG^pͿ9!;6*cu_q͛laueu*n"iucu:nVHG9*iu*au*guDM_q͜i*iu_q "_uiucu*n"au!nuqlu0}*nʡHy7n£KJêK*y+"y*y:yw*y#"y!yr+s+p+q*yDMJ*y*yDM*y͜i*y*y"y$y/n!; L*y$n~ullABNAMEXCHDCJNEXCHXRLMOVCBITDJNZMOVXMOVINCDECCDPTRSEGMENTJMPSETBENDORGUSINGNOTRETIPUBLICRETNOPEXTRNRSEG*q ~A*spM! A ^#V͊KA:(q@͊K:p!p]A<9*pM!D ^#V:pҔA*p*p##^N#F=E2pړA*Np#"NíDCCCD$D-D=DMD]DmD}DDD̀@DDmAWBBlCDD:pD &A*p&)p :pw*p&)  :pw!p4:pE &A!p5n&)p ~`i+w  ~2p!,q6#6*p##>Bn*pDMj*~ >3}7nsE!6}".q+"0q*3}+"3}"2q>!2qBnE*0}"lukuG:nu2ou:2}2puouG>!nuH*nuM!4I ^#VG9@I+}G@I+}G@I-}G@I*3}!,}s+}G>3}7n%I*3}DM5}G@I+}G@IHHHHH(I!quq́HquG:qu\I*3}!,}s+}G>3}7nʄI*3}DM5}G!ruq ́HruANDDBITPCATDSNUMBER$@:+-#./,()JBJBCJNBMULDIVLOWHIGHORLANLADDADDCSUBB*MODSHLSHRCODEXDATADATAIDATASETEQUCPLCLRUNITBITADDRESSABLEINPAGEINBLOCKPAGEAJMPLJMPCALLLCALLJCJNCJZJNZSJMPACALL=<><=<>=>EQNEp*p*p##^N#F=E2p!)q4:pB*p ~B:p/:p/HB~ppͥg2}p*pDM*}p=E2p|p͹K*}pM*p͹K!p6*p ~B!p6*p##DMupai*Np"zptp͹K*p^#V*upM͹K:pTB*Np#"NpD:pvB*p*p##^N#F=E2p2p*p*p##^N#F=E2p:p*.q~'ºE*.q#".q*3}+"3}*2q+"2q>nºE*.q*0q w*.q#".q*0q#"0q*2q+"2qÇEͅI:/} F:/}E!+}6́H^Eü?EJECTEJTITLETTSAVESARESTORERSLISTLINOLISTNOLIGENONLYGOGENGE NOGEN NOGE INCLUDE IC REGISTERBANK RB DEVIG:;Icuau*nһIaucu*n_q͛l͏lJaucu*n";/l*;n";*;*;_q͜i::J^p}l*;DM*;͛l͏l*cu"cu*au"auPp͡lGPpͿ9*suDM͹l*wu*|u^"wuuu:nzJ*uuDM*suai>wu7n+s#r*uuDM͹l*wu^#V"[q*wu##"yu^#V"]LELTGEGTPUSHPOPRRRRCRLRLCSWAPDADBDWCSEGXSEGDSEGISEGBSEGORXORR0R1R2R3R4R5R6R7AAR0AR1AR2AR3AR4AR5AR6AR7P0P1P2P3PSWACCBSPDPLDPHTCONTMODTL0TL1TH0TH1IEIPCYACF0RS1RS0OVPTF1TR1TF0TR0IE1IT1IE0I:p/HB*p##~2}p*p ~2~p|p͹K*p^#V*}pM͹K!p6D*p~dB*p~2W;*p##N#F&<Ϳ9*p~_C*p~s C* ;#" ;*p~c2p*p##^#V"p>n2pFFFLFUFYF^FbFiFoFxF|FFFF!Yqp+q*Xq>#F>*XqN*Xq#DM4q͜i*XqN!4q 64qj!6k!4q"!Zq6:ZqlG*Zq&F) N#FͪjeG*Zq&F) ^#V"4qͪj_G*Zq&F) N#F `i"~!4q"!Zq4G>ASM51 WORK FILE*** TOKEN FILE WRITq*wu"|un&"3}*|uN*|u#DM5}ai*** TOO LARGE WRITE REQ. FOR LIST TEXT FILE!yp+qyy*nKyy*n+s#r:;%K*y$n"ym~ul>ym+s#r>nPK*yyy*nDM~u͜i*y$n"y*y~u "yyy*n{KJ9ÉKyy*n+s#r!yq>T0EAESET1EX1ET0EX0PSPT1PX1PT0PX0RDWRT1T0INT1INT0TXDRXDEXTI0TIMER0EXTI1TIMER1SINTRESETOOOLQL!SL OL -P"L O&L O*LO/LO3LR8L3P=LOALOELOILPKL##RPL$$OXL%%O\L&&OaL**OeL,,QiL..OoL00OsL22-    OxL33PL44OL55OL66OL99OL::RL<<)QL==OL>>OL??gRLBBOLOLOLOLOL OL((OL11OL88OL@@OLCCOLDD;QLOLIOLOLOLPL OL OLOLOLsRLOLOL CRL YQL?PLOMOMR MOMOM}!nڣS!"3}*8~":~*ʆ&y ^*8~"8~^#V"8~g:ʆ SgS!7~6!"3}!4}"5~g22}*Np"0}!{"8~ͤS>nET*5~#"5~:ʆwg*3}#"3}|$TBT*3}}0TBT*5~~25}!5}"5~!7~6S*:~~2<~O!{ ~ҠU*<~&0z ~2/}*<~&{ ~~T:7~}TyS*<~&{ ~T:7~җ*~"O~*}~O~,nҫWWÙW::WPV*k~"gW:*:DM*k~"g*O~>W*O~6*O~N!V N!YY ^#V9V4:WcY::X*O~#^#V*~DMql-X*O~#^#V*~DMl*~"Q~*O~#>BnҭX*~"Y~*O~#>BnҢX*O~#^#Vti![~s!S~sQ~FAY~FA*Q~"Y~"Q~*O~#*O~#^#Vi~~*nڷ[i~~*n!m*%|"-}[O~/n!m"-}>Z:~!~p+q%|~*n[*~mO  ^#V%|~*nm*i~ ##"~~:n$\!*~^#V!~r+s+p+q*~"~~~*nr\*~##~*n*~"~~Ϳl*~"~<\!~r+s+p+q*~DM͡l:W;ʓ\:W;OM1OM!O#M!GQ'M)'S,M)7O;M)QBM)OJM)OOM'OTM'_QYM'O^M'OdM'EPgM'OkM'OnM' [OrM'PwM'O}M+OM+OM+OM+OM+ OM+ OM+OM+OM+OM+OM+ }QM+ UOM-OM-PM/gOM/OM/PM/QM/OM/OM7OM7SQM;OM;OTyS5}jIj*5~#"5~~2=~*5~6k*5~:=~w*<~&{ ~T*<~&{ ~ZU:7~TyS*<~&{) ^#V"E~*E~~2@~YU!5}"A~"C~*3}">~>!>~BnOU*>~+">~*A~:@~>U*A~*C~ w*C~#"C~EU*3}+"3}*A~#"A~U*E~#"E~T*<~&{ ~kUS*<~& | ~ҠU*<~&|) ^#V"G~I~!U*ti:n+s#rEXFAX*O~#N#F!S~q!U~6Q~FAFAcY*O~~O!V >Ȇ2]~]~FAcY*O~#^#V"a~*O~ ^#V"c~*O~##"O~a~FAcY>k~7n6Y!]~6]~FAVY*O~#N#Fm~ai!n~"k~*m~& 6cYWXXXY*O~###"O~NAM!~6!3}"~*3}##!~s>!~ҦY!~5mYͿl#|Ϳl%|Ϳl~Ϳl*%|+*~ *~n#"~~Ϳl%|~*n҆]*~mO  ^#V"~!Ln'|:n"~~e~*n"~*~"~~Ϳl*~"~*%|+!~Enk]*~mO  ~*n"~~Ϳl*~"~,]*~DM*i~,\*~DM*~Ϳl]%|~*n¢M;PM;=RM;OMAQMARM%RMRMqQMRMOMOMOMOMOMONONO N1R NONKPNONONO NO#NO&NQ)NO-NO1NR3NO6NO:NO>NORCNOHNOLNOOPNRTNOXNO[NO^NOaNOdNG~:I~ҟUS>3}7nU:ʆU:8z2/}!5}6#6!"3}:ʆ25}!"3}g:9z2/}3}/nU!"3}*3} +} 6*3}#"3}BAD PARAMETER BLOCKBAD CONTROL BLOCK0 IN ILI COMMANDS CASE:CI:/l> n"J~*J~>Bn2N~~V*J~^#V"O~*J~"J~^#V"L~<*~:~2~*~#"~ÅY:~o&*~##^#V"~~!3}BnY!~6>*3}}*~Y>*~#"~!5}"~*3}}2~>!~ Z*~*~ Z*~#"~*~#"~Z(Z!~5Y!~6>*~*~~8Z>!~6>pY+|) "~*~^#V"~ͯYlZ*~"~^#V"~UZ:~/@ZZ*~ ~2+}*~ ~2,}i~~]~e~*n"~õ]*~+DM[*~n"~~Ϳl%|~*nm*i~,\>!~Bn]*~DM*~Ϳlͳl>*e~"~*i~"~SqZ^:/}2+}2,}>INCLUDEIC*nҀ^*"*"*"*n}^** w*#"*#"V^^*+"*n*OgNSkNOoNOrNOtNsOxNR|NRNQNRNONRNwQNON RNRNRNONONONONONON#QN]PNQNQNPNuPNON'PNPNPNoPNURNRNQNFREND V1.4::z2/}*3} +} 6*3}#"3,nʢVV4:ßV*<*L~##DM*<͜i*J~##"J~^#V"L~:,nV'V4:V*:*L~##DM*:͜i::V*:")alW*:"l!~s+q+p+q+p+q:~$W!~6:~!~*~o&m*~&m*~ "e~*~*~"g~*~"i~:N~ҫW*~"Q~/l++"}~*O~"~*}~^#V"O~*O~~ʋWW|W!W*mp*nڲZi~~*n!m*%|"-}ZO~/n!m"-}>!"-}}*~3}~*n++s#rnZ!~6*~#"~*~*~s#r*~*~s#r*~ :+}w*~ :,}wi~~*n!m*%|"-}*~##*~s#r*~*3}s*3}*~#5}ai*~"~!~6@Z[*~ :+}w*~ :,}w+"*+"*n^** w*+"*+"à^*"*"*~^** w*#"*#"^*6*#"!r+s+p+q+p+q**"*n]_** L_**>ߦL_>*#"*#"!_>!ƍr+s+p+q+p+q+p+qō*nҋ_*"Ñ_*ō">.    !Bn_**Í Ҭ_>**Í~Ҽ_>*#"*Í#"Í*+"Ñ_ō*n_>ō*n_>>!̍q!׆6:̍d#`!׆6*ˆ&mb "І3`u@:̍/`3`3`:̍2:׆2*І"†FA!"І*ʍ}d`*ʍM_!ҍr+s+p+q+p+q*͍*э*ύʍmT`!׍݆) *ۆs#r!]4!"ۆøc:`¸cNac*ۆ}2ʆ:]=2]O!݆ ^#V"ۆ*ʆ& ~c:ʆ cbc!"*"†FA*~:ʆw*~#"~:ʆa,d:ʆ2ʆ d:ʆ >db0dbc:ʆ Pde!"~*ʆ& ~{d:ʆ;sd0de_?d*ʆ& >ʕddb6b!q:2ֆ!r+s+p+q**^s#r*:ˆw:`^ۆ*n#}b:ʆ h:Ɇg!Ɇ6gNa:Ȇgfg:ʆ$ h?dgRi                        >oio&i&Þiyx`i!s+͎:*I"?";;×:!DÒ:!NX:!Us+͎:*i"_"[[×:!dÒ:!nX:!t͎:*"{{×:!Ò:!͎:*"×:!X:!r+s+p+q@!" @!r+s+p+q+p+q+p+q+p+q@!r+s+p+q+p+q+p+q+p+q@!r+s+p+q+p+q+p+q+p+qr+s+p+q+q*Ӎ&*ԍ*֍DMʍͅmT`!܍r+s+p+q+q:؍`+^͏`*؍&*ٍ*ۍʍȍ=mT`!ݍq>Ԇ7na*Ԇ*ݍ&ʍamT`!ߍp+q*Ԇ*ލn*ލDMͷ`*ȍ*ލ"̆f_*^":`2†:ˆ2ÆFA*ۆ#"^!`6:Ά҈a,^FA!Ά6*ˆ&{d~/n`i+sc:ʆ(e*~"#"~ dbc!چ6:چe:ʆ(d!چ4d:ʆ)d!چ5d:ʆ d_e dbd~*n+"҆>n e!"҆*"~*҆}*~w!"҆*҆*҆N-^_*҆*҆N5^_He:Ȇke_Bd*##"*~"*n+!چs>nҗep+q*DMjk͋j*n}DM {zʭiïi!jڿi !.jxG>O>G /O ~#~#~#~#~#~#~#~# ii~+~+~+~+~+~+~+~+ jj3k !Ϗ+p+qO@_og_{ozg_ogDM!>))덑o|gm =mDM!>))n =m_og_{ozgO{ozgi`N#Fogo&og_{_z#W%Np:F0:ASM51.OV0:F0:ASM51T.TMP@~tp mb "*ˆ&mb  ^#V!m"҆!چ6y!҆Bna!چ6>҆7n+s#r*ˆ&mb  :چͳm"†*ˆ&mb  *҆}Ͳm"Ć:ˆ2ƆFA!Ć6!"Ɔ}2ņ*ԆDMʍlT`:ˆUb!a6!φ6!ˆ5͉a:ˆmb*؆"ԆÇbԆ*ˆ&mb e`*ˆ&m_?d!Ȇ6>>!ˆҵe!"Іq_!Ȇ6*ˆ&mw "8^*ˆ&mw *چ& 6Bde!"cBd!Ά6 b b!Ȇ6`>7n(f*#"!"^̆*n"!m!s:n[f*"*+":7n*ˆ&mb  q#p*!m:n*҇juj!p+q)lҩjVj:ҦjÔj!p+qIj*"͓k*:/Hj*#"Vj*~j>ùj*"Ij>*!k`i""G?2x*DMj:0k͓k*wVjk *q#" *q#p#"ɗ* w#Pk"* Xkw#_k*~Gjk9ʰkjk0|p p pp 0p:F0:ASM51M.TMP:F0:ASM51N.TMP:F0:ASM51.OV10p (qX _u_qFku  su_ttZt{u{u y~u$y   b  ^#V"!b  ^#V"`!~"̆+"ۆ!q*]&݆) *ۆs#r!]4*&"ۆ*ۆ|ʻc*ۆ#"ۆ̆:n}c*^"*̆"!~""^8^*n*^"҆DM a*҆"ۆ>ȍ7n}c:`]c4b:φWcbb}c*҆6 *҆#"҆6 *ۆ+"ۆ*̆##"̆b*ۆ~2ʆ!`4 ­c*]&ˆ&mb  q#p؆Ԇ*nf*ԆDMʍlT`!~"̆+"ۆ!~"^!ˆ4n&mb  >w#6*ˆ&mb  >w#6Ԇ*ˆ&mb e`͉a!r+s+p+q+p+q*"؆"Ԇ!"~!ˆ6!Ć6!"Ɔ}2ņ*"!b"^>7nʙg*"*ˆ&mw "^f!Ɇk:jk1°k7jka{ zk͓kAڰkGڐk͓kAڰk[ڐkͲkzkؗkx?ʐk@ʐk_ʐkkx:ʐk.ʐkjk ʐk ʐkkxʐkjk ʐk ʐkjk0 _`i"`o!p+q>c:>Kl>Kl2 !p+q>c:!s+͎:*)""×:!$Ò:!.X:!5 ;z;z;z;zyzyzZzzzz.    3{3{3{3{{3{3{3{3{3{3{3{3{q{q{q{q{q{q{q{q{q{q{q{q{zR{z{z3{yzq{zzz;z;z;z;iW;W;R;W;W;W;W;R;W;W;W;W; Ϗˏ<<...... .//////// / / / / /////////////////// /00000000 0 0 0 0 0000000000000000000 011111111 1 1 1 1 1111111111111111111 12222>2U;:T; W;@:V; Y;@Ǘ^:>Z:e:::` ;@;R;W;W;W;Y<*** TYPE PARAM TO CONTROL > 5 ***INCLUDEPASS 0:BB:UMPASM51 WORK FILE*** BAD TOKEN*** PUT NAMES RETURNED NON ZERO ***ASM51 WORK FILE{{{{{{{{KrOORRQQ-SPiSPQOOOPPQPOO/QOOOOSOaOyROAQP9S3SP5QQ9P OQQO PPOQPOOWPOmOOOOOQS]S+OPQOQPkQORcS7RPOQQQQQRRR=OOmRRP[RaROOSRRRS S!PPIROOP PASS0 7(C) 1979,1981 INTEL CORP.UNKNOWN ISIS ERROR4--ILLEGAL PATH NAME5--ILLEGAL OR UNRECOGNIZED DEVICE IN PATH9--DIRECTORY FULL12--ATTEMPT TO OPEN ALREADY OPEN FILE13--NO SUCH FILE14--WRITE PROTECTED FILE22--OUTPUT MODE IMPOSSIBLE FOR SPASM51 OVERLAY 1*** MACRO PROCESSOR FATAL ERROR ***1ɝ͓RV::=.<:2a5<4:::=6!:=#A::27::2۝2F::2U2͝!T;6::!:2;L=5ޙ?<5Ϳ9*N#Ft*q#p*N#F*ͶK*&! !!s/!cPeQOOOPOiPyOOPOKSWSESMQ?SOCOO{PR%OO QQ+ROOnN~)Q~k~ ~Ȇ̆~bۆ~V ]~Ǎ ECIFIED FILE23--NO FILE NAME SPECIFIED FOR A DISK FILE28--NULL FILE EXTENSION7777777777777#8487777777M8{877778777777 ASM51 I/O ERROR - FILE: NAME: ERROR: TERMINATED ***ASM51 INTERNAL ERROR: !4;s+p͇!>dN_W!6S]*+"b:͝=!";?>J3J>ͥ>*:֞>̈́=*;DM*؞t";3J=>֞ͥ<>*:֞bͨ6>؞Gs[2a*"b3J>ͳJO<G*";*b#";:f!ҟ> )a>!Ҝ>!5~H*W;W;)W;W;R;W;W;IW;W;R;W;W+q+p+q9:9:*2;DM4:(9:*0;DM4:39:*4;&8) N#F:9:>94:ͅ:!8;r+s+p+q:W;9*5;*7;DM*W;h9!:;p+qL9:*9;DM4:ͅ:!;;q;;R: 9 9!=;p+q*<;~3:*<;N9*<;#"<;:!?;p+q*>;DM:: 9!E;Ò:!O;X:>r+s+p+q++O@*W;|#"À>å>!"*"ɝ^>!Ͱ>>I!":24O> >!46*4M!? ^#VQ<4:ͅ:ö?>ͥ?͘?~H?~HJ?>!Ͱ5?!"nZ5?E?s[??E*"b~Hö?cE!6~Hö?cE!6>Iö?!6~Hö?~Hö?!6~Hö?>/    Iö?>Iö?ù?>>M?]?m?z?????ë>1ɝ*b#*͇" ;*;DM["d>dͥ?!;6?*d~!"A*&~2* ;#" ;ͶK*%#*MͶK!6êD!6&EêD*##>ͰC#A!6*##^#V"'*'~==O<t!fs*f&*'##DMgaêD&EDêD&EDêD&E!6!6êD&E!6!6êD&E!6!6êD&E!6!6êD&E!6!6êDêD:ҌD#AÏDCêDQ. TOO BIG*** TYPE 0 IN T$SENDASM51 WORK FILE!cr+s+p+q`\͘H*`*bDM*Z͜*`*Z"Z\ͨ+s#r*\*bDM*Z͜:;.Hٝ}lGٝͿ9!;6*^ڞ͛\`͘"d^ͨSH|G9*d*\*bDMڞ͜*dڞ "Zd^͘"\!iqg͘ʞH*" KJçK*+"* :w* #" !r+s+p+q*DMJ**DM* ͜** " ͝!; L*͇yABNAMEXCHDCJNEXCHXRLMOVCBITDJNZMOVXMOVINCDECCDPTRSEGMENTJMPSETBENDORGUSINGNOTRETIPUBLICRETNOPEXTRNRSEGAND ~A*M!A ^#V͇KA:@͇K:f!ZA<9*M!D ^#V:ґA**##^N#F:E2ڐA*ɝ#"ɝ*CCCD!D*D:DJDZDjDzD}DD}@DDjATBBiCDD:D #A*&) :w*&)  :w!4:E #A!5n&) ~`i+w  ~2!6#6*##>Ͱ9E #A!"s+p+q:"ME>* DM**~ >ͥpE!!"+"*+"">!ͰE*~gfG:i2j:2kjG>!iҽH*iM!1I ^#VG9=IG=IG=IG=I*!sG>ͥ"I*DM G=IG=IHHHHH%I!lq~HlG:lYI*!sG>ͥʁI*DM G!mq ~HmDBITPCATDSNUMBER$@:+-#./,()JBJBCJNBMULDIVLOWHIGHORLANLADDADDCSUBB*MODSHLSHRCODEXDATADATAIDATASETEQUCPLCLRUNITBITADDRESSABLEINPAGEINBLOCKPAGEAJMPLJMPCALLLCALLJCJNCJZJNZSJMPACALL=<><=<>=>EQNELE*##^N#F:E2!4:B* ~B:/:/HBͦ2*DM*:E2ͶK*M*ͶK!6* ~B!6*##DMa*ɝ"ͶK*^#V*MͶK:QB*ɝ#"ɝD:sB**##^N#F:E22**##^N#F:E2::'·E*#"*+"*+">̈́·E** w*#"*#"*+"ÄE͂I: E:E!6~H^Eù?EJECTEJTITLETTSAVESARESTORERSLISTLINOLISTNOLIGENONLYGOGENGE NOGEN NOGE INCLUDE IC REGISTERBANK RB DEVICE G:;ҾI^\͘ҸI\^͘ڞ͛͏J\^͘";/*;͇";*;*;ڞ͜::Jٝ}*;DM*;͛͏*^"^*\"\˝͡G˝Ϳ9*nDM͹*r*w^"rpͨwJ*pDM*na>rͥ+s#r*pDM͹*r^#V"֞*r##"t^#V"؞LTGEGTPUSHPOPRRRRCRLRLCSWAPDADBDWCSEGXSEGDSEGISEGBSEGORXORR0R1R2R3R4R5R6R7AAR0AR1AR2AR3AR4AR5AR6AR7P0P1P2P3PSWACCBSPDPLDPHTCONTMODTL0TL1TH0TH1IEIPCYACF0RS1RS0OVPTF1TR1TF0TR0IE1IT1IE0IT0E/HB*##~2* ~2ͶK*^#V*MͶK!6D*~dB*~2W;*##N#F&<Ϳ9*~\C*~sC* ;#" ;*~c2*##^#V"#>̈́29C*#DM}2>C!6ͶK:[C*M*#ͶK*~O#AD*N#FFO!D ^#V*^#V"%!6#6*%DVF FFFF F$F-F1F7F;FCFIFRFVF[F_FfFlFuFyFFFF!Ԟp+q*Ӟ>#F>*ӞN*Ӟ#DM͜*ӞN! 6!!6!"*!՞6:՞iG*՞&F) N#FͪbG*՞&F) ^#V"*ͪ\G*՞&F) N#F `i"*~!"*!՞4G>ASM51 WORK FILE*** TOKEN FILE WRITE RE*r"wn&"*wN*w#DM a*** TOO LARGE WRITE REQ. FOR LIST TEXT FILE!p+q͘K͘+s#r:;"K*͇"Ϛy>+s#r>̈́MK* ͘DMy͜*͇"*y " ͘xKJ9ÆK͘+s#r!q>ͥAESET1EX1ET0EX0PSPT1PX1PT0PX0RDWRT1T0INT1INT0TXDRXDEXTI0TIMER0EXTI1TIMER1SINTRESETNNN LQLSL OL *PL N#L N'LN,LN0LR5L0P:LN>LNBLNFLPHL##RML$$NUL%%NYL&&N^L**NbL,,QfL..NlL00NpL22NuL3/    3P|L44NL55NL66NL99NL::RL<<&QL==NL>>NL??dRLBBNLNLNLNLNL NL((NL11NL88NL@@NLCCNLDD8QLNLFOLNLNLPL OL OLNLNLpRLOLNL @RL VQL̈́BT* #" :ɪwʹb*#"|!T?T*}-T?T* ~2 ! " !"6S*%~2'O! ~ҝU*'& ~2*'&¦ ~{T:"zTvS*'&˦ ~T:"ҔTvS":*h:͚ҨWWÖW::WMV*V͆W:*:DM*V͆*:>W*:6*:N!V N!VY ^#V6V4:W`Y::X*:#^#V*lDMq*X*:#^#V*lDMؙ*l"<*:#>ͰҪX*l"D*:#>ͰҟX*:#^#Vt!Fs!>s<CADCA*<"D"<*:#*:#^#Vt͘ڴ[Tv͘!*"[Nv͝!">Z:!p+q͘[*N  ^#V͘*T ##"|ͨ!\!*^#V!r+s+p+q*"|͘o\*##z͘*"Ϳ*"9\!r+s+p+q*DM͡:W;ʐ\:W;M.OM!N M!DQ$M)$S)M)4O8M)Q?M)NGM)OLM'NQM'\QVM'N[M'NaM'BPdM'NhM'NkM' XOoM'PtM'NzM+N|M+NM+NM+NM+ NM+ NM+NM+NM+NM+NM+ zQM+ ROM-NM-PM/dOM/NM/PM/QM/NM/NM7NM7PQM;OM;OM; I* #" ~2(* 6* :(w*'&ۦ ~T*'&ۦ ~WU:"TvS*'&) ^#V"0*0~2+VU! ",".*")>!)ͰLU*)+")*,:+;U*,*. w*.#".BU*+"*,#", U*0#"0T*'&Ӧ ~hUS*'& ~ҝU*'&) ^#V"24!U*2:ͨ+s#rBXCAX*:#N#F!>q!@6<CACA`Y*:~O! V >Ȇ2HHCA`Y*:#^#V"L*: ^#V"N*:##":LCA`Y>Vͥ3Y!H6HCASY*:#N#FXa!Y"V*X& 6`YWXXXY*:###":NAM!t6!"r*##!us>!uңY!u5*r:jYͿͿͿͿ*+* *͇#"Ϳ҃͘]*N  ^#V"! L͇ͨ"zP͘"*"Ϳ*"*+!ͳh]*N  ͘"Ϳ*")]*DM*T)\*DM*Ϳ]͘Ÿ]zPM;:RM;NMAQMARM"RMRMnQMRMNMNMNMNMNMNMNNNN.R NNNHPNNNNNNNN NO#NQ&NN*NN.NR0NN3NN7NO;NLR@NNENNINLOMNRQNNUNNXNN[NN^NNaNNdN4ҜUS>ͥU:ɪU:#2! 6#6!":ɪ2 !"ʹb:$2͝U!"*  6*#"BAD PARAMETER BLOCKBAD CONTROL BLOCK0 IN ILI COMMANDS CASE:CI:/> ͎"5*5>Ͱ29{V*5^#V":*5"5^#V"7<͚t2t*r#"rÂY:to&*v##^#V"~!ͰY!~6>*}*Y>*#"! "*}2>!Z** Z*#"*#"Z%Z!5Y!~6>**~5Z>!~6>mY) "x*x^#V"vͬYiZ*v"x^#V"vRZ:~/=ZZ*v ~2*v ~2Tv͘P͘"ò]*+DM[*z͇"Ϳ͘*T)\>!Ͱ]*zDM*Ϳͳ>*P"z*T"|SnZ^:22ez:ɪ$_:ɪO!_ ^#Vs:ܫC^o!_:ȪS^~b!_!:Ȫi^~l^yb!_!1"ϫ*ګ 1q#p:ȪҒ^~Õ^ShNNlNNoNNqNpOuNRyNR}NQNRNONRNtQNNN RNRNRNNNONNNNNNNNN QNZPNQNQNPNrPNNN$PNPNPNlPNRRNRNQNFREND V1.4:%2*  6*#"!ʟVV4:ÜV*<*7##DM*<͜*5##"5^#V"7:͚V$V4:V*:*7##DM*:͜::V*:"YaW*:"˙!qs+q+p+q+p+q:p!W!q6:p!q*no&*q&*l "P*n*l"R*l"T:9ҨW*l"!"}*|z͘++s#r͇Z!6*#"*|*vs#r*x*|s#r*| :w*| :wT|͘!*"*|##*zs#r*z*s**z# a*|"|!6=Z[*v :w*v :wTvy͇b!_^!_*ϫ>Ͱ^*ث > #"ϫ^*ϫN#F +q#p͑^ð^^!_:׫!ܫ^w*׫May^!_!_*ϫ+"ϫli!_1^F^Y^r^^^^^_a!0:ɪa͆*`>a*`~2Uu*`:wez͆*ɪ& ~„`{͒c *b ˮͨ*b q *b DMo{*d~6`:0    ׫2*&߫  ~_*&߫  ~2Ø_*d#:_ |*ݫ 6*`~_*`6ͣv^6`*d ^#V"d~6` *b *b ~< *dO,3`*d~3`__*`~P`*ݫ6*b##6nl^ *b !ˮͳr`*ˮ+"ˮ*ˮNsP`,v:02ɪ!ʪ6a*ɪ& ~ `ez{cҨc͆{ezÕcs*ɪ& ~ր*`c{͒c>>*b#~2O*f >2*&*f>2c:<2!2+~ ¦d*`~d>!4z͆!:Ed*b#~ez*&*f:ɪ*`~/Hidds*b#~*`g^zgyg*ݫ 6*ݫ > "f~<*b#wc*d :ki*&*f":h*b *ˮs#r*M{*#"DM*6{*b *ˮs#r:Œh*b#: k*d##~k*b ^#V"6*ˮ6*##*b q#p*ˮ##"ˮ:ɪ@*`l^]cͬckk*b#6=lz^*ݫ ~4l*ɪ& >)ll*`~4lly*b#6 kzk*ˮ+"ˮ9j*b##*ݫ w*b *ˮs#rͷj *b DMo{*ݫ *ds#r*d~2z *b 6:ɪ2*ݫ6:`^z!5ì`*b##6 *b DMr~^a:ɪ'*az *b 6*ݫ6^:ɪa!ɪ6 :ɪ :ɪ'H!a`,v^a*ɪMs*`~a^:ɪ(zaz *b 6*b##6*ݫ6*ݫ 6ͷj *b DMr~^:ɪ*a*b##6^Öa*b#*ˮNsÀdez>e!4z͆ez!:d{cds*b#~z͆ez{c/dd>{c/*&*f:ɪHeæd>*b#N*f > 6{*DMˮ*ˮ+"ˮ*#"!6"e{ *b *ˮs#r*`~h~}h*MT}*b ^#V"ˮPi^*b#N! *f*b w*bN! ~"i]c*b:ɪ!ܫ:_HKicKiePin*ݫ ^#V"d "fch*ݫ 6*d~@i!6#6!-c"fùicld*b *ˮs#r:@ƒr*d##N!\r ^#V9j!ɪ6@ck0cil^]c*b#6ͬclklyDl{ *b *ˮs#r~},vÀr9j*ˮ>w#6*ˮ##"ˮ^]c*b#6 ck*b#~Wm{*b#6 kyDl{ *b *ˮs#r~}*ݫ *ds#r*d##:Ϋw |͉s*`#6{*ɪ& ~ր*`~/Ha *b 6yd͒c *b ˮͨ*b qnl^a,v:02ɪ͆:ܫb:ɪ( b͝y:ɪ)b͝y^:ɪ$³b*`~ҳbUu *b 6:ɪ mbz:gb*ݫ##~:ɪ Hgbi^6b!ܫ:_ʃb*ܫMayz*b##6:2"ͮ͒óf*#~e!b"ͮ͒ *Ѯ"Ѯ*d>e!b"ɮe* > "ɮ*ɮ#"ͮ*ɮ^*ͮ"Ϯóf!c"ͮ͒*Ѯ"Ѯ*^#V"b "ͮ*b ^*ͮ"Ϯ>dͥʥf*d~@ҥfͮϮ͘*Ѯ"Ѯ! c"ͮ͒c*Ѯ"Ѯ/e҆f! c"ͮ "Ϯâf*& *f/eҢi!ɪ6ùi:¯is:!2:^iy>^]c:ɪ(!ܫ:_Hej*ݫ 6jjl*ݫ ~ʱj^:ɪ,*`*ݫ ~6ͮsg1w w*d##~2ΫO!Ϊ ^#V"ϫ,vÀrj*b ^#V"ˮĩ͘"*ˮ͘* :n**"ˮ!n*"ˮfˮ*DMr~Àrj6ciDni*b ^#V"*ˮ͘m:ynf!"*"ˮ*}Ҝnj;ci!6 *b DMr~:2 ^!9"*b *s#r^:b:bib͆FILE: EXPANSION: (BUILT-IN)CALL: WHILE LOOKING FOR IMPLIED BLANK ,)LOCAL THEN ELSE ELSE FI IF(NOT )THEN(EXIT )FI*ɪ& ~*`zc^]c*ɪ& >ʏc>>"ͮ*& "Ϯ*ݫ ^#V"b*Ϯ*Ѯ*͇ͮ 6*ˮg*ݫ ~fv*ݫ 6c/ebg^]c:ɪgz^f*ɪ& ~*ݫ ~H!ܫ:_HEgfc:Sg]cͳ:ɪags*b#N! *f*b w*ݫ ~¹g^*b:ɪH!ܫ:_Hҫjzkjm^z*ݫ ~j÷j*ˮ+"ˮA39j*ݫ!9~wͷj*ݫ639j*ݫ6^*ݫ ~ kj*ݫ6*b ^#V"#ˮͨ">̈́6kt*b#*}*w*b *ˮs#r*ˮ#"ˮ^]c*b *ˮs#r*ˮ#"ˮ*ݫ ~Clͬcҗk*b#6ҙnjînj@ciҮnjEciڽnh*b N#Fr~Àr9jkj*b *ˮs#rkj *b *ˮs#rͷj *b N#F *b ˮ͚m:.of!"*b N#F *b *b ͚m:fof!"*b ^#V"ˮ*b ʹ+">ͥˮ0    ͘HҪo*"ˮoˮͨ͘o**"ˮ*DMr~Àrj*b Ú~2*b ˮ͚> !/H~(H~)H~*HN! >HBpuHp:20,vÀr*0M{Hc6{jOc6{*0M{Uc6{j*b N#Fr~*d> *ϫs#r:Ϋ<2Ϋڭsr:Ϋ=2ΫO!Ϊ ^#V"ϫ!iq͉s*i&"ϫ͉s:ɪF"ϫ!kp+q**j1͇*jDM)**j*ګ q#pus"l"ӫ!ի6:իt*ګ l͚t*ӫ"ͮ*ګ ^#V"Ϯ!1"Ѯ"ӫ*ګ N!Ϊ 1q#p:իӫͿ"lDMs>ͥt:իrvw*d *r N#Fq#p*ĩ"d*ث ~w*d#:׫w*d~w*ث 51w *d dʹ+s#rów wtu*ث ^#V"d6 wu*DMƇګ͝;x!֫6!Ǫ6!ͪ5w*ګ##n&߫ "ګ#~^xBx*ګ ^#V"d*ګ##~ƒx*"Ùx *d~H2ƪ:ƪ2ƪO!Ʃ ^#V"d*d~|**~< *dO,{:{*d~{{*d~{*d ^#V"dõ{͉s *d*d ^"ϫ*DM̄ĩ͘"d+s#r*ƪ&) *d N#Fq#p*ƪ&Ʃ) *ds#r *d *s#r*d :ƪw* 6wÀrj*b ^#V"*ˮ͘m:pf!"*"ˮj>ͥq*b N#F*r~*d> wq,vÀr,v:_2*&߫  Ú> Fq:?qe!5q*MayÀr*b##Nj*b ^#V"*ˮ͘DMͅ,vÀr*ˮ"*ˮDt!֫6*ګ :Ϋ*l 6 *l 6 *ګ N#F+q#p*l>w t!ի4>*l#"l!ի4$t>*` ^#V"d>̈́u*d>u*d##5:_?$uq:_<2_o&߫ "`u*`"ث##:׫w:_2׫*ث#6!nsu*`"ݫ##:ܫw:_2ܫ*ݫ *ˮs#r"b 6*b "ׇ *d#"©Fs*ګ N!Ϊ 1q#p*ګ 1q#ptx*© ^*ӫ*ګ N!Ϊ q#p*ګ :Ϋy*Ϋ&Ϊ) ^#V"ϫ!ܫ:_%y,v`y*ث Ú~2vCyͭw`y:vSyw`y:v`yx!wq!w:_ڗy*_&߫  ~‘y*b ^#V*#"j*b ^#V"*b ^#V" *b ͘ "͘>̈́|t>*DMo{*d>@}͊|>>͘*d q*d *s#r*d##6*"ͮ *b ^#V"Ϯ *d"Ѯ!q͠|`}$|}*d:w*d#:ܫw*ݫ 4͠|҆}*d~ }$|*Mz)**ˮ"ˮ*"ɮˮɮ͘q*ɮ>w*ɮ#"ɮëq*DMr~Àr*b##Nj*b ^#V"ˮͨ"*+s#r*DMˮ*DMr~Àr*b6ñrÀr*b6ñrÀr*b6ñrÀr*b6ñrÀr*b6ñrÀr*b6ñrÀrlmm/nnoNpp qPqqqr%r0r;rFrQrðr:ʫr*d##4*ݫ6*ݫ#6*ݫ :nw*ݫ 6*ݫ >w#6!9##"ɮ*b *ɮs#r*ث ~=2ΫO!Ϊ ^#V"ϫ*ث#~v!̪5*ث##~2׫o&߫ "ث:_=2_o&߫ "`t*ݫ##~2ܫo&߫ "ݫ:_=2_o&߫ "`*b"ˮ*ݫ ^#V"b*ݫ > "f*ث :Ϋw*ث *dyey!ɪ6 !xq*`~!ܫ:_Hy*ݫ :xw͉s*ɪ&"ϫ}(y͝y:ɪ)y͝y:Ǫys*Ϋ&Ϊ) *ϫs#r!֫6t@z:׫!ܫ:׫H=zw*׫Mayx*ګ :Ϋdz*ګ N!Ϊ ^#V"ϫ*ϫ|O>z*ګ :Ϋ›z:֫—z:ի‘z!d6!*d#6}*d##~ʯ}͊| *d ͘}*d~21w*d"$|*d:w*#*d# w}!r+s+p+q*DM̄ĩ͘> ͎+"d"ĩ*d#6*d 6* *d q#p *d q#p *d 6*d##6*"ͮ* "Ϯ *d#"Ѯ!r+s+p+q*b##*ݫ w>ͥœg*b##*ݫ w |ͣvðrd9jkj*b *ˮs#rͷj*b ^#V"*b ^#V"*͘ˮ͘*DM͇*bs!6s!6*"ˮ:.s-{*Mˮ*DMr~!hq>ͥts**h&*©*©##DMaƇ*ګ N!Ϊ ^#V*Ϋ&Ϊ) s#r:̪<2̪2˪:®v*ݫ"ث##~2oo&߫ "ݫ*ث##:׫w:ܫ2׫:o2ܫ*ث#6*b"ˮ*ݫ ^#V"b*ݫ > "f}v*ĩ"p*p~0w *p pʹ"ĩ+s#rw*d6*d N!Ʃ ^#V"rdͨvw*d *d N!Ʃ N#Fq#pìw*r d͚ʘw*r ^#V"yez!֫5*ϫ~2ɪ*ϫ#"ϫ!ʪ6 z:Ϋ2{͉s*ګ :{z!"ϫz!"ϫz*ϫ}2ɪ|2ʪͮs:ʪzez*ˮ:ɪw*ˮ#"ˮͣ:ɪa{:ɪ2ɪz!|q:ɪ2}:|2ɪz:}2ɪ!s+p+q:ɪ2:h{*~ ~2ɪz*~#"~!5D{:2ɪ!s+p+q*#~2ƪ*>Ҟ{*##:ƪ*~{õ~{*ˮ*s#r*ˮ##"ˮˮ͘*DM}*d6 |ͣv!Ȫ6*ګ ^#V"d͉s!"ϫ͉s *d#"©Fs*©##>Ͱ&*©N#F+q#p*©##>w#6*ګ ӫ͘"!!s*©##ͨi*©##>+s#r*©N#F +q#p*©##:ͥ+s#r*©*!ͨ+s#r>1    ͥª*© 6*ګ N!Ϊ ӫ͘*© q͘*DMƇ9u*ث"ګ6*ګ#6*ˮ"©>w#6*©##w#6*© w!"ͮ*ˮ"Ѯ͒ͮϮ͘*ˮDM}*ث :Ϋw*ث *ds#r*d6*ګ 1q#p`i"ϫ!ͪ4ׇy!r+s+p+q+͇+s#r*~*"d*d##N!Ъ "ɮ* ʹ*͇+s#r* > "f* ^#V"d *"2*Ϋ&Ϊ) ^#V"ϫ͘"ĩ͘ڜ * ^#V"*~ʋ*"ͮ**ͮ* ͳ"Ϯ* ^#V"Ѯ"ͮϮ͘ * q#p* q#p͘O! * w*#":O! * w*#"*}և*M!r+s+p+q+p+q***Ƈ!r+s+p+q+q*&**DMͅƇ!r+s+p+q+q:L*&**=ƇINCLUDEIC!6+6+6*`~H!ʪҲi!ʪ6:ʪ:Hϋ!5!ʪ6:ދ*` ~2*M! ^#V.Ջ:ܫՋ *M!֌ ^#V*ګ##~=֊܌:[Ջ:իX^֊:ܫ:̪Hy͇܌:Ќ::=Op+q*""*R+"ĩ"d6!6>!Ԁ*&Ʃ) *ĩs#r!4±*ݫ *Ps#r"b##6 *b "ˮ*b q#p!6>!i*b Ú~<2*b *b q#p *b q#p@T}*d##:w*b :+s#r!4*"ͮ*ˮ"Ѯ͒ͮϮ͘*ˮDM}+s#r*"ĩ*ˮĩͨ˄ȁ*ˮĩͨ˄p!p+qˮĩ͘!ͳȁˮĩ͘!ͳp>Ѯͮ͘J*ͮ"Ӯ*Ѯ"ծ*Ϯ"׮׮Ӯ͘G*Ӯ*ծ w*Ӯ#"Ӯ*ծ#"ծ Ñ*Ϯ+"ӮͮϮ͘*Ѯ+"ծ*ͮ+"׮׮Ӯ͘ґ*Ӯ*ծ w*Ӯ+"Ӯ*ծ+"ծj*!$q:$2¥͇!(r+s+p+q*%*ӫs#r*':ͪw:ի:҈:*Ϋ&Ϊ) *ϫs#r*ګ N!Ϊ ӫ͘}!)q!,6:)d-!,6*ګ > "͘r@:)9͘:)dO!g ~2*͹**M! ^#V×*ܫMay×>!_xyi!ɪ6 *b ^#V×r@\_! ~ HŒ:ܫ:̪HŒ͇:ի͌ӌ֊܌1C|*ɪ& ~:ɪ ez *b "*b ^#V"CAUuez:ɪ 4ڎ *b "ˮ*ɪ& ~`:ɪ;Xڎ#*ɪ& >z{ez` *b ˮͨ*b q:*ګ *ds#r*d6>ͥǁ*"ͮ!"Ѯ͒!Ȫ6*ĩ"!"*~  * ^#V"* *s#r*"*"ԁ*"*"!"͘"*"ĩ͘ڑ*~P**"u*** ͳ"** q#p * ^#V"ͨ+s#r-!ͮ"Ӯ*Ѯ"ծ*Ӯ~…*Ӯ*ծ w*Ӯ#"Ӯ*ծ#"ծÞ*ծ6*Ӯ#"Ϯ*ͮ"Ӯ*Ѯ"ծϮӮ͘+*Ӯ~O! *ծ w*ծ#"ծ*Ӯ>O! *ծ w*ծ#"ծ*Ӯ#"Ӯۅ!ޮr+s+p+q+p+q*ۮ*ٮ"׮׮ٮ҄͘*ٮ*ݮ s*ٮ*ݮ>ߦs>*ٮ#"ٮ*ݮ#"ݮH>!r+s+p+q+i:)2:,2*"CA!"!,6͘!)6s:_2+>!+*+MHe"!+5~!,6̉͘f:{CA!6:!:ښ!6*ӫ"ͮ!"Ѯ*Ϋ&Ϊ) *ϫs#r*ګ N!Ϊ ^#V"Ϯ:kÌ*ګ :Ϋ†*Ϯ+"ϮÌ*ͮ"ϮͮϮɪ(ǎ*b *ˮs#r*ˮ#"ˮzez!6::ɪ(֍!4:ɪ)!5:ɪ ڎzezÿ*b ˮ͚+">̈́!"*}*b ÚHq *b "**N|,**N,HĎ:Ȫs&*b N#F`i"ͮ*ˮ"Ϯ*͇ͮ+6>!*&Ʃ) ^#V"~* *&Ʃ) N#Fq#p* ^#V"*~* * N#Fq#p*" ^#V"ނ!4–!"*Ϋ&Ϊ) *ϫs#r*_&߫ !ͳ* ^#V" * N#Fq#p*#~œ* N!Ϊ "ɮ* ʹ*p+q+p+q͘Ҳ*"ͮø*"ͮ>!ͮͰ*߮* ӆ>*߮*~>*߮#"߮*#"*ͮ+"ͮø͘ >͘>>!r+s+p+q*^#V"*|2Z!ͳT*60*#"͍q>!Ͱq*60*#"*}2͍*6H*#*q#p:!s:°:!=2-õ!-6*-&:ͪ2:˪2!:̪2˪CA*ӫ":ի2! 6!""ͻ!":2! 6*&""ͻ!6*ӫ":ի2:ͪ2CA:=O! ~ >!/Hh*& 6 !4n& 6 !4:t*& :ɪw!4:Ҳ:!s>̈́Ҩ#!Ȫ6!"Ѯ*& 6&Ԏ*b >w#6&,vw s s!6*ګ > #". "*.##*. ^!Ě"!6y!ͰC!6>ͥ+s#r*.:"*.##*}Ϳ" :ͪ2"CA!i6!r+s+p+q!V6!g6!W61    >*g&W >2O! *h&ȴ ~*g&W ~:h؏>:g<2gO!W :hwÎ::h>:V >*6"j>*V&6) "!g5N!W ~2D*++"!V5\:O>*g&W >w!i6*M!̒ ^#V:h>Î:Ғ>*! >ʤu*+"N! ~֓*>_AO!޴ ~2ӓ>!6 *#"*&" !" ͘j* * " *>2*>ߦw*>F%>*>@9: 2E*>9E>* }!S>*&* " *#":V<2VO!6 * s#r*g&W >w*&#"&V*&~>ù*("*I>**!`i"*"*G?2!x**DM:!0͓**wV *,q#", *,q#p#",ɗ*, w#P",*, Xw#_**~Gj9ʰj0ڰ:j1°7ja{ z͓AڰGڐ͓Aڰ[ڐͲzؗɝ:F0:ASM51.OV0:F0:ASM51T.TMP}@e\ P 7) 05:F0:ASM51M.TMP:F0:ASM51N.TMP:F0:ASM51.OV1f  Zڞ{f  nZڠUxvv y=+s#r:Ҫ>*#~+w#6:>*n}w#6:**ʹ+s#r:**͚+s#r*1+s#r**R+s#r**;+s#r**ؚ+s#r**͚+w#6l*q#p**͚+w#6Ҏ*q#p*!m"!h6*~*#*N*,*^*"*~ͥ+s#r!͇>>*^*#"!h4à>!h6>!r+s+p+q+p+q+p+q+p+q* DM*u*wc**s#r*jDM**͘+s#rl*>w#6!r+s+p+q+p+q+p+q>ͥʰ*Dx?ʐ@ʐ_ʐx:ʐ.ʐj ʐ ʐxʐj ʐ ʐj0 _`i"/`o!2p+q>c:>K>K29!6p+q>c:!Es+͎:*Y"O"KK×:!TÒ:!^X:!es+͎:*y"o"kk×:!tÒ:!~X:!s+͎:*""×:!Ò:!X:!͎:*     *͘/w#6Ҳ*q#p**͘w#6Ց*q#p**͚/+w#6*q#p**͚+w#6*q#p**^#VN#F+s#r*>ͰJ>**N#F^#V+s#r*>Ͱs>**N#F^#V+s#r*n}M*u*wҰ**js#r*>w#6*6                        >oo&&Þyx`i! p+q*DM͋*͘}DM {zʭï!ڿ !.xG>"×:!Ò:!͎:*ǵ"õõ×:!̵X:!ҵr+s+p+qϵ@!ӵ"ӵӵ @!޵r+s+p+q+p+q+p+q+p+qյ@!r+s+p+q+p+q+p+q+p+qߵ@!r+s+p+q+p+q+p+q+p+q@!r+s+p+q+p+q+p+q@> !+p+qO@i`N#Fog_og_&&&&ddEʪ**nMj+s#r*n}ɒ**nMt+s#rqtϐ$7Joؑ ;d:i>Ø:g<2gO!W :hwÎ!h6*N! ~P>ͥ?*#"*+" >ͥ_*N! ~ •*">ͥʤ*#"*+"*NO>G /O ~#~#~#~#~#~#~#~# ~+~+~+~+~+~+~+~+ 3<1J\?**~2!I:!<*Ϳ+s#rI!#p+q).ڊV:!҇u!%p+q).ҩV:!ҦÔ!'p+qI**"(͓*&:!/H{ozgi`N#Fog_ogDM!>))덑o|g =^#V))) DM!>))) =!YP뗖_>#Wi`/o/gO{ozgi`N#Fog_og^#V) n^#V|g}o x_{ozgO{ozgi`N#Fogo&og_{_z#Wi`N#Fogɨ%\\\\\\\\\\\\={d\&&&KrNNRRQQ*SPfSPQ|O2    NNPPNPNN,QNOOOSO^OvRN>Q~P6S0SP2QQ6P OQQNP POQPOOTPNjONNONNSZS(OPQNQPhQNR`S4RPOQQQQQQRR:OOjRRPXR^RNO SRRRSSPPFRNNP`PbQNONPNfPvONPOHSTSBSJQ FIRST BYTE = LEAST AND NEXT LEAST SIGNIFICANT DIGITS OF AUGEND B; SECOND BYTE = NEXT TWO MOST SIGNIFICANT DIGITS OF AUGEND G ; THIRD BYTE = MOST AND NEXT MOST SIGNIFICANT DIGITS OF AU INC R0 $ ADDC A,@R0 ;ADD THE TWO TOGETHER ' DA A ;ADJUST FOR DECIMAL ARITHMETIC  PUSH ACC ;SAVE RESULT   ANL A,#0FH ;GET LOWER DIGIIT , ORL A,#30H ;CONVERT LOWER DIGIT TO ASCII %! MOV @R1,A ;PUT I LOC OBJ LINE SOURCE 1 ; PDS DEMONSTRATION PROGRAM 2 ; 3 ;THIS PROGRAM ADDS TWO NUMBERS IN PACKED BCD FORMAT, AND CON--- ---- MIDOUT . . ---- ---- P1 . . . . D ADDR 0090H A P2 . . . . D ADDR 00A0H A PSW. . . . D ADDR 00D0H A RESET. . . C ADDR 0000H A START. . . ---- ---- GEND  ; FOURTH BYTE = \ + ; FIFTH BYTE = > SAME FOR ADDEND  ; SIXTH BYTE = /  ; 7;THE RESULT IS RETURNED IN A STRING POINTER TO BY R1. ; L;***************************************NTO RESULT BUFFER 0" INC R1 ;POINT TO NEXT RESULT BUFFER LOCATION '# POP ACC ;GET BACK RESULT O ADDITION $ SWAP A ;GET UPPER DIGIT  % ANL A,#0FH  & ORL A,#30H ;CONVERT TO ASCII %' MOV @R1,A ;PUT INTO RESULT BVERTS THE 4 ;SUM TO AN ASCII STRING. THE TWO NUMBERS ARE STORED IN CONSECUTIVE 5 ;MEMORY BYTES AS: 6 ; 7 ;R0 -> FIRST BYTE = LEAST AND NEXT L TCON . . . D ADDR 0088H A TH1. . . . D ADDR 008DH A TIMER1 . . C ADDR 001BH A TIMOUT . . ---- ---- TL1. . . . D ADDR 008BH A TMOD . . . D ADDR 0089H A TR1. . 3    3333334444DIR ENDJOB ASM51 DEMO.A51 DEBUG  ORG 0 RESETT: AJMP STARTT   ORG 1BH TIMER11:AJMP TIMOUT   ORG 100H STARTT: CLR A  CLR C  MOV DPTR,#0000H  MOV P1,#00H  MOV P2,#00H  MOV R0,#41H  MOV TMOD,#20H  MOV TCON,#00H  MOV TL1,#0F4H  MOV TH1,#0F4H  MOV IP,#08H  MOV IE,#88H   SETB TR1 ENDSTA: AJMP LOOP LOOP: ADD A,#01H   MOV P2,A   JNC LOOP   INC DPTR  CLR C ENDLOO: SJMP LOOP TIMOUT: CLR TR1   PUSH PSW   MOV P1,R0   INC R0  CJNE R0,#5BH,MIDOUT  MOV R0,#41H  MIDOUT: POP PSW  ! SETB TR1 "ENDOU3    33 3"""""""" ,,0  ' ,,1BH   ' ,,100H   ! z ! ## @@ (( 0000H @@ (( 00H  @@ (( 00H  r@NAMrr^ "&*.26:=@CFJNPSW[`eimqux{~ ~yuqmiea^[TME>72+$R0R1R2R3R4R5R6R7AAR0AR1AR2AR3AR4AR5AR6@ (( 41H   @@ (( 20H  @@ (( 00H  @@ (( 0F4H  @@ (( 0F4H @@ (( 08H  @@ (( 88H  &&   '  z @@ ((AR7P0P1P2P3PSWACCBSPDPLDPHTCONTMODTL0TL1TH0TH1IEIPCYACF0RS1RS0OVPTF1TR1TF0TR0IE1IT1IE0IT0EAESET1EX1ET0EX0PSPT1PX1PT0PX0RDWRT1T0INT1INT0TXDRXDEXTI0TIMER0EXTI1TIMER1SINTRESETENDOUTMIDOUTENDLOOLOOP01H @@ z  '  ##  !  '  !  -  @@ r  r  r @@ (( 5BH@@ r@@ (( 41H   -  !ENDSTATIMOUTTIMER11STARTTRESETTRITIRB8TB8RENSM2SM1SM0SBUFSCON '  !  -  @@ r  r  r @@ (( 5BH@@ r@@ (( 41H   -  !4    T: RETI # END 4444444 4 4 44444444NAMrr]v "&*.26:=@CFJNPSW[`eimqux{~ qlhd`\XTQNHA>72+$R0R1R2R3R4R5R6R7AAR0AR1AR2AR3AR4AR5AR6ARASM51 DEMO.A51 NOLIST DEBUG  ORG 0 RESETT: AJMP STARTT   ORG 1BH TIMER11:AJMP TIMOUT   ORG 100H STARTT: CLR A  CLR C  MOV DPTR,#0000H  MOV P1,#00H  MOV P2,#00H """""""" ,,0  ' ,,1BH   ' ,,100H   ! z ! ## @@ (( 0000H @@ (( 00H  @@ (( 00H  r@NAMrr^ "&*.26:=@CFJNPSW[`eimqux{~ ~yuqmiea^[TME>72+$R0R1R2R3R4R5R6R7AAR0AR1AR2AR3AR4AR5AR67P0P1P2P3PSWACCBSPDPLDPHTCONTMODTL0TL1TH0TH1IEIPCYACF0RS1RS0OVPTF1TR1TF0TR0IE1IT1IE0IT0EAESET1EX1ET0EX0PSPT1PX1PT0PX0RDWRT1T0INT1INT0TXDRXDEXTI0TIMER0EXTI1TIMER1SINTRESETENDOUTMIDOUTENDLOOLOOPE MOV R0,#41H  MOV TMOD,#20H  MOV TCON,#00H  MOV TL1,#0F4H  MOV TH1,#0F4H  MOV IP,#08H  MOV IE,#88H   SETB TR1 ENDSTA: AJMP LOOP LOOP: ADD A,#01H   MOV P2,A  @ (( 41H   @@ (( 20H  @@ (( 00H  @@ (( 0F4H  @@ (( 0F4H @@ (( 08H  @@ (( 88H  &&   '  z @@ ((AR7P0P1P2P3PSWACCBSPDPLDPHTCONTMODTL0TL1TH0TH1IEIPCYACF0RS1RS0OVPTF1TR1TF0TR0IE1IT1IE0IT0EAESET1EX1ET0EX0PSPT1PX1PT0PX0RDWRT1T0INT1INT0TXDRXDEXTI0TIMER0EXTI1TIMER1SINTRESETENDOUTMIDOUTENDLOOLOOPNDSTAJPTIMOUTSTARTRITIRB8TB8RENSM2SM1SM0SBUFSCON JNC LOOP   INC DPTR  CLR C ENDLOO: SJMP LOOP TIMOUT: CLR TR1   PUSH PSW   MOV P1,R0   INC R0  CJNE R0,#5BH,MIDOUT  MOV R0,#41H  MIDOUT: POP PSW  ! SETB TR1 01H @@ z  '  ##  !  '  !  -  @@ r  r  r @@ (( 5BH@@ r@@ (( 41H   -  !ENDSTATIMOUTTIMER11STARTTRESETTRITIRB8TB8RENSM2SM1SM0SBUFSCON '  !  -  @@ r  r  r @@ (( 5BH@@ r@@ (( 41H   -  !4    444444 44445555444T: RETI # END ASM51 DEMO.A51 DEBUG  ORG 0 RESETT: AJMP STARTT   ORG 1BH TIMER11:AJMP TIMOUT   ORG 100H STARTT: CLR A  CLR C  MOV DPTR,#0000H  MOV P1,#00H  MOV P2,#00H  MOV"""""""" ,,0  ' ,,1BH   ' ,,100H   ! z ! ## @@ (( 0000H @@ (( 00H  @@ (( 00H  r@NAMrr^ "&*.26:=@CFJNPSW[`eimqux{~ ~yuqmiea^[TME>72+$R0R1R2R3R4R5R6R7AAR0AR1AR2AR3AR4AR5AR6 ENDLOO . . C ADDR 012BH A ENDOUT . . C ADDR 013DH A ENDSTA . . C ADDR 0121H A IE . . . . D ADDR 00A8H A IP . . . . D ADDR 00B8H A LOOP . . . C ADDR 0123H A MIDOUT . . C A R0,#41H  MOV TMOD,#20H  MOV TCON,#00H  MOV TL1,#0F4H  MOV TH1,#0F4H  MOV IP,#08H  MOV IE,#88H   SETB TR1 ENDSTA: AJMP LOOP LOOP: ADD A,#01H   MOV P2,A   JNC LO@ (( 41H   @@ (( 20H  @@ (( 00H  @@ (( 0F4H  @@ (( 0F4H @@ (( 08H  @@ (( 88H  &&   '  z @@ ((AR7P0P1P2P3PSWACCBSPDPLDPHTCONTMODTL0TL1TH0TH1IEIPCYACF0RS1RS0OVPTF1TR1TF0TR0IE1IT1IE0IT0EAESET1EX1ET0EX0PSPT1PX1PT0PX0RDWRT1T0INT1INT0TXDRXDEXTI0TIMER0EXTI1TIMER1SINTRESETENDOUTMIDOUTENDLOOLOOPDDR 0139H A P1 . . . . D ADDR 0090H A P2 . . . . D ADDR 00A0H A PSW. . . . D ADDR 00D0H A RESET. . . C ADDR 0000H A START. . . C ADDR 0100H A TCON . . . D ADDR 0088H AOP   INC DPTR  CLR C ENDLOO: SJMP LOOP TIMOUT: CLR TR1   PUSH PSW   MOV P1,R0   INC R0  CJNE R0,#5BH,MIDOUT  MOV R0,#41H  MIDOUT: POP PSW  ! SETB TR1 "ENDOU01H @@ z  '  ##  !  '  !  -  @@ r  r  r @@ (( 5BH@@ r@@ (( 41H   -  !ENDSTATIMOUTTIMER11STARTTRESETTRITIRB8TB8RENSM2SM1SM0SBUFSCON A TIMOUT . . C ADDR 012DH A TL1. . . . D ADDR 008BH A TMOD . . . D ADDR 0089H A TR1. . . . B ADDR 0088H.6 A  TH1. . . . D ADDR 008DH A TIMER1 . . C ADDR 001BH A TIMOUT . . C ADDR 012DH A TL1. . . . D ADDR 008BH A TMOD . . . D ADDR 0089H A TR1. . . . B ADDR 0088H.6 A 5    &&  " 22  #** $555 ORG 0 RESETT: AJMP STARTT NXRG 1BH TIMER11:AJMP TIMOUT ORG 100H STARTT: CLR A CLR C MOV DPTR,#0000H MOV P1,#00H MOV P2,#00H MOV R0,#41H MOV TMOD,#20H MOV TCON,#00H MOV TL1,#0F4H MOV TH1,#0F4H MOV IP,#08H MOV IE,#88H SETB TR1 ENDSTA: AJMP LOOP LOOP: ADD A,#01H MOV P2,A JNC LOOP INC DPTR CLR C ENDLOO: SJMP LOOP TIMOUT: CLR TR1 PUSH PSW MOV P1,R0 INC R0 CJNE R0,#5BH,MIDOUT MOV R0,#41H MIDOUT: POP PSW SETB TR1 ENDOUT: RETI END EX D ADDR 0088H A TH1. . . . D ADDR 008DH A TIMER11. . C ADDR 001BH A TIMOUT . . C ADDR 012DH A TL1. . . . D ADDR 008BH A TMOD . . . D ADDR 0089H A TR1. . . . B ADDR 0088H.6 A 5    5555555555 52222555555 56666 6 6 6 6 7777tive, e.g., tag. Slash (/) represents all string delimiters. Lower case n represents numbers. Vertical bar (|) indicates a choice. Square Brackets ([]) indicate an optional argument. Up arrow (^) prece MCS-51 MACRO ASSEMBLER DAVE PAGE 1 ISIS-II MCS-51 MACRO ASSEMBLER V2.0 OBJECT MODULE PLACED IN :F0:DAVE.OBJ ASSEMBLER INVOKED BY: ASM51 DAVE.A51 CREDIT HELP V2.1 SCREEN EDIT MODE COMMANDS. MOVE CURSOR: Use the directional arrow keys on the keyboard. REPLACE: Type over existing text with replacement new text. INSERT: ^C - Insert one character. ^A - Insert until 2nd ^A or breakding a character indicates control character. COMMAND MODE COMMANDS (Y/N){ EXIT: EX [filename] ABORT: EQ DELETE CHARACTERS: DC [n|-n|tag] DELETE LINES: DL [n|-n|tag] INSERT: I/any text/ FIND: F/text/  LOC OBJ LINE SOURCE 0000 1 ORG 0 0000 2100 2 RESETT: AJMP STARTT 001B 3 ORG 1BH 001B 212D 4 TIMER11:AJMP TIMOUT 0 key is entered. DELETE: ^D - Delete one character. ^Z - Set boundaries and delete all text from first to but not including the second ^Z. (Abort with break key) PAGE: ^N - Next Page: Get next screenful of text. ^P[n|-n|tag] SUBSTITUTE: S/old/new/ [n|-n|tag] SUBST WITH QUERY: SQ/old/new/ [n|-n|tag] SEARCH: Use ^W's around text in string to ignore upper/lower case Use ^Y in string to match any number of the following character. Use ? i100 5 ORG 100H 0100 E4 6 STARTT: CLR A 0101 C3 7 CLR C 0102 900000 8 MOV DPTR,#0000H 0105 759000 9 MOV P1,#00H - Previous Page: Get previous screenful. ^V - View Page: Rewrite current page with possible reframing. SWITCH MODE: => Command Line Mode - Type the HOME Key. => Screen Edit Mode - Type ^V Notation: Lower case items are descripn string to match any character in that position. PRINT ASCII: P [n|-n|tag] PRINT HEX: PH [n|-n|tag] JUMP CHARACTERS: J [n|-n|tag] JUMP LINES: L [n|-n|tag] COPY: XC tag1,[n|-n|tag2] MOVE: XM tag1,[n|-6    n|tag2] TAG SET: TSn PERMANENT TAGS: TT - top of file TAG DELETE: TDn TE - end of file USER TAG: Tn TB - start of text in memory n = 0 to 9 PUSH PSW 0131 8890 28 MOV P1,R0 0133 08 29 INC R0 0134 B85B02 30 CJNE R0,#5BH,MIDOUT 0137 7841 31 MOV R0,#41H 0139 D0D0 32 md[;...cmd]> EXIT LOOP: EL USER MESSAGE: U /text/ DISPLAY ALTER VALUES: ?A }ALTER COMMANDS (Y/N){ AFMU=4hex; AFMD=4hex; AFMR=4hex; AFML=4hex; AFMH=4hex Cursor output codes up down right left home AFCU=6666666 TZ - end of text in memory HEX ENTRY: Use ^B as delimiter around hexadecimal string. }ADVANCED EDITING COMMANDS (Y/N){ MACROS: DEFINE: MS name/commands/ DELETE: MD name|* EXECUTE (command mode): MF name [(arg1[, ..argn])] MIDOUT: POP PSW 013B D28E 33 SETB TR1 013D 32 34 ENDOUT: RETI 35 END 36 EX *** ERROR #10, LINE #36 (3), TEXT FOUND BEYOND END STATEMENT - IG4hex; AFCD=4hex; AFCR=4hex; AFCL=4hex; AFCH=4hex Keyboard input codes AFXv=4hex for v = A,C,D,F,N,P,V Replacements for control char inputs AFES=4hex; AFER=4hex Outputs for clear screen and clear rest of screen AFEK=4hex; AFEL=4hex Out"""""""" ,,0  ' ,,1BH   ' ,,100H   ! z ! ## @@ (( 0000H @@ (( 00H  @@ (( 00H  r@ (screen mode): ^F name (screen or command mode): ^name DISPLAY: ?M GET AND EXECUTE COMMAND FILE: G filename FILES: OPEN: OR (OW) filename CLOSE: CR (CW) READ: NORED MCS-51 MACRO ASSEMBLER DAVE PAGE 2 SYMBOL TABLE LISTING ------ ----- ------- N A M E T Y P E V A L U E A T T R I B U T E S ENDLOO . . Cputs for clear line and clear rest of line AFMB=4hex Output for move to beginning of line AFAC=4hex Output for move the cursor to specified coordinates AX=T|F The column coordinate comes first AO=hex Offset valu@ (( 41H   @@ (( 20H  @@ (( 00H  @@ (( 0F4H  @@ (( 0F4H @@ (( 08H  @@ (( 88H  &&   '  z @@ (( R [n] WRITE: W [n|-n|tag] BEGINNING: B QUERY: USER: QU USER FLAG: QT; [<]command[>] QF; [<]command[>] YESFOUND FLAG: YT; [<]command[>] YF; [<]command[>] ITERATIVE LOOP: [n|!]72+$R0R1R2R3R4R5R6R7AAR0AR1AR2AR3AR4AR5AR6 ENDLOO . . C ADDR 012BH A ENDOUT . . C ADDR 013DH A ENDSTA . . C ADDR 0121H A IE . . . . D ADDR 00A8H A IP . . . . D ADDR 00B8H A LOOP . . . C ADDR 0123H A MIDOUT . . C AAR7P0P1P2P3PSWACCBSPDPLDPHTCONTMODTL0TL1TH0TH1IEIPCYACF0RS1RS0OVPTF1TR1TF0TR0IE1IT1IE0IT0EAESET1EX1ET0EX0PSPT1PX1PT0PX0RDWRT1T0INT1INT0TXDRXDEXTI0TIMER0EXTI1TIMER1SINTRESETENDOUTMIDOUTENDLOOLOOPDDR 0139H A P1 . . . . D ADDR 0090H A P2 . . . . D ADDR 00A0H A PSW. . . . D ADDR 00D0H A RESETT . . C ADDR 0000H A STARTT . . C ADDR 0100H A TCON . . . D ADDR 0088H AENDSTATIMOUTTIMER11STARTTRESETTRITIRB8TB8RENSM2SM1SM0SBUFSCON TH1. . . . D ADDR 008DH A TIMER11. . C ADDR 001BH A TIMOUT . . C ADDR 012DH A TL1. . . . D ADDR 008BH A TMOD . . . D ADDR 0089H A TR1. . . . B ADDR 0088H.6 A 7     7 7 7:::: AL=char Displays for non-printing; end-of-line chars AS= T|F; AW = T|F Suppress NOT FOUND; Cursor wraps around screen end AFBK=char; AFIG=hex Blankout char; Char to be ignored on key input AFXX=4hex; AFDL=4hex; AFIL=4hex ; PDS DEMONSTRATION PROGRAM ; ;THIS PROGRAM ADDS TWO NUMBERS IN PACKED BCD FORMAT, AND CONVERTS THE ;SUM TO AN ASCII STRING. THE TWO NUMBERS ARE STORED IN CONSECUTIVE ;MEMORY BYTES AS: ; ;R0 -> FIRST BYTE = LEAST AND NEXT LEAST SIGOther editors' settings ignored by CREDIT }`:10005000540F4430F709D0E0C4540F4430F7091866 :0F00600018DAE55004773180027730D00080FC49 :00564D015C NIFICANT DIGITS OF AUGEND ; SECOND BYTE = NEXT TWO MOST SIGNIFICANT DIGITS OF AUGEND ; THIRD BYTE = MOST AND NEXT MOST SIGNIFICANT DIGITS OF AUGEND ; FOURTH BYTE = \ ; FIFTH BYTE = > SAME FOR ADDEND ; SIXTH BYTE = /  ; ;THE RESULT IS RETURNED IN A STRING POINTER TO BY R1. ; ;************************************************************************* ORG 0040H ROX EQU 00H ;PSEUDONYM FOR R0 DEMO: MOV R1,#BUFFER ;GET POINTER TO RESULTS AREA MOV R1,#03 ;SET BCD D7    8    EAST SIGNIFICANT DIGITS OF AUGEND 8 ; SECOND BYTE = NEXT TWO MOST SIGNIFICANT DIGITS OF AUGEND 9 ; THIRD BYTE = MOST AND NEXT MOST SIGNIFICANT DIGITS OF AUGEND 10  ;GET READY FOR ADDITION ACCTION 0046 C000 22 PUSH ROX ;SAVE PARAMETER POINTER 0048 750032 23 MOV ROX,#50 ;SET DATA LOCATION 004B E6 24 LOOP: MOV A, ; FOURTH BYTE = \ 11 ; FIFTH BYTE = > SAME FOR ADDEND 12 ; SIXTH BYTE = / 13 ; 14 ;THE RESULT IS RETURNED IN A STRING POINT@R0 ;GET TWO BCK DIGITS FROM AUGEND 004C 08 25 INC R0 ;POINT TO CORRESPONDING DIGITS IN ADDEND 004D 08 26 INC R0 ; ("INC" DOESN'T AFFECT CARRY FLAG) 004E 08ER TO BY R1. 15 ; 16 ;************************************************************************* 0040 17 ORG 0040H 0000 18 ROX EQU  27 INC R0 004F 36 28 ADDC A,@R0 ;ADD THE TWO TOGETHER 0050 D4 29 DA A ;ADJUST FOR DECIMAL ARITHMETIC 0051 C0E0 30 00H ;PSEUDONYM FOR R0 0040 7972 19 DEMO: MOV R1,#BUFFER ;GET POINTER TO RESULTS AREA 0042 7A03 20 MOV R2,#03 ;SET BCD DIGITS COUNTER 0044 C2D7 21 CLR CY PUSH ACC ;SAVE RESULT 0053 540F 31 ANL A,#0FH ;GET LOWER DIGIIT 0055 4430 32 ORL A,#30H ;CONVERT LOWER DIGIT TO ASCII 0057 F7 33 MOV @8    9    9    :    :::IGITS COUNTER CLR CY ;GET READY FOR ADDITION ACCTION PUSH ROX ;SAVE PARAMETER POINTER LOOP: MOV A,@R0 ;GET TWO BCK DIGITS FROM AUGEND INC RO ;POINT TO CORRESPONDING DIGITS IN ADDEND INC R0 ; ("INC" DOESN'T AFFECT CARRY FLAG) INC R0 ADDC  : : :::: ;;;;AAAA TERESA- f TERESARACCrBUFFERlCLRMSDCY@DEMOnDONEKLOOPROX TERESA6@yrzu26TD0 TD0 Pw1w0 TERESA$A,@R0 ;ADD THE TWO TOGETHER DA A ;ADJUST FOR DECIMAL ARITHMETIC PUSKH ACC ;SAVE RESULT ANL A,#0FH ;GET LOWER DIGIIT ORL A,#30H ;CONVERT LOWER DIGIT TO ASCII MV @R1,A ;PUT INTO INC R1 ;POINT TO NEXT RESULT BUFFER LOCATION POP ACC ;GET  ORG 0 RESETT: AJMP STARTT ORG 1BH TIMER11:AJMP TIMOUT ORG 100H STARTT: CLR A CLR C MOV DPTR,#0000H MOV P1,#00H MOV P2,#00H MOV R0,#41H MOV TMOD,#20H MOV TCON,#00H MOV TL1,#0F4H MOV TH1,#0F4H MOV IP,#08H MOV IE,#88H SETB TR1 ASM51 DAVE.PDS DEBUG -; PDS DEMONSTRATION PROGRAM ; G;THIS PROGRAM ADDS TWO NUMBERS IN PACKED BCD FORMAT, AND CONVERTS THE E;SUM TO AN ASCII STRING. THE TWO NUMBERS ARE STORED IN CONSECUTIVE ;MEMM | 007AH=DEC R1 DASM | 007BH=MOV @R0,#B9H DASM | 007DH=ADD A,@R0 DASM | 007EH=ORL BACK RESULT O ADDITION SWAP A ;GET UPPER DIGIT ;DELETE THIS COMMENT ANL A,#0FH ORL A,#30H ;CONVERT TO ASCII MOV @R1,A ;PUT INTO RESULT BUFFER INC R1 ;POINT TO NEXT RESULT BUFFER LOCATION DEC R0 ;POINT TO NEXT TWO BCD DIGITS IN AUGEND DE ENDSTA: AJMP LOOP LOOP: ADD A,#01H MOV P2,A JNC LOOP INC DPTR CLR C ENDLOO: SJMP LOOP TIMOUT: CLR TR1 PUSH PSW MOV P1,R0 INC R0 CJNE R0,#5BH,MIDOUT MOV R0,#41H MIDOUT: POP PSW SETB TR1 ENDOUT: RETI END HINE(S): 8051 ASSEMBLORY BYTES AS: ; I;R0 -> FIRST BYTE = LEAST AND NEXT LEAST SIGNIFICANT DIGITS OF AUGEND B; SECOND BYTE = NEXT TWO MOST SIGNIFICANT DIGITS OF AUGEND G ; THIRD BYTE = MOST AND NEXT MOST SIGNIFICANT DIGITS OF AUGE A,R1 DASM | 007FH=MOV @R0,A DASM | 0080H=XRL A,R1 DASM *DISABLE SYMBOLIC *DASM 70 TO 80 | 0070H=MOV C6H,RC R0 ; ("DEC" DOESEN'T AFFECT CARRY FLAG) DJNZ R2,LOOP ;LAST PAIR OF BCD DIGITS ADDED? ; NO--ADD TWO MORE ; YES--CHECK LAST DIGIT OF SUM TO ASCII %% MOV @R1,A ;PUT INTO RESULT BUFFER 0& INC R1 ;POINT TO NEXT RESULT BUFFER Y COMPLETE, 1 ERROR FOUND (36) PAGE 2 SYMBOL TABLE LISTING ------ ----- ------- N A M E T Y P E V A L U E A T T R I B U T E S ENDLOO . . C ADDR 012BH A ENDOUT . ND  ; FOURTH BYTE = \ + ; FIFTH BYTE = > SAME FOR ADDEND  ; SIXTH BYTE = /  ; 7;THE RESULT IS RETURNED IN A STRING POINTER TO BY R1. ; L;*****************************************:    R1,A ;PUT INTO RESULT BUFFER 0058 09 34 INC R1 ;POINT TO NEXT RESULT BUFFER LOCATION 0059 D0E0 35 POP ACC ;GET BACK RESULT O ADDITION 005B C4 36 :::::: SWAP A ;GET UPPER DIGIT 005C 540F 37 ANL A,#0FH 005E 4430 38 ORL A,#30H ;CONVERT TO ASCII 0060 F7 39 MOV @R1,A ;PUT INTO ORG 0 RESETT: AJMP STARTT ORG 1BH TIMER11:AJMP TIMOUT ORG 100H STARTT: CLR A CLR C MOV DPTR,#0000H MOV P1,#00H MOV P2,#00H MOV R0,#41H MOV TMOD,#20H MOV TCON,#00H MOV TL1,#0F4H MOV TH1,#0F4H MOV IP,#08H MOV IE,#88H SETB TR1 DEMO d(@yy6TD0 TD0  DEMO MOV @R1,#31H ; YES--PUT AN ASCII "1" IN RESULT BUFFER 006A 8002 49 SJMP DONE 006C 7730 50 CLRMSD: MOV @R1,#30H ; NO--PUT AN ASCII "0" IN RESULT BUFFER MCS-51 MACRO ASSEMBLER DAVE  RESULT BUFFER 0061 09 40 INC R1 ;POINT TO NEXT RESULT BUFFER LOCATION 0062 18 41 DEC R0 ;POINT TO NEXT TWO BCD DIGITS IN AUGEND 0063 18 42 D ENDSTA: AJMP LOOP LOOP: ADD A,#01H MOV P2,A JNC LOOP INC DPTR CLR C ENDLOO: SJMP LOOP TIMOUT: CLR TR1 PUSH PSW MOV P1,R0 INC R0 CJNE R0,#5BH,MIDOUT MOV R0,#41H MIDOUT: POP PSW SETB TR1 ENDOUT: RETI END ENDOUTMIDOUTENDLOOLOOP z @@ r1 2 r. r z@@  r# /z& - z@@(( 0FH z@@(( 30H+ s @@ z$ !s/ "-& #/z $ PAGE 2 LOC OBJ LINE SOURCE 006E D000 51 DONE: POP ROX ;RESTORE PARAMETER POINTER 0070 80FC 52 EC R0 ; ("DEC" DOESEN'T AFFECT CARRY FLAG) 0064 DAE5 43 DJNZ R2,LOOP ;LAST PAIR OF BCD DIGITS ADDED? 44 ; NO--ADD TWO MORE ENDSTATIMOUTTIMER11STARTTRESETTRITIRB8TB8RENSM2SM1SM0SBUFSCONz@@(( 0FH  %z@@(( 30H &s @@ z$ 's/ (r1 )r/ *t @@ / + ,$ - .'- /s @@ (( 31H8 0'  1  s@@((3 SJMP DONE 0072 53 BUFFER: DS 10H ;BUFFER TO HOLD ASCII RESULT STRING 54 END MCS-51 MACRO ASSEMBLER DAVE ;     45 ; YES--CHECK LAST DIGIT OF SUM 46 ;APPEND SECOND DEMO FILE HERE 0066 5004 47 JNC CLRMSD ;CARRY OUT OF 6 DIGIT ADDITION? 0068 7731 48 ;;;<<<< <<<<********************************   ORG 0040H   ROX EQU 00H ;PSEUDONYM FOR R0 3DEMO: MOV R1,#BUFFER ;GET POINTER TO RESULTS AREA & MOV R2,#03 ;SET BCD DIGITS COUNTER * CLR CY ;GET READY FOR ADDITION ACCTION $;;;;;;;;;; ; = = = = MOV @R1,#31H ; YES--PUT AN ASCII "1" IN RESULT BUFFER 006A 8002 49 SJMP DONE 006C 7730 50 CLRMSD: MOV @R1,#30H ; NO--PUT AN ASCII "0" IN RESULT BUFFER MCS-51 MACRO ASSEMBLER ; PDS DEMONSTRATION PROGRAM ; ;THIS PROGRAM ADDS TWO NUMBERS IN PACKED BCD FORMAT, AND CONVERTS THE ;SUM TO AN ASCII STRING. THE TWO NUMBERS ARE STORED IN CONSECUTIVE ;MEMORY BYTES AS: ; ;R0 -> FIRST BYTE = LEAST AND NEXT LEAST SIG PUSH ROX ;SAVE PARAMETER POINTER " MOV ROX,#50 ;SET DATA LOCATION 2LOOP: MOV A,@R0 ;GET TWO BCK DIGITS FROM AUGEND 3 INC R0 ;POINT TO CORRESPONDING DIGITS IN ADDEND / INC R0 ; ("INC" DOESN'T AFFECT CARRY FLAG)   SERIAL. 6(C) INTEL CORP 1981 `S VALUE IS ILLEGAL IS DOUBLY DEFINED ILLEGAL WITH THIS MODE NOT STANDARD PROCESSOR! ILLEGAL BAUD RATE IS MISSING EXPECTED = ILLEGAL PARAMETER INPUT SYNC CHAR(NUMERICAL VALUE) => EX TERESA PAGE 2 LOC OBJ LINE SOURCE 006E D000 51 DONE: POP ROX ;RESTORE PARAMETER POINTER 0070 80FC 52 NIFICANT DIGITS OF AUGEND ; SECOND BYTE = NEXT TWO MOST SIGNIFICANT DIGITS OF AUGEND ; THIRD BYTE = MOST AND NEXT MOST SIGNIFICANT DIGITS OF AUGEND ; FOURTH BYTE = \ ; FIFTH BYTE = > SAME FOR ADDEND ; SIXTH BYTE = /  INC R0 $ ADDC A,@R0 ;ADD THE TWO TOGETHER ' DA A ;ADJUST FOR DECIMAL ARITHMETIC  PUSH ACC ;SAVE RESULT   ANL A,#0FH ;GET LOWER DIGIIT , ORL A,#30H ;CONVERT LOWER DIGIT TO ASCII %! MOV @R1,A ;PUT INTPECTED '=' MISSING MODE IS MISSING 1B!C6#6#6#6#6#6#6#6MCCCA>CvB7A͍B7 6/>MCb?"KC*KCDM?*KC~S~AH!87CBA*KC~A28!C678!C6:CC8!C6*KC#DMb?"KC*KC~ ~ Hb=*KCDM SJMP DONE 0072 53 BUFFER: DS 10H ;BUFFER TO HOLD ASCII RESULT STRING 54 END MCS-51 MACRO ASSEMBLER TERESA  ; ;THE RESULT IS RETURNED IN A STRING POINTER TO BY R1. ; ;************************************************************************* ORG 0040H ROX EQU 00H ;PSEUDONYM FOR R0 DEMO: MOV R1,#BUFFER ;GET POINTER TO RESULTS AREA MOV R1,#03 ;SET BCD DO RESULT BUFFER 0" INC R1 ;POINT TO NEXT RESULT BUFFER LOCATION '# POP ACC ;GET BACK RESULT O ADDITION $ SWAP A ;GET UPPER DIGIT  % ANL A,#0FH  & ORL A,#30H ;CONVERT TO ASCII %' MOV @R1,A ;PUT INTO RESULT BUF?*KC~I8:C8!C6!C6*KC#DMb?"KC*KC~=ʥ8I7/>*KC#DMb?CCʹ?DMb?"KC>CvB>!ĆBH8I6/>8I6/>*KC~W…9:C}9*KCDMC>"KC!C6!C6>5CvB-9:C2Cz9>6CvBD9:C2Cz9>7CvB[9:C2Cz9>8CvBr9:C 2;    Cz9W6/>Å9W6/>*KC~P::C9*KCDMC>"KC!C6!C6>ECvB9:C02C9>OCvB9:C2C9>NCvB9:C2C9P6/>:P6/>*KC~S::C::C":S6/>!C6!C6*KC#DMb?"KC*KC~=I:S7/>*KC#DMb?"KC*KC~1 :*KC#"KC~.}:*KFER 0056 09 33 INC R1 ;POINT TO NEXT RESULT BUFFER LOCATION 0057 D0E0 34 POP ACC ;GET BACK RESULT O ADDITION 0059 C4 35 SWAP A  ; YES--CHECK LAST DIGIT OF SUM 45 ;APPEND SECOND DEMO FILE HERE 0064 5004 46 JNC CLRMSD ;CARRY OUT OF 6 DIGIT ADDITION? 0066 7731 47 MOV @R1,#31H v= N?:C҅=:C2C=:Cҗ=:C@2C:C=!C6>!C=*C&C 62:C2C!C4£=:C=:C 2C:C=:C2C*CM8?:C>!C6>!C>*C&C ~ӑ!C4=:C>!7"C*C}ӑېo&"CAv!Bs+p+q*B#"B:Bw*B+CBB7CBAC+"KC:C@2CÝ:*KC#"KC~5•::C2CÝ:S6/>ü:*KC~2´::C2Cü:S6/>*KC#DMb?"KC:S6/>*KC~B<:C<:C:B6/>!C6+6*KC#DMb?"KC*KC~=;B7/>*KC#DMb?CCʹ?DMb?"KC>CvBF; 6/>>nCvB[;jN?<>CvBp;N?;GET UPPER DIGIT 005A 540F 36 ANL A,#0FH 005C 4430 37 ORL A,#30H ;CONVERT TO ASCII 005E F7 38 MOV @R1,A ;PUT INTO RESULT BUFFER 005F 09 ; YES--PUT AN ASCII "1" IN RESULT BUFFER 0068 8002 48 SJMP DONE 006A 7730 49 CLRMSD: MOV @R1,#30H ; NO--PUT AN ASCII "0" IN RESULT BUFFER MCS-51 MACRO ASSEMBLER DAVE D7C'BBCCABCBCʹ?DMb?"@C*@C~ >CvBH>C6/>*BC}!GCr+s+p+q*DC#DMb?"DC*DC~=?k7CBA*DC#"DC*DCDMb?"DC*DCDM?*DC*FC w#6*DC#DMb?"DC*DC!HCq>ӑӑӑ>@ӑ:HCӑ!JCp+q>6Ӄ*IC}Ӏ|Ӏ!Cp+q*C~<,CnB†;@N?<XCnBœ;N?<CnB²;PN?<` CnB;(N?<CnB;N?<%CnB; N?<KCnB <N?< 6/><B6/>*KC~E“<:Cҋ<:C<<E6/>!C6!C6*KCDMC>"KC>0CvBi<:C2CÈ<>1 39 INC R1 ;POINT TO NEXT RESULT BUFFER LOCATION 0060 18 40 DEC R0 ;POINT TO NEXT TWO BCD DIGITS IN AUGEND 0061 18 41 DEC R0 ; ("DEC" DO PAGE 2 LOC OBJ LINE SOURCE 50 DONE: DOP ROX ;RESTORE PARAMETER POINTER *** _________________________________^ *** ERROR #1, LINE # {?*C#"Ch?*C!Cp+q*C~ ʣ?*CNA*Cw*C#"CÅ?0123456789ABCDEF!Cr+s+p+q+p+q*C6*C"C*C~0/>9/H~A/>F/HH@*C#"C?*C"C#"C*C~H@!C6k@*C~O~QH;@!C6k@*C"C+"C"C~BV@!C6k@!C6 *C~Dk@*C#"C*CvB€<:C@2CÈ<E6/>Ó<E6/>*KC~C==:C5=:CҲ<C6/>!C6!C6*KCDMC>"KC>0CvB=!C6>!C*C&C w:C2C!C4<2=>1CvB*=!C6i>*C&C w:C2C2=C6/>==C6/>:CO= )7/>T=!C6*KCDMb?"KCO8:C҈=:CESEN'T AFFECT CARRY FLAG) 0062 DAE4 42 DJNZ R2,LOOP ;LAST PAIR OF BCD DIGITS ADDED? 43 ; NO--ADD TWO MORE 44 50 (24), SYNTAX ERROR 006C 80FE 51 SJMP DONE 006E 52 BUFFER: DS 10H ;BUFFER TO HOLD ASCII RESULT STRING 53 END MCS-51 MACRO ASSEMBLER DAVE C"C*C>w#6o&"CCCiBA!C6>!Cں@*C*C&? ³@:C2C!C4‘@!C:C@*C6*C*C&*CUB*C& *Cq#p*CCiB@*C6*C*C^#V"C*C#"CÀ@*C0123456789ABCDEF!Cs+p+q+q+q+p+q!D6:C!DڄA*C*C&6BA !D:CO*C w<    ER LOCATION 2( DEC R0 ;POINT TO NEXT TWO BCD DIGITS IN AUGEND 0) DEC R0 ; ("DEC" DOESEN'T AFFECT CARRY FLAG) 0* DJNZ R2,LOOP ;LAST PAIR OF BCD DIGITS ADDED? + ; NO--ADD TWO MORE %, ; YES--CHECK LAST DIGIT OF IGITS COUNTER CLR CY ;GET READY FOR ADDITION ACCTION PUSH ROX ;SAVE PARAMETER POINTER LOOP: MOV A,@R0 ;GET TWO BCK DIGITS FROM AUGEND INC RO ;POINT TO CORRESPONDING DIGITS IN ADDEND INC R0 ; ("INC" DOESN'T AFFECT CARRY FLAG) INC R0 ADDC  < < <II "1" IN RESULT BUFFER SJMP DONE CLRMSD: MOV @R1,#30H ; NO--PUT AN ASCII "0" IN RESULT BUFFER DONE: DOP ROX ;RESTORE PARAMETER POINTER SJMP DONE BUFFER: DS 10H ;BUFFER TO HOLD ASCII RESULT STRING END SUM -;APPEND SECOND DEMO FILE HERE .. JNC CLRMSD ;CARRY OUT OF 6 DIGIT ADDITION? 9/ MOV @R1,#31H ; YES--PUT AN ASCII "1" IN RESULT BUFFER  0 SJMP DONE ?1CLRMSD: MOV @R1,#30H ; NO--PUT AN ASCII "0" IN RESULT BUFFER +A,@R0 ;ADD THE TWO TOGETHER DA A ;ADJUST FOR DECIMAL ARITHMETIC PUSH ACC ;SAVE RESULT ANL A,#0FH ;GET LOWER DIGIIT ORL A,#30H ;CONVERT LOWER DIGIT TO ASCII MOV @R1,A ;PUT INTO RESULT BUFFER INC R1 ;POINT TO NEXT RESULT BUFFER LOCATION NAMrr[f "&*.26:=@CFJNPSW[`eimqux{~ a\XTPLHDA>:5.)"R0R1R2R3R4R5R6R7AAR0AR1AR2AR3AR4AR5AR6AR7P0 DASM | 0001H=XCH A,@R0 DASM | 0002H=CJNE R1,#E6H,FF9EH DASM | 0005H=CJNE @R0,#89H,FFFEH DASM | 00082DONE: POP ROX ;RESTORE PARAMETER POINTER  3 SJMP DONE 64BUFFER: DS 10H ;BUFFER TO HOLD ASCII RESULT STRING 5 END OF AUGEND ; FOURTH BYTE = \ ; FIFTH BYTE = > SAME FOR ADDEND ; SIXTH BYTE = / POP ACC ;GET BACK RESULT O ADDITION SWAP A ;GET UPPER DIGIT ANL A,#0FH ORL A,#30H ;CONVERT TO ASCII MOV @R1,A ;PUT INTO RESULT BUFFER INC R1 ;POINT TO NEXT RESULT BUFFER LOCATION DEC R0 ;POINT TO NEXT TWO BCD DIGITS IN AUGEND DEC R0 ; P1P2P3PSWACCBSPDPLDPHTCONTMODTL0TL1TH0TH1IEIPCYACF0RS1RS0OVPTF1TR1TF0TR0IE1IT1IE0IT0EAESET1EX1ET0EX0PSPT1PX1PT0PX0RDWRT1T0INT1INT0TXDRXDEXTI0TIMER0EXTI1TIMER1SINTRESETDONECLRMSDLOOPBUFFERDEMOROH=MOV R1,B6H DASM | 000AH=DJNZ R1,0022H DASM | 000CH=ORL A,R1 DASM | 000DH=DEC @R0 DASM  ; ;THE RESULT IS RETURNED IN A STRING POINTER TO BY R1. ; ;************************************************************************* ORG 0040H ROX EQU 00H ;PSEUDONYM FOR R0 DEMO: MOV R1,#BUFFER ;GET POINTER TO RESULTS AREA MOV R1,#03 ;SET BCD D ("DEC" DOESEN'T AFFECT CARRY FLAG) DJNZ R2,LOOP ;LAST PAIR OF BCD DIGITS ADDED? ; NO--ADD TWO MORE ; YES--CHECK LAST DIGIT OF SUM ;APPEND SECOND DEMO FILE HERE JNC CLRMSD ;CARRY OUT OF 6 DIGIT ADDITION? MOV @R1,#31H ; YES--PUT AN ASCXRITIRB8TB8RENSM2SM1SM0SBUFSCON z @@ r1 r2 r. r z@@  r# /z& - z@@((  z@@(( 30H+ s @@ z$ !s | 000EH=XRL A,R1 DASM | 000FH=SUBB A,@R0 DASM | 0010H=DEC R1 DASM | 0011H=MOV @R0,39<    <<<<<<<<<<<<< <==== ========NIFICANT DIGITS OF AUGEND 8 ; SECOND BYTE = NEXT TWO MOST SIGNIFICANT DIGITS OF AUGEND 9 ; THIRD BYTE = MOST AND NEXT MOST SIGNIFICANT DIGITS OF AUGEND 10 ;  ;GET READY FOR ADDITION ACCTION 0046 C000 22 PUSH ROX ;SAVE PARAMETER POINTER 0048 E6 23 LOOP: MOV A,@R0 ;GET TWO BCK DIGITS FROM AUGEND 0049 0500 24 INC ASM51 TERRI.PDS ENDJOB  MCS-51 MACRO ASSEMBLER TERRI PAGE 1 ISIS-II MCS-51 MACRO ASSEMBLER V2.0 OBJECT MODULE PLACED IN :F0:TERRI.OBJ ASSEMBLER INVOKED BY: ASM51 TERRI.PDS  FOURTH BYTE = \ 11 ; FIFTH BYTE = > SAME FOR ADDEND 12 ; SIXTH BYTE = / 13 ; 14 ;THE RESULT IS RETURNED IN A STRING POINTER TO BY RO ;POINT TO CORRESPONDING DIGITS IN ADDEND *** ERROR #18, LINE #24 (0), (PASS 2) UNDEFINED SYMBOL 004B 08 25 INC R0 ; ("INC" DOESN'T AFFECT CARRY FLAG) 004C 08 26 INC DASM | 001EH=MOV R1,#16H DASM | 0020H=XRL A,R1 DASM *DASM 200 TO 210 | 0200H=INC R1 DASM  LOC OBJ LINE SOURCE 1 ; PDS DEMONSTRATION PROGRAM 2 ; 3 ;THIS PROGRAM ADDS TWO NUMBERS IN PACKED BCD FORMAT, AND CONVERTS TH R1. 15 ; 16 ;************************************************************************* 0040 17 ORG 0040H 0000 18 ROX EQU 00H  R0 004D 36 27 ADDC A,@R0 ;ADD THE TWO TOGETHER 004E D4 28 DA A ;ADJUST FOR DECIMAL ARITHMETIC 004F C0E0 29 PUSH ACC ;SAVE RES | 0201H=ANL A,@R0 DASM | 0202H=MOV R1,76H DASM | 0204H=MOV A,R1 DASM | 0205H=ANL A,@R0 E 4 ;SUM TO AN ASCII STRING. THE TWO NUMBERS ARE STORED IN CONSECUTIVE 5 ;MEMORY BYTES AS: 6 ; 7 ;R0 -> FIRST BYTE = LEAST AND NEXT LEAST SIG;PSEUDONYM FOR R0 0040 796E 19 DEMO: MOV R1,#BUFFER ;GET POINTER TO RESULTS AREA 0042 7903 20 MOV R1,#03 ;SET BCD DIGITS COUNTER 0044 C2D7 21 CLR CY ULT 0051 540F 30 ANL A,#0FH ;GET LOWER DIGIIT 0053 4430 31 ORL A,#30H ;CONVERT LOWER DIGIT TO ASCII 0055 F7 32 MOV @R1,A ;PUT INTO RESULT B=     PAGE 3 SYMBOL TABLE LISTING ------ ----- ------- N A M E T Y P E V A L U E A T T R I B U T E S ACC. . . . D ADDR 00E0H A BUFFER . . C ADDR 0UFFER 0056 09 33 INC R1 ;POINT TO NEXT RESULT BUFFER LOCATION 0057 D0E0 34 POP ACC ;GET BACK RESULT O ADDITION 0059 C4 35 SWAP A *C*C&6B"C!D4AA!D6*D&*C~0:C=O:DHA*D&*C:Cw!D4ÉA!Dq:DaA:D>z!DA:D:D!D"DD @! Dr+s+p+q+p+q+p+q+p+qD@!Dr+s+p+q+p+q+p+qD@DM!>))덑o|gOB ==BDM!>))dB =\Bi`N# ; YES--CHECK LAST DIGIT OF SUM 45 ;APPEND SECOND DEMO FILE HERE 0064 5004 46 JNC CLRMSD ;CARRY OUT OF 6 DIGIT ADDITION? 0066 7731 47 MOV @R1,#31H 06EH A CLRMSD . . C ADDR 006AH A CY . . . . B ADDR 00D0H.7 A DEMO . . . C ADDR 0040H A DONE . . . C ADDR 006CH A DOP. . . . ---- ---- LOOP . . . C ADDR 0048H A  ;GET UPPER DIGIT 005A 540F 36 ANL A,#0FH 005C 4430 37 ORL A,#30H ;CONVERT TO ASCII 005E F7 38 MOV @R1,A ;PUT INTO RESULT BUFFER 005F 09 Fogo&og_{_z#W oC7-oBUFFERiCLRMSD @DEMOy kDONEM HLOOP\ ROX333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333 ; YES--PUT AN ASCII "1" IN RESULT BUFFER 0068 8002 48 SJMP DONE 006A 7730 49 CLRMSD: MOV @R1,#30H ; NO--PUT AN ASCII "0" IN RESULT BUFFER MCS-51 MACRO ASSEMBLER TERRI  RO . . . . ---- ---- ROX. . . . NUMB 0000H A REGISTER BANK(S) USED: 0, TARGET MACHINE(S): 8051 ASSEMBLY COMPLETE, 2 ERRORS FOUND (50) ; THIRD BYTE = MOST AND NEXT MOST SIGNIFICANT DIGITS OF AUGEND  39 INC R1 ;POINT TO NEXT RESULT BUFFER LOCATION 0060 18 40 DEC R0 ;POINT TO NEXT TWO BCD DIGITS IN AUGEND 0061 18 41 DEC R0 ; ("DEC" 3 PAGE 2 LOC OBJ LINE SOURCE 50 DONE: DOP ROX ;RESTORE PARAMETER POINTER *** _________________________________^ *** ERROR #1, LINE ; FOURTH BYTE = \ + ; FIFTH BYTE = > SAME FOR ADDEND  ; SIXTH BYTE = /  ; 7;THE RESULT IS RETURNED IN A STRING POINTER TO BY R1. ; L;**********************************************DOESEN'T AFFECT CARRY FLAG) 0062 DAE4 42 DJNZ R2,LOOP ;LAST PAIR OF BCD DIGITS ADDED? 43 ; NO--ADD TWO MORE 44 3 #50 (24), SYNTAX ERROR 006C 80FE 51 SJMP DONE 006E 52 BUFFER: DS 10H ;BUFFER TO HOLD ASCII RESULT STRING 53 END MCS-51 MACRO ASSEMBLER TERRI =    IGITS COUNTER CLR CY ;GET READY FOR ADDITION ACCTION PUSH ROX ;SAVE PARAMETER POINTER MOV ROX,#50 ;SET DATA LOCATION LOOP: MOV A,@R0 ;GET TWO BCK DIGITS FROM AUGEND INC R0 ;POINT TO CORRESPONDING DIGITS IN ADDEND INC R0 ; ("INC" DOESN'T A MOV @R1,#31H ; YES--PUT AN ASCII "1" IN RESULT BUFFER SJMP DONE CLRMSD: MOV @R1,#30H ; NO--PUT AN ASCII "0" IN RESULT BUFFER DONE: POP ROX ;RESTORE PARAMETER POINTER SJMP DONE BUFFER: DS 10H ;BUFFER TO HOLD ASCII RESULT STRING END ===FFECT CARRY FLAG) INC R0 ADDC A,@R0 ;ADD THE TWO TOGETHER DA A ;ADJUST FOR DECIMAL ARITHMETIC PUSH ACC ;SAVE RESULT ANL A,#0FH ;GET LOWER DIGIIT ORL A,#30H ;CONVERT LOWER DIGIT TO ASCII MOV @R1,A ;PUT INTO RESULT BUFFER INC R1 ;POINT DASM | 0020H=NOP DASM *CBY 0 TO 40 .ROX 0000H=00H 00H 00H 00H 00H 00H 00H 00H 00H 00H 00H 00H 00H 00H 00H 00H 0010H=00H 00H 00H 00H 00H 00H 00H 00H 00H 00H 00H 00H 00H 00H 00H 00H 0020H TERRIm ~j2@yny6TD0 TD0 Pw1w0t TERRId ; YES--PUT AN ASCII "1" IN RESULT BUFFER 0068 8002 48 SJMP DONE 006A 7730 49 CLRMSD: MOV @R1,#30H ; NO--PUT AN ASCII "0" IN RESULT BUFFER MCS-51 MACRO ASSEMBLER TERRI  TO NEXT RESULT BUFFER LOCATION POP ACC ;GET BACK RESULT O ADDITION SWAP A ;GET UPPER DIGIT ANL A,#0FH ORL A,#30H ;CONVERT TO ASCII MOV @R1,A ;PUT INTO RESULT BUFFER INC R1 ;POINT TO NEXT RESULT BUFFER LOCATION DEC R0 ;POINT TO NEXT TWO=00H 16H 49H 26H 49H 96H 69H A6H 60H 96H 79H 86H 69H 96H 28H 96H 0030H=79H B6H 69H D6H 69H 14H 29H 36H A9H 36H 79H 86H 6BH 96H 69H 96H .DEMO 0040H=79H *HELP BASE BASE - Refers to the current base in which numeric values are displayed on the consol26Q 050Q 226Q 0030H=171Q 266Q 151Q 326Q 151Q 024Q 051Q 066Q 0038H=251Q 066Q 171Q 206Q 153Q 226Q 151Q 226Q .DEMO 0040H=171Q *BASE=T *BASE=H *DBY 0 TO 10 .ROX 0000H=FFH 68H 00H 35H 3FH 36H 3FH 3CH 3FH 39H 3FH 3BH 3FH 31H 3FH 3BH 0010H=3FH *D PAGE 2 LOC OBJ LINE SOURCE 50 DONE: DOP ROX ;RESTORE PARAMETER POINTER *** _________________________________^ *** ERROR #1, LINE BCD DIGITS IN AUGEND DEC R0 ; ("DEC" DOESEN'T AFFECT CARRY FLAG) DJNZ R2,LOOP ;LAST PAIR OF BCD DIGITS ADDED? ; NO--ADD TWO MORE ; YES--CHECK LAST DIGIT OF SUM ;APPEND SECOND DEMO FILE HERE JNC CLRMSD ;CARRY OUT OF 6 DIGIT ADDITION?e, initially hex. (Note: if symbolic display is enabled, memory addresses are displayed as a symbol. Trace data and breakpoint/qualifier values are always displayed in hex. See SUFFIX for current input base. (1) To display the current base, type:EF .ROX=0 ROX ERR 85:ITEM ALREADY EXISTS *DBY 0 TO FF ERR 83:INAPPROPRIATE NUMBER *DBY 0 TO 1F .ROX 0000H=FFH 68H 00H 35H 3FH 36H 3FH 3CH 3FH 39H 3FH 3BH 3FH 31H 3FH 3BH 0010H=3FH 3EH 3FH 31H 3FH 30H 3FH 3EH 3FH 36H 3FH 30H 3FH 30H 3FH 36H  #50 (24), SYNTAX ERROR 006C 80FE 51 SJMP DONE 006E 52 BUFFER: DS 10H ;BUFFER TO HOLD ASCII RESULT STRING 53 END MCS-51 MACRO ASSEMBLER TERRI >    ***************************   ORG 0040H   ROX EQU 00H ;PSEUDONYM FOR R0 3DEMO: MOV R1,#BUFFER ;GET POINTER TO RESULTS AREA & MOV R1,#03 ;SET BCD DIGITS COUNTER * CLR CY ;GET READY FOR ADDITION ACCTION $ PUS>>>>>>>FER LOCATION 2( DEC R0 ;POINT TO NEXT TWO BCD DIGITS IN AUGEND 0) DEC R0 ; ("DEC" DOESEN'T AFFECT CARRY FLAG) 0* DJNZ R2,LOOP ;LAST PAIR OF BCD DIGITS ADDED? + ; NO--ADD TWO MORE %, ; YES--CHECK LAST DIGIT OF>>>H ROX ;SAVE PARAMETER POINTER 2LOOP: MOV A,@R0 ;GET TWO BCK DIGITS FROM AUGEND 3 INC RO ;POINT TO CORRESPONDING DIGITS IN ADDEND / INC R0 ; ("INC" DOESN'T AFFECT CARRY FLAG)   INC R0 $ ADDC A,@R0 ;ADD THE TWO T"""""""" ,  F D   H A F  *   6  K ,,0040H   00H  s @@((2 s@@ (( 03% !) -#  SUM -;APPEND SECOND DEMO FILE HERE .. JNC CLRMSD ;CARRY OUT OF 6 DIGIT ADDITION? 9/ MOV @R1,#31H ; YES--PUT AN ASCII "1" IN RESULT BUFFER  0 SJMP DONE ?1CLRMSD: MOV @R1,#30H ; NO--PUT AN ASCII "0" IN RESULT BUFFER NAMrr]m "&*.26:=@CFJNPSW[`eimqux{~ hc_[WSOKHEA<50-&!R0R1R2R3R4R5R6R7AAR0AR1AR2AR3AR4AR5AR6AROGETHER ' DA A ;ADJUST FOR DECIMAL ARITHMETIC  PUSH ACC ;SAVE RESULT   ANL A,#0FH ;GET LOWER DIGIIT , ORL A,#30H ;CONVERT LOWER DIGIT TO ASCII % MOV @R1,A ;PUT INTO RESULT BUFFER 0! INC R1 ;POINT TO NEX z @@ r1 2 r. r z@@  r# /z& - z@@(( 0FH z@@(( 30H+ s @@ z$ !s/ "-& #/z $+2DONE: DOP ROX ;RESTORE PARAMETER POINTER  3 SJMP DONE B4BUFFER: DS 10H ;BUFFER TO HOLD ASCII RESULT STRING  5 END n display, enter ON or OFF | TR = OFF register display, enter ON or OFF | TB0= 7P0P1P2P3PSWACCBSPDPLDPHTCONTMODTL0TL1TH0TH1IEIPCYACF0RS1RS0OVPTF1TR1TF0TR0IE1IT1IE0IT0EAESET1EX1ET0EX0PSPT1PX1PT0PX0RDWRT1T0INT1INT0TXDRXDEXTI0TIMER0EXTI1TIMER1SINTRESETDOPDONECLRMSDROLOOPBUFT RESULT BUFFER LOCATION '" POP ACC ;GET BACK RESULT O ADDITION # SWAP A ;GET UPPER DIGIT  $ ANL A,#0FH  % ORL A,#30H ;CONVERT TO ASCII %& MOV @R1,A ;PUT INTO RESULT BUFFER 0' INC R1 ;POINT TO NEXT RESULT BUFz@@(( 0FH  %z@@(( 30H &s @@ z$ 's/ (r1 )r/ *t @@ / + ,$ - .'- /s @@ (( 31H8 0'  1  s@@((3OFF TB1= OFF TB2= OFF TB3= OFF | TS = OFF status display, enter ON or OFF |----------------------------------------------------------------------- | DISPLAY START/STOP CONTROLS |------------------------------------------------FERDEMOROXRITIRB8TB8RENSM2SM1SM0SBUFSCON------------------------------------- | TR0= 0046H ON TR1= 0050H OFF TR2= OFF TR3= OFF | TV= OFF (TV=n value switch) (TRx=address sw) |---------------------------->    0H> 2 * 3'  4 ??10HA 5 **  6>>> STEP | 004BH=DA A STEP | 004CH=PUSH .ACC STEP | 004EH=ANL A,#0FH STEP .LOOP  | 004BH=DA A STEP | 004CH=PUSH .ACC STEP | 004EH=ANL A,#0FH STEP .LOOP 0046H=MOV A,@R0 USH .ROX STEP .LOOP 0046H=MOV A,@R0 STEP | 0047H=INC .ROX STEP | 0049H=INC R0 STEP  ACC. . . . D ADDR 00E0H A BUFFER . . C ADDR 006EH A CLRMSD . . C ADDR 006AH A CY . . . . B ADDR 00D0H.7 A DEMO . . . C ADDR 0040H A DONE . . . C ADDR 006CH A DOP. . . . - 0046H=MOV A,@R0 STEP | 0047H=INC .ROX STEP | 0049H=INC R0 STEP | 004AH=INC R0 STEP STEP | 0047H=INC .ROX STEP | 0049H=INC R0 STEP | 004AH=INC R0 STEP  | 004AH=INC R0 STEP | 004BH=DA A STEP | 004CH=PUSH .ACC STEP | 004EH=ANL A,#0FH --- ---- LOOP . . . C ADDR 0048H A RO . . . . ---- ---- ROX. . . . NUMB 0000H A .ACC STEP | 004EH=ANL A,#0FH STEP .LOOP  | 004BH=DA A STEP | 004CH=PUSH .ACC STEP | 004EH=ANL A,#0FH STEP .LOOP 0046H=MOV | 004BH=DA A STEP | 004CH=PUSH .ACC STEP | 004EH=ANL A,#0FH STEP .LOOP 0046H=MOV A,@R0 STEP  STEP .LOOP 0046H=MOV A,@R0 STEP | 0047H=INC .ROX STEP | 0049H=INC R0 STEP  0046H=MOV A,@R0 STEP | 0047H=INC .ROX STEP | 0049H=INC R0 STEP | 004AH=INC R0  A,@R0 STEP | 0047H=INC .ROX STEP | 0049H=INC R0 STEP | 004AH=INC R0 STEP  | | 0047H=INC .ROX ESCAPE *4 REG |--------------------------------------------------------------------- | PC = 0049H TM0= 0000H RBS =0 R0= 3BH R4= 33H ?     | SP = 6CH TM1= 0000H BASE =H R1= 11H R5= 33H | DPTR= 0000H SUFFIX=H R2= F9H R6= 33H | ACC = 33H PSW= 00000000Y R3= 33H R7= 30H |________________________________l | branch | BV= OFF (step mode only) breakpoints. | value --------------------------------------------------------|----------- ----- *BR0=.LOOP --------------------------------------------------------|-----------  | TR = OFF register display, enter ON or OFF | TB0= OFF TB1= OFF TB2= OFF TB3= OFF | TS = OFF status display, enter ON or OFF |----------------------------------------------------------------------- | DISPLAY START/STOP CON----------------------------------------- | DISPLAY START/STOP CONTROLS |----------------------------------------------------------------------- | TR0= 0040H ON TR1= 0050H OFF TR2= OFF TR3= OFF | TV= OFF (TV=n val_____________________________________ ---- *DASM .DEMO TO .LOOP .DEMO 0040H=MOV R1,#.BUFFER DASM | 0042H=MOV R1,#03H DASM | 0044H=PUSH  BREAKPOINT SETTINGS | TYPE --------------------------------------------------------|----------- | BR0= 0046H BR1= OFF BR2= OFF BR3= OFF | location | BRR= OFF TROLS |----------------------------------------------------------------------- | TR0= 0046H ON TR1= 0050H OFF TR2= OFF TR3= OFF | TV= OFF (TV=n value switch) (TRx=address sw) |--------------------------------------ue switch) (TRx=address sw) |----------------------------------------------------------------------- ----- *STEP FROM .DEMO BR .DEMO 0040H=MOV R1,#.BUFFER STEP | 0042H=MOV R1,#03H.ROX DASM .LOOP 0046H=MOV A,@R0 DASM *2 BRE --------------------------------------------------------|----------- BREAKPOINT SETTINGS | TYPE ------- | range | BRB= OFF (go mode only) BC disables all | branch | BV= OFF (step mode only) breakpoints. | value --------------------------------------------------------|----------- ----- *3 DTR |---------------------------------- ----- *TR0=.DEMO ON |----------------------------------------------------------------------- | TRACE DISPLAY CONTROLS (DTRACE) |------------------------------------------------------ STEP | 0044H=PUSH .ROX STEP .LOOP 0046H=MOV A,@R0 STEP *4 REG |--------------------------------------------------------------------- | PC = 004-------------------------------------------------|----------- | BR0= OFF BR1= OFF BR2= OFF BR3= OFF | location | BRR= OFF | range | BRB= OFF (go mode only) BC disables al---------------------------------------------------------------------- | TRACE DISPLAY CONTROLS (DTRACE) |----------------------------------------------------------------------- | TD = ON instruction display, enter ON or OFF ----------------- | TD = ON instruction display, enter ON or OFF | TR = OFF register display, enter ON or OFF | TB0= OFF TB1= OFF TB2= OFF TB3= OFF | TS = OFF status display, enter ON or OFF |------------------------------7H TM0= 0000H RBS =0 R0= 3BH R4= 33H | SP = 6DH TM1= 0000H BASE =H R1= 03H R5= 33H | DPTR= 0000H SUFFIX=H R2= F9H R6= 33H | ACC = 33H PSW= 00000000Y ?    R3= 33H R7= 30H |_____________________________________________________________________ ---- *ASM ORG 42 0042H *ASM MOV R2,#03 0044H *DASM .DEMO TO .LOOP .DEMO 0040H=MOV R1,#.BUFFER DASM 04AH=INC R0 STEP | 004BH=DA A STEP | 004CH=PUSH .ACC STEP | 004EH=ANL A,#0FH STEP .DO?????? ?@@@@@@@@ @ @ @ @ | 0042H=MOV R2,#03H DASM | 0044H=PUSH .ROX DASM .LOOP 0046H=MOV A,@R0 DASM *BC *DBYTE 50 TO 55=33,33,33,22,22,22 *DBYTE 50 TO 55NE 0069H=POP .ROX ESCAPE *DBYTE 72 TO 77 0072H=33H 30H 33H 33H 33H 33H *LIST:CO: (step mode only) breakpoints. | value --------------------------------------------------------|----------- - TEST.OBJ TERRYDmBUFFERgCLRMSD @DEMOy iDONEO FLOOP^ ROXymzTD0 TD0 Pw1w0 0050H=33H 33H 33H 22H 22H 22H *STEP FROM .DEMO BR .DEMO 0040H=MOV R1,#.BUFFER STEP | 0042H=MOV R2,#03H STEP | 0044H=PUSH .ROX ---- *S BR | 006DH=SJMP .DONE STEP ACC=3FH PSW=40H R0=FFH R1=62H R2=00H R3=3BH R4=3FH R5=35H R6=3FH R7=38H .DONE 006BH=POP .ROX STEP ACC=3FH PSW=40H R0=FFH R1 STEP .LOOP 0046H=MOV A,@R0 STEP | 0047H=INC .ROX STEP | 0049H=INC R0 STEP | 0=62H R2=00H R3=3BH R4=3FH R5=35H R6=3FH R7=38H | 006DH=SJMP .DONE STEP ACC=3FH PSW=40H R0=FFH R1=62H R2=00H R3=3BH R4=3FH R5=35H R6=3FH R7=38H .DONE 006BH=POP .ROX @    @@@AAAAAAAABBBB B B B B=== = 00H  s @@((2 s@@ (( 03% !) -#  MCS-51 MACRO ASSEMBLER DAVE2 PAGE 1 ISIS-II MCS-51 MACRO ASSEMBLER V2.0 OBJECT MODULE PLACED IN :F0:DAVE2.OBJ ASSEMBLER INVOKED BY: ASM51 DAVE2.PDS DEBUG  @@ (( 50H!  z @@ r1 2 r. r z@@  r# /z& - z@@(( 0FH z@@(( 30H+ !s @@ z$ "s/ #- LOC OBJ LINE SOURCE 1 ; PDS DEMONSTRATION PROGRAM 2 ; 3 ;THIS PROGRAM ADDS TWO NUMBERS IN PACKED BCD FORMAT, AND CONVE& $/z %z@@(( 0FH  &z@@(( 30H 's @@ z$ (s/ )r1 *r/ +t @@ / , -$ . /'- 0s @@ (( 31H8 1'  2RTS THE 4 ;SUM TO AN ASCII STRING. THE TWO NUMBERS ARE STORED IN CONSECUTIVE 5 ;MEMORY BYTES AS: 6 ; 7 ;R0 -> FIRST BYTE = LEAST AND NEXT LEA@    @@@@@@ BBBBBBBB0= OFF TB1= OFF TB2= OFF TB3= OFF | TS = OFF status display, enter ON or OFF |----------------------------------------------------------------------- | DISPLAY START/STOP CONTROLS |--------------------------------------------ASSIGN :CO: TO :SO: ENDJOB ; PDS DEMONSTRATION PROGRAM ; ;THIS PROGRAM ADDS TWO NUMBERS IN PACKED BCD FORMAT, AND CONVERTS THE ;SUM TO AN ASCII STRING. THE TWO NUMBERS ARE STORED IN CONSECUTIVE ;MEMORY BYTES AS: ; ;R0 -> FIRST BYTE = LEAST AND NEXT LEAST SIG*DASM .LOOP LENGTH 6 .LOOP 004BH=MOV A,@R0 DASM | 004CH=INC R1 DASM | 004DH=INC R0 DASM --------------------------- | TR0= 0040H ON TR1= 0050H OFF TR2= OFF TR3= OFF | TV= OFF (TV=n value switch) (TRx=address sw) |----------------------------------------------------------------------- ----- *TR0=.#30H ; NO--PUT AN ASCII "0" IN RESULT BUFFER +3DONE: POP ROX ;RESTORE PARAMETER POINTER  4 SJMP DONE 65BUFFER: DS 10H ;BUFFER TO HOLD ASCII RESULT STRING 6 END XTI1TIMER1SINTRESETDONECLRMSDLOOPBUFFERDEMORONIFICANT DIGITS OF AUGEND ; SECOND BYTE = NEXT TWO MOST SIGNIFICANT DIGITS OF AUGEND ; THIRD BYTE = MOST AND NEXT MOST SIGNIFICANT DIGITS OF AUGEND ; FOURTH BYTE = \ ; FIFTH BYTE = > SAME FOR ADDEND ; SIXTH BYTE = /  | 004EH=INC R0 DASM | 004FH=ADDC A,@R0 DASM | 0050H=DA A DASM *3 DTR |-----------------------------------------------------LOOP ERR 80 SYNTAX ERROR |----------------------------------------------------------------------- | TRACE DISPLAY CONTROLS (DTRACE) |----------------------------------------------------------------------- | TD = ON instruXRITIRB8TB8RENSM2SM1SM0SBUFSCON ; ;THE RESULT IS RETURNED IN A STRING POINTER TO BY R1. ; ;************************************************************************* ORG 0040H ROX EQU 00H ;PSEUDONYM FOR R0 DEMO: MOV R1,#BUFFER ;GET POINTER TO RESULTS AREA MOV R1,#03 ;SET BCD D------------------ | TRACE DISPLAY CONTROLS (DTRACE) |----------------------------------------------------------------------- | TD = ON instruction display, enter ON or OFF | TR = ON register display, enter ON or OFF | TBction display, enter ON or OFF | TR = ON register display, enter ON or OFF | TB0= OFF TB1= OFF TB2= OFF TB3= OFF | TS = OFF status display, enter ON or OFF |-------------------------------------------------------------------A    ST SIGNIFICANT DIGITS OF AUGEND 8 ; SECOND BYTE = NEXT TWO MOST SIGNIFICANT DIGITS OF AUGEND 9 ; THIRD BYTE = MOST AND NEXT MOST SIGNIFICANT DIGITS OF AUGEND 10 AAA A A A AAAAIGITS COUNTER CLR CY ;GET READY FOR ADDITION ACCTION PUSH ROX ;SAVE PARAMETER POINTER LOOP: MOV A,@R0 ;GET TWO BCK DIGITS FROM AUGEND INC RO ;POINT TO CORRESPONDING DIGITS IN ADDEND INC R0 ; ("INC" DOESN'T AFFECT CARRY FLAG) INC R0 ADDC  ; FOURTH BYTE = \ 11 ; FIFTH BYTE = > SAME FOR ADDEND 12 ; SIXTH BYTE = / 13 ; 14 ;THE RESULT IS RETURNED IN A STRING POINTERASSIGN :CO: TO :SO: ASSIGN :CI: TO :SI: ENDJOB ; PDS DEMONSTRATION PROGRAM ; ;THIS PROGRAM ADDS TWO NUMBERS IN PACKED BCD FORMAT, AND CONVERTS THE ;SUM TO AN ASCII STRING. THE TWO NUMBERS ARE STORED IN CONSECUTIVE ;MEMORY BYTES AS: ; ;R0 -> FIRST BYTE = LEAST AND NEXT LEAST SIGA,@R0 ;ADD THE TWO TOGETHER DA A ;ADJUST FOR DECIMAL ARITHMETIC PUSH ACC ;SAVE RESULT ANL A,#0FH ;GET LOWER DIGIIT ORL A,#30H ;CONVERT LOWER DIGIT TO ASCII MOV @R1,A ;PUT INTO RESULT BUFFER INC R1 ;POINT TO NEXT RESULT BUFFER LOCATION  TO BY R1. 15 ; 16 ;************************************************************************* 0040 17 ORG 0040H 0000 18 ROX EQU 00P1P2P3PSWACCBSPDPLDPHTCONTMODTL0TL1TH0TH1IEIPCYACF0RS1RS0OVPTF1TR1TF0TR0IE1IT1IE0IT0EAESET1EX1ET0EX0PSPT1PX1PT0PX0RDWRT1T0INT1INT0TXDRXDEXTI0TIMER0EXTI1TIMER1SINTRESETDONECLRMSDLOOPBUFFERDEMORONIFICANT DIGITS OF AUGEND ; SECOND BYTE = NEXT TWO MOST SIGNIFICANT DIGITS OF AUGEND ; THIRD BYTE = MOST AND NEXT MOST SIGNIFICANT DIGITS OF AUGEND ; FOURTH BYTE = \ ; FIFTH BYTE = > SAME FOR ADDEND ; SIXTH BYTE = / POP ACC ;GET BACK RESULT O ADDITION SWAP A ;GET UPPER DIGIT ANL A,#0FH ORL A,#30H ;CONVERT TO ASCII MOV @R1,A ;PUT INTO RESULT BUFFER INC R1 ;POINT TO NEXT RESULT BUFFER LOCATION DEC R0 ;POINT TO NEXT TWO BCD DIGITS IN AUGEND DEC R0 ; H ;PSEUDONYM FOR R0 0040 7972 19 DEMO: MOV R1,#BUFFER ;GET POINTER TO RESULTS AREA 0042 7903 20 MOV R1,#03 ;SET BCD DIGITS COUNTER 0044 C2D7 21 CLR CY XRITIRB8TB8RENSM2SM1SM0SBUFSCON ; ;THE RESULT IS RETURNED IN A STRING POINTER TO BY R1. ; ;************************************************************************* ORG 0040H ROX EQU 00H ;PSEUDONYM FOR R0 DEMO: MOV R1,#BUFFER ;GET POINTER TO RESULTS AREA MOV R1,#03 ;SET BCD D ("DEC" DOESEN'T AFFECT CARRY FLAG) DJNZ R2,LOOP ;LAST PAIR OF BCD DIGITS ADDED? ; NO--ADD TWO MORE ; YES--CHECK LAST DIGIT OF SUM A    AAAAAAAIGITS COUNTER CLR CY ;GET READY FOR ADDITION ACCTION PUSH ROX ;SAVE PARAMETER POINTER LOOP: MOV A,@R0 ;GET TWO BCK DIGITS FROM AUGEND INC RO ;POINT TO CORRESPONDING DIGITS IN ADDEND INC R0 ; ("INC" DOESN'T AFFECT CARRY FLAG) INC R0 ADDC  ;GET READY FOR ADDITION ACCTION 0046 C000 22 PUSH ROX ;SAVE PARAMETER POINTER 0048 750050 23 MOV ROX,#50H ;SET DATA LOCATION 004B E6 24 LOOP: MOV A,@RAA A; PDS DEMONSTRATION PROGRAM ; ;THIS PROGRAM ADDS TWO NUMBERS IN PACKED BCD FORMAT, AND CONVERTS THE ;SUM TO AN ASCII STRING. THE TWO NUMBERS ARE STORED IN CONSECUTIVE ;MEMORY BYTES AS: ; ;R0 -> FIRST BYTE = LEAST AND NEXT LEAST SIGA,@R0 ;ADD THE TWO TOGETHER DA A ;ADJUST FOR DECIMAL ARITHMETIC PUSKH ACC ;SAVE RESULT ANL A,#0FH ;GET LOWER DIGIIT ORL A,#30H ;CONVERT LOWER DIGIT TO ASCII MV @R1,A ;PUT INTO INC R1 ;POINT TO NEXT RESULT BUFFER LOCATION POP ACC ;GET 0 ;GET TWO BCK DIGITS FROM AUGEND 004C 08 25 INC R0 ;POINT TO CORRESPONDING DIGITS IN ADDEND 004D 08 26 INC R0 ; ("INC" DOESN'T AFFECT CARRY FLAG) 004E 08  DAVE2 fDAVE2RACCrBUFFERlCLRMSDCY@DEMOnDONEKLOOPROXDAVE26@yryuP6TD0 TD0 Pw1w0 DAVE2NIFICANT DIGITS OF AUGEND ; SECOND BYTE = NEXT TWO MOST SIGNIFICANT DIGITS OF AUGEND ; THIRD BYTE = MOST AND NEXT MOST SIGNIFICANT DIGITS OF AUGEND ; FOURTH BYTE = \ ; FIFTH BYTE = > SAME FOR ADDEND ; SIXTH BYTE = / BACK RESULT O ADDITION SWAP A ;GET UPPER DIGIT ;DELETE THIS COMMENT ANL A,#0FH ORL A,#30H ;CONVERT TO ASCII MOV @R1,A ;PUT INTO RESULT BUFFER INC R1 ;POINT TO NEXT RESULT BUFFER LOCATION DEC R0 ;POINT TO NEXT TWO BCD DIGITS IN AUGEND DE 27 INC R0 004F 36 28 ADDC A,@R0 ;ADD THE TWO TOGETHER 0050 D4 29 DA A ;ADJUST FOR DECIMAL ARITHMETIC 0051 C0E0 30 PU ; ;THE RESULT IS RETURNED IN A STRING POINTER TO BY R1. ; ;************************************************************************* ORG 0040H ROX EQU 00H ;PSEUDONYM FOR R0 DEMO: MOV R1,#BUFFER ;GET POINTER TO RESULTS AREA MOV R1,#03 ;SET BCD DC R0 ; ("DEC" DOESEN'T AFFECT CARRY FLAG) DJNZ R2,LOOP ;LAST PAIR OF BCD DIGITS ADDED? ; NO--ADD TWO MORE ; YES--CHECK LAST DIGIT OF SUM SH ACC ;SAVE RESULT 0053 540F 31 ANL A,#0FH ;GET LOWER DIGIIT 0055 4430 32 ORL A,#30H ;CONVERT LOWER DIGIT TO ASCII 0057 F7 33 MOV @R1B    BBB,A ;PUT INTO RESULT BUFFER 0058 09 34 INC R1 ;POINT TO NEXT RESULT BUFFER LOCATION 0059 D0E0 35 POP ACC ;GET BACK RESULT O ADDITION 005B C4 36  45 ; YES--CHECK LAST DIGIT OF SUM 46 ;APPEND SECOND DEMO FILE HERE 0066 5004 47 JNC CLRMSD ;CARRY OUT OF 6 DIGIT ADDITION? 0068 7731 48 IGITS COUNTER CLR CY ;GET READY FOR ADDITION ACCTION PUSH ROX ;SAVE PARAMETER POINTER MOV ROX,#50 ;SET DATA LOCATION LOOP: MOV A,@R0 ;GET TWO BCK DIGITS FROM AUGEND INC R0 ;POINT TO CORRESPONDING DIGITS IN ADDEND INC R0 ; ("INC" DOESN'T ASERIAL A B=1200 P=N W=7 ENDJOB  SWAP A ;GET UPPER DIGIT 005C 540F 37 ANL A,#0FH 005E 4430 38 ORL A,#30H ;CONVERT TO ASCII 0060 F7 39 MOV @R1,A ;PUT INTO R MOV @R1,#31H ; YES--PUT AN ASCII "1" IN RESULT BUFFER 006A 8002 49 SJMP DONE 006C 7730 50 CLRMSD: MOV @R1,#30H ; NO--PUT AN ASCII "0" IN RESULT BUFFER MCS-51 MACRO ASSEMBLER FFECT CARRY FLAG) INC R0 ADDC A,@R0 ;ADD THE TWO TOGETHER DA A ;ADJUST FOR DECIMAL ARITHMETIC PUSH ACC ;SAVE RESULT ANL A,#0FH ;GET LOWER DIGIIT ORL A,#30H ;CONVERT LOWER DIGIT TO ASCII MOV @R1,A ;PUT INTO RESULT BUFFER INC R1 ;POINTDDR 004BH A ROX. . . . NUMB 0000H A ESULT BUFFER 0061 09 40 INC R1 ;POINT TO NEXT RESULT BUFFER LOCATION 0062 18 41 DEC R0 ;POINT TO NEXT TWO BCD DIGITS IN AUGEND 0063 18 42 DEC DAVE2 PAGE 2 LOC OBJ LINE SOURCE 006E D000 51 DONE: POP ROX ;RESTORE PARAMETER POINTER 0070 80FC 52  TO NEXT RESULT BUFFER LOCATION POP ACC ;GET BACK RESULT O ADDITION SWAP A ;GET UPPER DIGIT ANL A,#0FH ORL A,#30H ;CONVERT TO ASCII MOV @R1,A ;PUT INTO RESULT BUFFER INC R1 ;POINT TO NEXT RESULT BUFFER LOCATION DEC R0 ;POINT TO NEXT TWO R0 ; ("DEC" DOESEN'T AFFECT CARRY FLAG) 0064 DAE5 43 DJNZ R2,LOOP ;LAST PAIR OF BCD DIGITS ADDED? 44 ; NO--ADD TWO MORE  SJMP DONE 0072 53 BUFFER: DS 10H ;BUFFER TO HOLD ASCII RESULT STRING 54 END MCS-51 MACRO ASSEMBLER DAVE2  BCD DIGITS IN AUGEND DEC R0 ; ("DEC" DOESEN'T AFFECT CARRY FLAG) DJNZ R2,LOOP ;LAST PAIR OF BCD DIGITS ADDED? ; NO--ADD TWO MORE ; YES--CHECK LAST DIGIT OF SUM ;APPEND SECOND DEMO FILE HERE JNC CLRMSD ;CARRY OUT OF 6 DIGIT ADDITION?B     MOV @R1,#31H ; YES--PUT AN ASCII "1" IN RESULT BUFFER SJMP DONE CLRMSD: MOV @R1,#30H ; NO--PUT AN ASCII "0" IN RESULT BUFFER DONE: POP ROX ;RESTORE PARAMETER POINTER SJMP DONE BUFFER: DS 10H ;BUFFER TO HOLD ASCII RESULT STRING END  YES FUSE---- | DISPLAY START/STOP CONTROLS |----------------------------------------------------------------------- | TR0= 0040H ON TR1= 0050H OFF TR2= OFF TR3= OFF | TV= OFF (TV=n value switch) (TRx=address sw) |------- OFF | TV= OFF (TV=n value switch) (TRx=address sw) |----------------------------------------------------------------------- ----- *TR0=.LOOP ON |----------------------------------------------------------------------- |  HAVE ----------------- { BEEN COMPLETED { -- --------V-------- { VERIFY T BLOWN ? ---------- { --------V-------- NO { REPLACE FUSE: { ---------------------------------------------------------------- ----- *TR0=.LOOP ERR 80 SYNTAX ERROR |----------------------------------------------------------------------- | TRACE DISPLAY CONTROLS (DTRACE) |-------- TRACE DISPLAY CONTROLS (DTRACE) |----------------------------------------------------------------------- | TD = ON instruction display, enter ON or OFF | TR = ON register display, enter ON or OFF | TB0= OFF TB1= OFF HE { { CONTINUITY OF { { FUSE F1 ON THE { { INTERNAL POWER {  { { 3A FAST BLOW { {<---------{ (120VAC), { { { 2A FAST BLOW { --------V-------- { (240VAC--------------------------------------------------------------- | TD = ON instruction display, enter ON or OFF | TR = ON register display, enter ON or OFF | TB0= OFF TB1= OFF TB2= OFF TB3= OFF | TS = OFF status display, en TB2= OFF TB3= OFF | TS = OFF status display, enter ON or OFF |----------------------------------------------------------------------- | DISPLAY START/STOP CONTROLS |------------------------------------------------------------------ { SUPPLY { ----------------- { V ) { { SET UP VOM OR { ----------------- { DVM TO MEASURE { { RESISTANCE. { { CHECter ON or OFF |----------------------------------------------------------------------- | DISPLAY START/STOP CONTROLS |----------------------------------------------------------------------- | TR0= 0040H ON TR1= 0050H OFF TR2= OFF TR3= ----- | TR0= 004BH ON TR1= 0050H OFF TR2= OFF TR3= OFF | TV= OFF (TV=n value switch) (TRx=address sw) |----------------------------------------------------------------------- ----- *TR1=50 OFF |---------C    -------------------------------------------------------------- | TRACE DISPLAY CONTROLS (DTRACE) |----------------------------------------------------------------------- | TD = ON instruction display, enter ON or OFF | TR =  STEP ACC=33H PSW=00H R0=FFH R1=03H R2=00H R3=00H R4=36H R5=36H R6=00H R7=36H | 0044H=CLR .CY STEP ACC=33H PSW=00H R0=FFH R1=03H R2=00H R3=00H R4=36H R5=36H R6=00H R7=36H  STEP ACC=36H PSW=00H R0=52H R1=04H R2=00H R3=00H R4=36H R5=36H R6=00H R7=36H | 004FH=ADDC A,@R0 STEP ACC=69H PSW=00H R0=52H R1=04H R2=00H R3=00H R4=36H R5=36H R6=00H R7=36H .LOOP  A,@R0 STEP ACC=36H PSW=00H R0=50H R1=09H R2=FEH R3=00H R4=39H R5=3FH R6=00H R7=39H | 004CH=INC R1 STEP ACC=36H PSW=00H R0=50H R1=0AH R2=FEH R3=00H R4=39H R5=3FH R6=00H R7=39H  ON register display, enter ON or OFF | TB0= OFF TB1= OFF TB2= OFF TB3= OFF | TS = OFF status display, enter ON or OFF |----------------------------------------------------------------------- | DISPLAY START/STOP CONTROLS | | 0046H=PUSH .ROX STEP ACC=33H PSW=00H R0=FFH R1=03H R2=00H R3=00H R4=36H R5=36H R6=00H R7=36H | 0048H=MOV .ROX,#50H STEP ACC=33H PSW=00H R0=50H R1=03H R2=00H R3=00H R4=36H 004BH=MOV A,@R0 STEP ACC=36H PSW=00H R0=50H R1=06H R2=FFH R3=00H R4=39H R5=3FH R6=00H R7=36H | 004CH=INC R1 STEP ACC=36H PSW=00H R0=50H R1=07H R2=FFH R3=00H R | 004DH=INC R0 STEP ACC=36H PSW=00H R0=51H R1=0AH R2=FEH R3=00H R4=39H R5=3FH R6=00H R7=39H | 004EH=INC R0 STEP ACC=36H PSW=00H R0=52H R1=0AH R2=FEH R3=----------------------------------------------------------------------- | TR0= 004BH ON TR1= 0050H OFF TR2= OFF TR3= OFF | TV= OFF (TV=n value switch) (TRx=address sw) |---------------------------------------------- R5=36H R6=00H R7=36H .LOOP 004BH=MOV A,@R0 STEP ACC=36H PSW=00H R0=50H R1=03H R2=00H R3=00H R4=36H R5=36H R6=00H R7=36H | 004CH=INC R1 STEP ACC=36H PSW=4=39H R5=3FH R6=00H R7=36H | 004DH=INC R0 STEP ACC=36H PSW=00H R0=51H R1=07H R2=FFH R3=00H R4=39H R5=3FH R6=00H R7=36H | 004EH=INC R0 STEP ACC=36H00H R4=39H R5=3FH R6=00H R7=39H | 004FH=ADDC A,@R0 STEP ACC=69H PSW=00H R0=52H R1=0AH R2=FEH R3=00H R4=39H R5=3FH R6=00H R7=39H .LOOP 004BH=MOV A,@R0 STEP AC------------------------- ----- *STEP FROM .DEMO BR .DEMO 0040H=MOV R1,#.BUFFER STEP ACC=33H PSW=00H R0=FFH R1=72H R2=00H R3=00H R4=36H R5=36H R6=00H R7=36H | 0042H=MOV R1,#03H00H R0=50H R1=04H R2=00H R3=00H R4=36H R5=36H R6=00H R7=36H | 004DH=INC R0 STEP ACC=36H PSW=00H R0=51H R1=04H R2=00H R3=00H R4=36H R5=36H R6=00H R7=36H | 004EH=INC R0 PSW=00H R0=52H R1=07H R2=FFH R3=00H R4=39H R5=3FH R6=00H R7=36H | 004FH=ADDC A,@R0 STEP ACC=69H PSW=00H R0=52H R1=07H R2=FFH R3=00H R4=39H R5=3FH R6=00H R7=36H .LOOP 004BH=MOV C=36H PSW=00H R0=50H R1=0CH R2=FDH R3=00H R4=39H R5=3FH R6=00H R7=39H | 004CH=INC R1 STEP ACC=36H PSW=00H R0=50H R1=0DH R2=FDH R3=00H R4=39H R5=3FH R6=00H R7=39H | 004DHC    =INC R0 STEP ACC=36H PSW=00H R0=51H R1=0DH R2=FDH R3=00H R4=39H R5=3FH R6=00H R7=39H | 004EH=INC R0 STEP ACC=36H PSW=00H R0=52H R1=0DH R2=FDH R3=00H R4=39H R5=3FH R6=00H R7=39H 004FH=ADDC A,@R0 STEP ACC=69H PSW=00H R0=52H R1=10H R2=FCH R3=00H R4=39H R5=3FH R6=00H R7=39H .LOOP 004BH=MOV A,@R0 STEP ACC=36H PSW=00H R0=50H R1=12H R2=FBH R3=00H R4=39H R5=3FH R6=00H R7= | 004FH=ADDC A,@R0 STEP ACC=69H PSW=00H R0=52H R1=0DH R2=FDH R3=00H R4=39H R5=3FH R6=00H R7=39H .LOOP 004BH=MOV A,@R0 STEP ACC=36H PSW=00H R0=50H R1=0FH R2=FC39H | 004CH=INC R1 STEP ACC=36H PSW=00H R0=50H R1=13H R2=FBH R3=00H R4=39H R5=3FH R6=00H R7=39H | 004DH=INC R0 STEP ACC=36H PSW=00H R0=51H R1=13H H R3=00H R4=39H R5=3FH R6=00H R7=39H | 004CH=INC R1 STEP ACC=36H PSW=00H R0=50H R1=10H R2=FCH R3=00H R4=39H R5=3FH R6=00H R7=39H | 004DH=INC R0 STER2=FBH R3=00H R4=39H R5=3FH R6=00H R7=39H | 004EH=INC R0 STEP ACC=36H PSW=00H R0=52H R1=13H R2=FBH R3=00H R4=39H R5=3FH R6=00H R7=39H | 004FH=ADDC A,@R0 P ACC=36H PSW=00H R0=51H R1=10H R2=FCH R3=00H R4=39H R5=3FH R6=00H R7=39H | 004EH=INC R0 STEP ACC=36H PSW=00H R0=52H R1=10H R2=FCH R3=00H R4=39H R5=3FH R6=00H R7=39H | D     D D D DDDDDDDDDDDDDDDD TEST.OBJ DAVErBUFFERlCLRMSD @DEMOy nDONEJ KLOOPY ROXyrzuP 6TD0 TD0 Pw1w0D    IGITS COUNTER CLR CY ;GET READY FOR ADDITION ACCTION PUSH ROX ;SAVE PARAMETER POINTER MOV ROX,#50H ;SET DATA LOCATION LOOP: MOV A,@R0 ;GET TWO BCK DIGITS FROM AUGEND INC R1 ;POINT TO CORRESPONDING DIGITS IN ADDEND INC R0 ; ("INC" DOESN'T A5FFECT CARRY FLAG) INC R0 ADDC A,@R0 ;ADD THE TWO TOGETHER DA A ;ADJUST FOR DECIMAL ARITHMETIC PUSH ACC ;SAVE RESULT ANL A,#0FH ;GET LOWER DIGIIT ORL A,#30H ;CONVERT LOWER DIGIT TO ASCII MOV @R1,A ;PUT INTO RESULT BUFFER INC R1 ;POINT TO NEXT RESULT BUFFER LOCATION POP ACC ;GET BACK RESULT O ADDITION SWAP A ;GET UPPER DIGIT ANL A,#0FH ORL A,#30H ;CONVERT TO ASCII MOV @R1,A ;PUT INTO RESULT BUFFER INC R1 ;POINT TO NEXT RESULT BUFFER LOCATION DEC R0 ;POINT TO NEXT TWO BCD DIGITS IN AUGEND DEC R0 ; ("DEC" DOESEN'T AFFECT CARRY FLAG) DJNZ R2,LOOP ;LAST PAIR OF BCD DIGITS ADDED? ; NO--ADD TWO MORE ; YES--CHECK LAST DIGIT OF SUM ;APPEND SECOND DEMO FILE HERE JNC CLRMSD ;CARRY OUT OF 6 DIGIT ADDITION?E     MOV @R1,#31H ; YES--PUT AN ASCII "1" IN RESULT BUFFER SJMP DONE CLRMSD: MOV @R1,#30H ; NO--PUT AN ASCII "0" IN RESULT BUFFER DONE: POP ROX ;RESTORE PARAMETER POINTER SJMP DONE BUFFER: DS 10H ;BUFFER TO HOLD ASCII RESULT STRING END K CONTINUITY{ { OF LINE, GROUND,{ { AND NEUTRAL { { PATHS TO THE {  RESISTANCE ---------- PATHS ? { --------V-------- NO { REPL { UP TO 250 VAC, { { CONNECT COMMON { B { LEAD TO CHASSIS { """""""" ,  F D   H A F  *   6  K ,,0040H   00H  s @@((2 s@@ (( 03% !) -#  { INTERNAL SWITCH-{ { ING POWER SUPPLY{ { REFER TO PDS { { WIRING DIAGRAM { ACE THE { { { WIRE, COMPONENT,{ { { OR CONNECTOR { { { CAUSING THE { { GROUND { { ----------------- --------V-------- { { DISCONNECT PDS, { C ---------->{<-------------------{ REPLACE INPUT  @@ (( 50H!  z @@ r1 s2 r. r z@@  r# /z& - z@@(( 0FH z@@(( 30H+ !s @@ z$ "s/ #- { FIGURE 6-??. { ----------------- {  { { FAULTY READING { { ----------------- { { {<------------------  { { { POWER CABLE { --------V-------- { ASSY #163280 { { CONNECT LINE { ----------------- & $/z %z@@(( 0FH  &z@@(( 30H 's @@ z$ (s/ )r1 *r/ +t @@ / , -$ . /'- 0s @@ (( 31H8 1'  2 V ANY OPEN/HIGH YES  { --------V-------- { PREPARE VOM OR { { DVM TO MEASURE { { CORD TO POWER { { OUTLET, TURN { { PDS POWER SWITCH{ { ON, AND MEASURE { E     { VOLTAGE ON BOTH { { ENDS OF FUSE F1 { { ON THE INTERNAL { { POWER SUPPLY {  { INTERNAL SWITCH-{- - -{ IN THE INTERNAL { { ING POWER SUPPLY{ { SWITCHING POWER { { BOARD { { SUPPLY HAS CAUSED { ----------------- { FUSE F1  V YES VOLTAGES  { { AND FDD { { ----------------- { { { --------V ----------------- { V TO BLOW --------V-------- -- { SET THE VOM OR { { DVM UP TO { { MEASURE UP TO { --  --------- IN TOLERANCE ? { { { NO -------- -- { { TURN ON PDS AND { { MEASUREMENT POINTS: { { MEASURE VOLTAGES{- - -{ 5VDC AT P10-1,8 { { AT POWER { { P2-4 { { CONNECTORS { { 12VDC2 AT P2-1 {  NEITHER LINE ONE END ------ POWER APPEARS ----------  { 20VDC, AND { { MEASUREMENT POINTS: { MEASURE THE VDC { { 5VDC AT TB2-1 { OUTPUTS OF THE {- - -{ 12VDC1 AT TB2-8 { INTERNAL { { { --------V-------- { { TURN OFF PDS {  ----------------- { 12VDC1 AT P10-4 { { { -12VDC AT P10-6 { { -- { { { { --  { END AT ? ONLY { { --------V-------- -- V BOTH { REPLACE THE { { A MAJOR FAULT A { ENDS  SWITCH-{ { 12VDC2 AT TB2-10 { ING POWER SUPPLY{ { -12VDC AT TB2-12 ----------------- -- {  { { AND DISCONNECT { { { POWER SUPPLY { { { CABLES AT THE { { { BASE PROCESSOR {  { --------V-------- { MEASUREMENT POINTS: { { MEASURE THE VDC { { 5VDC AT TB2-1 { { OUTPUTS OF THE {- - -{ 12VDC1 AT TB2-8 F     { { INTERNAL SWITCH-{ { 12VDC2 AT TB2-10 { { ING POWER SUPPLY{ { -12VDC AT TB2-12 { ----------------- -- {  { TURN PDS OFF, { { { RECONNECT CABLES{ { { TO FDD AND BASE { { { PROCESSOR, AND {  { { V { { BOTH  { { TURN PDS ON { { ----------------- { { ----------------->{  { SETS OF NO { MEASUREMENTS ---------- { SAME ? { {  { --------V-------- { PERFORM THE { { INTERNAL SW --------V-------- { YES { REPLACE POWER { { { { SUPPLY CABLE { { --------V-------- ----------------- { ITCH-{ { ING POWER SUPPLY{ { ALIGNMENT (REFER{ { TO CHAPTER 2) { ----------------- F    G    G    H    H    I    I    J    J    K    K    L    L    M    M    N    N    O    O