IMD 1.16: 31/05/2007 20:00:08 FOGCPM.111 --FOGCPM111Z80ASM24COMD Z80ASM24DQC[ Z80ASM DOCTEST1A ASMTEST2 ASMZ80MAIN AQM !"#$%&'()*+,-./Z80MAIN AQM0-11-18 87 Z80OPCDSASM1234Z80SUBS AQM756789:;Z80 DQC0<=>?@AZ80 LQBBCDEZZSOURCECOM;FGHIJKLMZZSOURCEDQCNOPQRSTUVWXYZ[\]ZZSOURCEDQC^-CPM111 DOCCPMLIB DOC_`abcdefghijklmnCPMLIB DOCoCPMLIB REL)pqrstuCPM DOCvwCPMFN DOCxCPMFN RELyCPMFN MQCBz{|}~CPMFNA DOCCPMFNA RELCPMFNA MACCPMINT DOCCPMINT REL'CPMINT FQRCPMINT FQRTEST DOCTEST FOR This is the disk name. DBL COMH H<DISKTEMPDBFF/K KDISKTEMPNDXF/EDTDOCS PRGjERR-PROGPRG4DBASE OVL0 (DOCSTEMPDBF-JDOCSTEMPNDXΉ-CATFILESPRG-4, !H !q, ! ͛ͺ@ Free memory space remaining after table storage assignments is!k,!!yͺ bytes ͛ͺ out of the original!q,!!yͺ bytes (or! ,!!yͺ percent used.) ͛ͺ THIS IS Pass2 (*y&EB[)JP*7&EO[ͿT*y&Eh[!oͺ! " {(͛ͺ END of Pass2 ;!*:!:e.=! e.=MEQU=! e.=M$-=!:=P!*-!.!,%FW*n&!EʈX*n&Ö$*1LT\dltzÇîÙô,Ï10 !~=W!xe~#Xbxʇ {z~#o}o҃ JbýÂ<"!Y , <    *$A!6 # T!w $r# *`: 0 *A*! ~ ʰxkb))))_y‘BK{ͅ*!66!"80*{#z+++ ## A*!u* yA*!* y)*)*=!w# ] *w!e* yUͅ* w#"  UD*!Z±È !͈ͶÉ!͈͉ͅxÉ!G@É! yG!'' É!+C͉ͶÉ!CiyVG?͉!G„Ͷ*É!S¤ ˜ÚHÉ:J´zþCz͉y͉xÉR*UÉ** {z*~#" <AOGƐ'@'OxƐ'@'ON#( z86O!W N#N 6SP6* |} !9"ͽ:ʧ!"<§<2*  U!~ʽ5UkW!Z#  # # @zʴ=ʮ=ʚznzcXM>zO!N &6½!K&ç!G&6çC=J=R=ç!/z=ʌO &Wç&W,!+&6,!'÷!#&6çz8O! &!&6,zçyO! &Wzçy~_ ~ # _ ! 6 ! 6      ~# x{•#Š!y© á|}*~ͮ!"*t<\*"!"~*~~#"~OV: t]\_<2!~:Pt<dO`$_<2!w Output file write error (Disk may be full) $:³t]dʲ`$_<2!wGx 0w#^#Vx~PCZM  ( "!"2!" """!1!++"">28!"9:] \! 1` >-  ( \A  _!^#V  / Y    2 ů2[\ ! = Ͱ " \ Ͱ " =Ͱ "= > 2\ :Ͱ *"=:Ͱ = E*}o"` j \*"x  ~P #͏ n}Z"* ̀ *}x|ã Ç ~ T l õ >2 2 2 !" 08: $ A8[ +& -+ *0 'v î 8 * "j Ö ͇ !Z l  ~2j #~2k Ö!"j : 2 8 >2 >2 >2 ô : S f * *j " ô * *j {ozg" ô * *j *" ô 2j 2k 8 > 2Z ![ Z !!Z Aں [Һ w#*W ~#"W á .ʫ $ʫ 0 :ګ *W "~ ! "  + - *  ; ) ,  *W ~#"W  +"W +~H, !" 8 B8 !" *W *~ "W "~  *W ~#"W A^ * *_O *~ "W "j !<\!!!EN !!]\!!!fQ !:e2{ :f2| <  :| N ]] ]  !"~2 !  Source (.ASM) file not found $ Unable to create/open object (.HEX) file $ASMHEX~O* !" 6+++* ʲ 2 G$ʓ O q O ~ ‡ ===O ɯ _ a_!~> ? 5*~#" K 0 7 A A >  >   |P }P Ҋ  >. *}o1YY Zilog/Mostek Z80 assembler v24 (c) 1977 LCS $...........( !6#  , >2 ͷ  ( ͷ  ( ͷ  ! XN!~- H @ !_^!! " *" ͑ >82l 2Y !" 2 2v 2q !̈́> 2} ͚ :  r ;r͋ ͝ :ʿ͠ !Z ~ #x >L2} r2: w#: w#6:Y !Z ͗ >M2} r!͔ "͋ :Z r!Z ͗ 1>O2} r~2w #~2x #~=_!J^#Vf&'<`j#>2 :w 2 :x r>2 :x 2 r͝ (͠ ͋ !Z ͗ ʥ>U2} r:Z A>2 :w G~2 >2 r͝ ͝ LY>2 >2 :w 2 ͝ ͈ : 2 >2 r>2 >2 :w 2 >2 r:w 2 >2 r͝ (ʏ*W ~,X#~,X:w 2 >2 ͠ ͈ * " r:w 2 >2 *" ͠ ͈ : 8! " G: 2 >2 L͝ ͝ LʱYʾ>2 >2 >2 r>2 >2 r>2 ä͝ *W ~,#~,:w 2 >2 ͠ ͌: ==2 r*" ͠ ͈ : 8! " 2 >2 ͌: ==2 r͈ : 82 >2 r͝ (ʇ*W #~,͠ ͈ : r:w 2 : 2 >2 r:w ƀG: 2 >2 r͝ ͝ LYʸ>2 :w Ɔ2 >2 ͝ ͈ : 2 r>2 Ü:w Ɔ2 >2 r͠ ͈ : &.:x >2 >2 ͈ : 8G:x 2 r͈ : 8G:x 2 >2 r>2 3>2 ͈ : HH>2 : 8G:x 2 >2 r:w ʬ͝ AŒ͝ ͝ ͈ >2 : 2 >2 r͠ ͈ >2 : 8@2 >2 r͝ ͝ C*W ~)͠ ͈ >2 : 2 >2 r͝ ͝ ͈ >2 : 8A2 >2 rA,IA,RI,AR,ASP,HLSP,IXSP,IY͝ ͠ *W $.$<$B$H$N $[$a͝ (g͠ ͈ : e͝ (* "y ͠ ͈ : º:y 82 : 2 >2 r:y 8G: @2 >2 r͝ ͝ L"X7Y]͠ ͠ ͈ : >:2 * " >2 r: 8 2 >2 r: 8F2 >2 r>2 : 8F2 ͝ ͈ : 2 >2 r>2 <͝ (* "y ͠ ͈ :y ʠʸ:y 8<2 * " >2 r>2 >!2 >2 * " r>2 å* "y ͈ :y &>2 :y 8K2 * " >2 r>*2 * " >2 r>2 >*2 * " >2 r>2 !W" >2 r!_1!G1!O1>2 >2 r!1!1sHL)IX+IY+*W j$Cm$}p$ʅ͈ * "y : .͝ ͈ : >22 *y " >2 r: &>2 : 8C2 *y " >2 r>"2 *y " >2 r>2 >"2 *y " >2 r>2 : 82 >2 r͝ ͝ ͝ ͝ ͈ : m>62 : 2 >2 r: p2 >2 r>2 Ê>2 ͝ ͝ ͝ ͈ * "y ͝ ͈ : >62 :y 2 : 2 >2 r: p2 :y 2 >2 r͈ : : 8G:w 2 >2 r>2 :w 2 >2 r>2 ͝ (EA8>2 >2 r>2 >2 r*W "W ͝ LnY{>2 >2 >2 r>2 >2 r>2 a͝ ʼ ʼ;ʼ*" ͠ ͈ ! " : 82 >2 r:w 2 >2 r͈ * "y ͝ (͠ ͈ >2 :y 8G:w G: 2 >2 r͝ ͝ LKYC>2 ͝ ͈ >2 : 2 :y 8G:w 2 >2 r>2 >2 :y 8G:w 2 >2 r͝ (͠ ͈ : : ʥʺ: 8G:x 2 >2 r>2 :x 2 >2 r>2 ê: 8G:w 2 >2 r͝ ͝ LY >2 ͝ ͈ :w 02 : 2 >2 r>2 :w 02 >2 r:w =_!4^#VD_k͈ * *s#r* "r >2q r͈ * "m r͝ 'ʇ͠ ͈ >2 : 2 r *W : <2 ~#~ r'r͈ * " >2 r͈ * "t "r >2q 2v r͈ * " "r >2q r>62l r! "~ ͝ ',6: <2 ͝ r*W ~#"W r'*~ w#"~ : <2 g͝ ,a axOgx*~ w#"~ ͠ VAn G:Y %: ʅ>U2} 2 :} ™:{ N:} 2 > 2 !  !:q * ! z9{9# : G9 ! *r ! z9{9! : %G * "~ *~ X*~ #"~ * : O *m " :v }:Y /2Y }!H6< !\6!"~2v !" >2>82l "}:| Nʮ: ʏʹ!K ~6#”>6Ÿ]* ! z9{9* !)z9{9. Last address used in this assembly is: xxxx$ Next sysmol address is: xxxx$ Z80 assembly complete $:00000001FF G:| Nx*'~*#'ʇʹ"2 ": ڤʹ*"2 <2 =_! w*': OG! 6:#x9:O:9:O:99 O9y/<96 #6 ! ~6~ #:l 7P=!!!:9:0@> 2:'2<2l !  Z80ASM v24 (C) 1977 LCS Source file name: xxxxxxxx Page: xx "O!0" * ~6!N^*O^#fk"V0͉=* G#*V0####*V0^#V!0^*K0"V0*M0{z"K0!N"O1#w#w*V0!NN*O N#Fr+sq#p0U>G=#w#wY*M0!0n& {ozg"V0!K0{#zڢ"v""m 2>2È :8 [ *j R"j 8 :* |( }}>$2} !" (![!\EXXLDILDIRLDDLDDRCPICPIRCPDCPDRDAA'CPL/NEG@CCF?SCF7NOPHALTvDIEIIM0FIM1VIM2^RLCARLARRCARRARETIMRETNEINIINIRINDINDROUTIOTIROUTDOTDRLDRLCRLRRCRRSLA SRA(SRL8RLDoRRDgPUSH POP EX ADD ADCJSBCBSUBAND OR0XOR(CP8INC DEC BIT@ SET RES JPCALLJRDJNZRET RSTINOUTEQUDEFSDEFBDEFWENDORG EJECTIBM%A%B%C%D%E%H%LHLBCDESPIXIYAFZNZCNCPOPEPMNamePagePCHLPUSHREPTSHLDSPHLSTAXXCHGXTHLENDIFEXITMEXTRNLOCALMACROSTKLNTITLEINPageMACLIBPublicHN/*L"Ly2LʹI͗GͻIͫIʛJ*LXI:LO~JJyʔJx ʍJ ʂJJJÍJNIJJ# hJ2 GG>GF:JH~XI*L IGIOw!JxJ>Fwx2L2L~:L:L6:LJw2LH~O I!K>w:JͨJH2LF4IO.K5FJͿJKH:L!LSKFJ: GFͮHFH:LL͛IGͳGI:L< G=!LwW*LMI_SG G-*LMD:I"L:L2Lɯ2LK>G=O*L~~w#~2L~wcIH~K~p2L!"L>2L*L~=2LK~2L͛KoK>*Lw!"L2L=2L!"LÛI͛KoK͢K͢J'LͫIH~<vZ80ASM24.DOCg  !"#$%&'()*+o,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefNGs}fzw~b5 >bs/Il֬W8_)}Y[0rv=Y_ 2EL ;wib2|&~`oɁ0N^uXK)>p$iob2> %缙c[{5Б AWB):psk Az 4%ȥ󷷏c[{5t.: 3 KMpdZKai KVdq,Ғbopy8{VJc8೰W&`+p!TG\א"AK1ō783b2Z4eo&X p!|9yyuc)x}9\n75d} oثq;wcF3c%3e)BGb2rWU񭀎%Tag߂y~̄;nI1ōjeo+q)|0 ^F'j 5Bޱ7ScSLp?==Iq7#{L+L1I)n,F8P : !c_Ξ:6-)I)nٻVjifPAp!ٰ\@:ٻd7)2$9S|׏>ݞ?Iq)bH;Š腃L e`EV8u}LU&Jq:Y:o8A֕ *2M:gX,Sk+4\NV:f]G SSko788p!s,&e4Sax1)b)Wb)bNGs}fzw~b x&b2J5'0b(0 XPA 6~2Az 0ґ[RLۧG%A By3 !kbOnz hjɰW"+ɾ Z XB%.KY2д& o#Y1t9ZrW ^CLǰ1Ar7qlkc/5>ݛ/gԾ qˑS7x b2nggƱ' .¨Λ)E|y{<{Xi +/Sko$yT̈́x.Ɋ:5cx^KYq2Bo:{'f.4ce<}173HVLvK' X ZMiN@c幀 s!bj؛ \v=Y~fr0c2LƱV4 aJ RGUVRbѪ!U 1o50XS4a~Λ jŒc[{5nYߒB+qhd'):˔L} QK)x怗a{7>p$ggOo2Qx3xTGV{Ì&QF?C)z.~FVM3-}! +qp V­p!VG)JΖ7Bx 8W"O)cBn Ҩ# k:TG An Ą #"Sax.Λ 0Zte[@7t$+&H%gq?;7mm84KɊ" RBiLa%Tq?.P@\C?87, d4Bj,tB֒ax^ހ #◷πy~b2$go&3%TBђs^b2J#/og'_vgL.ْs\Az vBpskH1c\:rAG\4;%4zo(J8W _>/gO͗%}b2> %缙c[{5+"&\(E' .'jeo P 9[rΛ 8WR:o0Ê!{7iԑaK Б)je'p!]w*$gKAp!x^+b&{5 pMA$gKy3Ƕ6j,} PN怞xEdЪd% & !coHΖCO)Aex.ɊX V>p! 9S+]?zͣOk"S֫+TqҚvc𮀋w;H+$g4?.S~`7#pDv8dpt@jR4 2bPQGaLV[;4K0s R\YLɊɠђs^ %TarVD+#phj7)Zj:A֩Ay#@L2pdìb:Y Cd7ɦ/dZ&=[L~|LL3eRdr .#AmG20Yp!б*@p!HVL]jRQep!|^2VG) u*;b2A3w͔bV @֪uBF\:%SL1۫M1SL19c|^Kr`t^c{uRL1El \+q]cE\cXq,g)L\! Gԁ+/Vd j &ǔ\([9X.ԡA-aLBa^X@)`+ 'ǔ1&c( jݤ0 @\Az d&.L)C 558 .KvK9PVp!؛i+:&CuLXrd)Ro S|#|pC@Vd+WR\y.Z+ƛ V.Vb>CW aFq$C oc*d SNq6C-,e =xLL)`!9S+RdAL,FhZ w0ʨc 558JUIɡLL)#f ɊKc U\4Bj,C0eɐ$gKΑ`B Z)%0`jדg&o#fB k"xC p"SaH>x3 1$NąEWtLv.ށ瑠Z)zɂ!o+K1ef Ygd%g^q=5zjRpsk daKF07 IqeL-9 Бs3deb"<t3Fpɫ;! j!FE Hc֊YJ?"O ANfBZ(Xy.BAz rހ AV 85;p!XȒiْsx$L)K: !ca;p!5؁BbB6)d4;|1UCZ,-BX ZMaxVtRt !c):JF1, d4Y;sAz LBxu=ԑ17o Qׇޡ*!ORLq9WOOߤ"Oxɫ0Kp}*dpZPK)ba fu*Bxp?@L8dZfݤ#@_N^^|YWk(C+=A G7''֛ N؛ lRtlkcZtLVP$%B'RNb2N^uhdYI0}fi~NS+^xp?7,!]m0s'&Ea pRcBP'o$i&< L֛ \CSL1SL1S\o~b)w߱l>%9bsw^:LJ_)"Ђ. =X p L2fV+{CSlEDj . 9[rܲ/KZ3o[BI1{j 4+:yAB0BL;cBěM0d.d+ Ytԩwp,7V7)r!qQ&ALL\VZr` 0ZtK)x8?$}zS+\jJ\ГiJ &\:pɫczf2;]1N \.BP'o$`:Y:)ET?}l @+ dNXYA柳,{b& q>]#E0e}] 9@j#Yۤ0Ztb2vXd fF_'H!_]-ɫv+ : !bg'g>Iq}z_Jj0EGx rhVa/ q>)sCOZ eat9&慽 j+ۤYo0!+bXaށ atWlp@b eHA \Gu.wo;d!!wX}Jk N;RC)2̈́E\SKaC a@RޡfDIQ$هr,>Hހ a} Y;N1El1A SKHZ+$g 1}Glp( cZ\dWS'X}AQG;Xh[i/9ŕw8o 2ZL o<{  q> apLvj\0Krv3Cu7.%}j.@p!4ʹW=5{\\Ȧ8p"KCZ<~8] Cd1PG)/=UX}pN;By-2:HX tEMAXd6)2LnNZQ f$ZZa jA-^]A Yur;\KBV :W!aUq&YSɫ_XQH,̨: B@G^+8kˑ'+p!Lb2z pD&>I15{:9՚q.,Vp}~=_R\cǑUG;SL1SL1S\oRL1SLbs~l6Xtt;]^ïSLq}t8£[w~t9)x~rts}-œ7W9s(ΡY&.7wR਩9d%.q>9@ ތSdNmzf2O}8G]f1S &C+oR+a vL9şdO1b Qׇ;f+F 7)Zs! *t2'dxq>EVr0)6K13ae/L| 2h9| }!5, Sca@LF'3z]b2e)H+\nvLO {5 di&2VRtskw3Hnz K)Chu#xj ^?:BXqzz7o`,Iae=Wj_x3@@F^X@;%xd a:YwYae=3xӇSsaF3U^0C*oRtle+Vֳ7Z 5O!&c!HZxp q>]RL1œz'_tt$?x_N=I15ttdw9{b Qˑ;7ce8F:9@F:.P:W#%q^ »ޱ7Xb2޽yO| h22mRH:WZ] m%8&.٫L S~&c}A Go&}o hu^ {5;\ȢҘld0TثY< .d2ΫA\p{3A+!&cys=V+cW @F@y~+dco& 4jwwPfsaF@֪uXwLy^]J7zb>9@F:btC@N@Bޱ7j{5+^cG$L| #}X~AXyIۧ?HG[lV>d.w >X}kl؛ a0%\;S\c$y|7>^`yD+bAF(S9;~Ix6BL| Nf fF 3qF#Kyb+:&wV&w .ªV2V3IB_B7S;'^@L3hI1SL1S\ob)w߱l>%9bsw^:LJ_)ѣO7<:?p$x6BLސC'32e<Ҙ7-̈́k/bW'0agƻ pa7Z\tyI1vٳ5nG_o'nk,92gg"& yVJcb lŸ LHMRz39iAe37S |ʄN b<:?a{G')n5GcL̸}tbޠix46 & y Ɋ+pm @g>J1/gGORl13)8\|:c o4#HOAz3A!EЊMҘ:FO7Xy. c"V]$g"VuKoR<#YV|fBӠ_3)8%0agST.dъXiLvꪄ0CFihugSpdFO#X9ZIQu貅4qwЊXiLA,[)ŦAXH ?BY/gGOw8ۿ<-).9c >#HOA,=I1El_ΰ}zy8{3Wgn.g5plpb>m}{r 1Zrd\cX`+#QJ%El tl jaɑ= o t9ZrΫZ8L&El6 3xM#Z-FhV\3NwB8El)Z\nz `aC dp,ۥS.diPK;?{XȒi. ok$ElV'+ݒb)>;:|:yImL񙣚uX7mm8 Ad!&C\mYa1!+L)j'juX]Get$}+@kl, d4Bj,Xp,tHq.GKy5%}zO:"vB8P :@V܈Vm5Wj 50E’b>=ܞ5WG~2~@&C8ff M3^c{%OF-8\j@c U\5WBNV:8L-9A-7S\| )c秧oNS~kVe"x{3-)#۫krdɁL:N|,Kq@L#4"O_^ 9!3t@GoU%T-)x7+ot@G yz}XBhE4& >fJqL (Ἑ[U&tb_&+V%8p!dZ [o%}z~xh9 ސ:`EOoUXS\B8P : oQv8]^c{LlPTL;xZv>{ tfYklps}zYVsmpޠq*cJqt@GyI1SLqk)b)>~8]lq_+?.6w۫}|b)b@kli Atԩ!\.Aߪ?M5W Cp!kރudp!h9&+ª%x.S,tȰ R\BvORLq^^}fj[eL)^ Y±J:A, %,jR\hE4&\2zqoojS\z=dP ;%8 SF?CдdIqꈭ7XQF?y3·Lbr5W$Ҙ,tfwhjϖ2Ĥ^c{E:2ț)UerdFO𦅚)S\4ẍ́v/{~[ȰKqJ,(CBeps pzfY)^\~z>9(+n 3l0etL$5N^^NWët{U)U!K x1ђs^ ! eHǴ7n={5v8~ݟAL׳G/gլd=zr?KQGj2|70ex.ᘬj?.SLg'')n):2 9%d q3ñf !ʛ Goݿ777udء2MC d%ɨ~8G].)ppk\_GORlG{ V-:rN&rKPChE4&Vŷ1H oRuv: !xChjXfYހ A+co%g^IOdZl6S<VJcA͔b lΤ@ Y,9ǔRcՅo(QNq#Ô :w)~՗Gd/lMM AG4qp#@+q)FV , d4KhI1'l>L7o#Y1SLq۫s :2 +f"j_ -9_4ۧ{1FpNb{&SL1SLqb)bs?w >X}klPMLIB REL EST DOC EST FOR CRCK CM PRESTO COM;;FIX COM$IMP COM IMPATCH COMNULU CMx !SETDEFLTCOM"#$%&'()*+TYPELZ COM,-UNARC COM ./UNCR COM01WL3 COM23456789: Z 8 0 A S M Zilog/Mostek Z80-CPU Assembly Language Processor (C) Copyright 1977 LCS All Rights Reserved Latest Revision: 21-July-1977 Z 8 0 A S M Z80ASM is an assembler for the Zilog/Mostek Z80-CPU microprocessor. It is designed to run under the CP/M operating system from Digital Research. CP/M will run on either an 8080a system or a Z80 system. Z80ASM will run in the CP/M minimum (16k) system but will utilize more memory for symbol table storage in larger (up to 64k) CP/M systems. Z80ASM reads a source (asm) file produced by the CP/M "ED" text editor program and produces an optional listing (on the lst: device) and an optional object code (hex) file in intel format hex. The "hex" file can be loaded for execution using "DDT" or "LOAD" commands of CP/M or it can be punched on paper tape using the "pip" program. Input statements are free format i.e., not column oriented. Between fields any number of blank or tab characters may be present but within a field there may be no blank or tab characters. However, statements labels must be in the first position of the line. Statement labels may have a colon following them but the colon is not required. Comments are preceded by a semicolon and may appear by themselves or following all of the fields on a source line. All the Zilog/Mostek mnemonics are supported with the following exceptions: 1. The Z80CPU technical manual has conflicting information regarding the syntax of the rlc, rl, rrc, and rr instructions when the a register is used as the operand. On page 50 the forms "rlca", "rla", "rrca", "rra" are used while on page 68 the form "rr a" is shown. Z80ASM will support only the "rra", etc. form. 2. The Z80CPU manual does not describe the pseudo operators available except that "EQU" and "DEFS" are used on page 67 in the sample program. The list below describes the pseudo operators available in Z80ASM and their argument formats: