XIZI DZC% -READ ME ' ޗXIZ COM0-dXZI COM]5:vXIZI.DOC *t  !0@A')ʥ"@C'$%BLL $%<(&Y!q4Y G#lFDIH $a\mV!fH$@N'G@ 6LG# 7Mn2cyl H"ӡ "|I$@tf s`Me0ӑm`1b .ho7g@f㩴e9g+*u˯/#Io3f둠g4 Fh պ2+ 4Vuu9F3yeYFYFF]Y`IL znZazM_*lG a!lB|GZXi_7\5Z6+ň*'▶-nDd4Y!~^JH6f16FX_eU6#!p|ѽxWfcW.~!` 1l\5MMg[wng{):D qk{^ɶ86zwFu٠iSg 6`"v=S1:F6ކ墯 n{5dbhmVI^uA{[4laSyM*|M- \M1 .ѤcF{q!T0iL$ /^"zըMfzG'G*Ѿc$$ Dxfkf&-^Iz\Ѥx;PwuJloƾbs g@$IsliqwG`/qWڙ1eٛJi(d{z]j{#j^u鿨łM:Z\SGiGUj( 1Xg_FFkM1o~k]+=0!ocZeNo!ton uD ̧z4>O|ȝ ^*u U=L#iHRWIU a$'tHI=,-5Ã{2,9;޺آ$6h"7G(H D ٣(0  " C>~ (em',i瘫CdgBภ֫cq b9Besw.Ai tT'ЂB' ,Sh饁3 G@%Z|j?Zd$T"{"!,j6bzR*mUX"hfc+Z*m[!JyO)A"<X)Uj  rO"=ayoF2l͚F YI&!sði k[B |a@I7eGْ8E:][:\v@Z('YBlvã4 ݨX>`ܪ-*/hb QD(xZ w 1\e'ajL7j-¨ȨFsKֳA\qR4/6u%bўۑ[^&jq=@{ZHt#0@사P?Ne^H9Xx h42Aqz&K\@2 / Y-|-0첖TY.3=$"b 1:($mU6ETXsz)mjCr1z^jԊvW;_{a/X o jBb7.^ `$8r0iN41=S&ܽni Ĵ&:dȏ^iњEeS/ 0Ly"79}<`/#86 3 ~ܭ^ߴ['sB{ 7Jk/\&:YӁX;>%3d$L1qdCi62:%nN ;@`c Q@hWa}BuNO=4/kU~e@ZT6m'wkwDFABH%&ծ'$SЀ+ЙXfw3cߍBi<ǵ^XNYV:H#$sL81TIY.,pvC( d"dmp'q\{421!'UyJ1cT:y>!x'5%+B]&AtkfQbQD0`E@Ir=4;)8&q#7`ys=90kDz2JaDASjE`+"bCCr6M[}*XD; D2(0wE8\srl[͇#Oc)76{qy#Qw(_7D-(;^;"-Kpr=Eoq8A]!~(`l=Gv!6x0u!xr;M6v0"*=bgj;+(әֆN0b#G$7öM9)}2%o i%sMul(4<zDppr( 16#oYCsBbxGur4rEA" tl# Mh-z%/du\j"2[Zf4;cA0؂9f.vhO30iO9 @5$D4E.frLj^FZwDUv'"#X.12D.#r!tb1v3r%6t kF*.;ˆpo5ok5vRœsquV`1)QFAbaHv FKyG䏠NdpROBwPp2gw7u>V%, mDձqp0,hn2n&%p7ap}9A'dMbtb(A] ^l}s -`4_:S_:uAoW Kyhn7~:bCqX+8q8H{gNc4vla6>!%P=4ZIh>0 w|:S'/pfCi11Ic/q&FxԤQpa2h>wDsGZI ::M>^!7I,Îr#rH): bP2$h EaN:N9!rnPqb~BRwXSv:o#Rk(&fA,effx"[ !d"I<~I!z/-IOu!R*3i2h2\xz#o jlku_t(Ut#ZJM(j"GCDiPS Rz?!3r¨1G\q֮ P&zчEAFN !2(hn1Ȯsqe/sG7<.u$Xwd,7 ?Cze-c#$ӏrh#*[C}y>!jƠrCL;6k'm# 2>u[2\Ԣ0J\nAj(m!`re:_Ĥq5]E>…WZ;6sa+Ak ٴэmPX"C\ \6 cw{A0-ھt$_ 1 v1YS+(G%CUq@1\2eڡ`o?Version 3 of the XZI.COM file involved fixing an obscure glitch: Z80 code converted to 8080 code ----------------------------------------- LD SP,(LABEL) LXI SP,(LABEL) this was incorrect, it should have just put out an error as there is no 8080 equivalent, the following was already correct: LD SP,LABEL LXI SP,LABEL The program now puts out: LD SP,(LABEL) # LD SP,(LABEL) and puts the error in the list of untranslated opcodes. - Irv Hoff W6FFC - 06 June 86 (415) 948-2166 - voice (P.S. This same error was in several translators other than just XZI. For instance, the ZTOI translator puts out: LD SP,(LABEL) LSPD LABEL which is quite unacceptable. XLT8-80 and ZLTZ80 both put out put out the same error that XZI formerly put out, shown above. æXIZ v2 07 May 86 - an 8080 to Z80 translator. Work done by Irv Hoff, heavily based on a previous program by Frank Zerilli in 1984 which was based on XLATE2. !9"A1AF:] ?:^ Q Qh<2n )f:!b>_2 2@!OWP*Wzu{uWE=_>wzF{FW"Ww'‹: /2 ~ w: ¦~;ʣ¦2@: :@~a{_w~   0xP~*6;2@#0+0#6 #6*f#"f*W!:@>!: >!>͐vBTiK*ftT=Z!OW!)! !R! s ! ! 7 ! !  !! !8 ! 7 ! ! !b !  !! ʻ ! ! !_  !  :! !  ! *C*J~ Z Z ;uB'; ;#͓ #~;}~ T6 k͓ B;~u ;͓ ):<ҟ= ʟڗ> Ù> :  ʱ ʱ> ~;#~ > ~a{_~#F~ % % ;~:5 h h;h h# ͓ j :à#~:C Y+VVYz>:#~ ʥÍzzˆyڠ> å>:yڠʥ> > > ͓ ~ ;º}1A"CEt ͓ "J<#͓ ~E#~Q#~U#͓ ~M#~A#~C#~R#~O#͓ ~S#~E#~TCC CNC CZ CNZ CP CM CPE CPO REQ RNE RLT RGE CEQ CNE CLT CGE JEQ JNE JLT JGE ELSE ELSE P ENDIFENDIFP ENDM ENDM P IF IF X IFC IF 8 ICL *INCL@ LST LIST H MACROMACROX ACI ADC ADI ADD SBI SBC JC JNC JZ JNZ JP JM JPE JPO ADC ADC ADD ADD DAD ADD IN IN LDA LD LDAX LD  LHLD LD 6 MOV LD J OUT OUT RST RST SBB SBC SHLD LD SPHL LD STA LD STAX LD XCHG EX XTHL EX PCHL JP  ANI AND CALL CALL CPI CP JMP JP ORG ORG ORI OR SUI SUB XRI XOR ANA AND CMP CP DCR DEC INR INC MVI LD ORA OR SUB SUB XRA XOR RC RNC RZ RNZ RP RM RPE RPO RET RET CMA CPL CMC CCF HLT HALT RAL RLA RAR RRA RLC RLCA RRC RRCA STC SCF DAA DAA NOP NOP DI DI EI EI DCX DEC INX INC LXI LD POP POP PUSH PUSH DB DEFB DS DEFS DW DEFW EQU EQU SET DEFL DB DB DS DS DW DW EQU EQU SET DEFL ENT ENTRYNAM NAME RAM DATA ROG REL ~5 E ! < N#FJ >  A~ ~#O ~#` ͥ #j H ͥ ~# xʥ À ~ ʡ ʡ :#Ó ~ ,; :+-/*)a _ # > bk ~# x B J B *J~M m#!B *J2 ` ~_BJ DO HT PY ####~_Sq #~_Wp #++:F!,Eʱ !.Nʱ !0Lʱ !2Gʱ !4eʱ !6nʱ !8lʱ !:~2F#~2G! ! ! >,B :F:G B ! B !! B ! B !< B *J~_B* D0 ! ! B ! >)B *J~M[ ml !#~# c B !û B ! B ! B >( !û B ! B >( !B *J~_B D ! !` *J#B ! B !*J~;   # +~   #*Jz0 {~#( > 2Bc > 2Tc > 2ic >  > B B > 2v!\E ~ ʋ ?ʋ  !\ :lʡ 2:m ʵ !m : >M2>A2>C2:u !u !E /! =~:@ >: #>. ~# E?>!"WNASM»ʔ>2N!O"LNZ80/s>*A~#~  > #> > 2 *L>!w / / 4:<= 8>8:<<2<#:N=E>2N|Wy}OyÓzWW{OW!O"LN>:NO*L|µ}µ́:Mµ:Lµí'd }0 /x0 0  }o|g_K_Y =KQa{_:h=2h>. >d2h:A=2Aˆ> > 2A:=2K>22 XIZ translates Intel 8080 assembly language source code into Zilog Z80 assembly language source code. It is invoked by a command of the form: XIZ B:8080FILE.TYP B:Z80FILE.TYP All parameters are optional - if omitted, the following values are assumed: 8080 source filetype - ASM Z80 output filetype - Z80 Z80 output file name - same as source file-name Drive - current drive Byte 0103H - 00 defaults to .Z80 extent, FF to .MAC Byte 0104h - 00 does not print .Z80 and ASEG for MAC Byte 0105H - 00 normal Zilog DEFB, etc., FF to DB, etc.[more] Examples: XIZ PRGM1 (translates PRGM1.ASM to PRGM1.Z80) XIZ PRGM1 PRGM2 (translates PRGM1.ASM to PRGM2.Z80) XIZ PRGM1.TXT PRGM2.MAC (translates PRGM1.TXT to PRGM2.MAC) XIZ also has the following feature: A dot '.' is displayed for each 100 lines processed. ++ Aborting to CP/M ++  *** Job cancelled *** lines processed .Z80 ASEG No directory space No source file found Output file exists, delete it and continue? (Y/N) Output file write error  8080 source file: Z80 output file: XIZ v2 - translates 8080 to Z80 source code The following operands have been used in your source and have not been fully translated. You must complete the translation using an editor. original: must be translated to: Z NZC NCz nzc nc #ENDIF ENDIF ICL *INCLUDE dLST LIST 2CALL JP RET A,(),A),HLDE,HL(SP),HLHL,(A,(BC)A,(DE)8*A,AFBC,ADEHLHL,(HL)SP,HL(BC),A(DE),AåXZI v1 07 May 86 - a Z80 to 8080 translator. Work done by Irv Hoff, heavily based on a previous program by Frank Zerilli in 1984 which was based on XLATE2. !9"l1l:] ?:^ <202ϛ{͕̀[22!n[P*Ǜz[m{nmn9=W>wz[>{n>n"Ǜw'ƒ:/2~w:ž~;ʛž2:º:º~aں{Һ_w~   (xP~*6;2#(+(#6 #6*1#"1*Ǜ!:>!:>!>*5#dw#wͧ{j*1tPZ!ϛ"5e *5^#V#"5|ʠ> 0x x> !ϛ~"5!"b *5^#V#"5|> 0J¸>; ø> >;> > !n[1 b!́  ! ́ 5 !́ ʅ !9 ́ !D ́ !Ý $!x́ =!v ́ !c ́ ! ́ ! ́ ! ́ v *˛à*͛~   b;' #âͩ #~; ~ 6 ͩ q;~ â ͩ ):+= +#> %>  :! = => ~;b#~ b> ~ab{b_c~#bbCPL CMA CCF CMC SCF STC HALT HLT RLA RAL RRA RAR RLCA RLC RRCA RRC DAA DAA NOP NOP DI DI EI EI EXX EXX LDIR LDIR LDI LDI LDDR LDDR LDD LDD CPI CPI CPIR CPIR CPD CPD CPDR CPDR INI INI INIR INIR IND IND INDR INDR OUTI OUTI OTIR OTIR OUTD OUTD OTDR OTDR NEG NEG RLD RLD RRD RRD RETI RETI RETN RETN IM0 IM0 IM1 IM1 IM2 IM2 DJNZ DJNZ BIT BIT SET SET RES RES RLC RCL RL RL RRC RRC RR RR SLA SLA SRA SRA SRL SRL IM IM DB DB DW DW DS DS DEFB DB DEFW DW DEFS DS EQU EQU DEFL SET ORG ORG OR ORI ORA AND ANI ANA XOR XRI XRA CP CPI CMP SUB SUI SUB ADD ADI ADD ADC ACI ADC SBC SBI SBB EX XCHG PUSH PUSH POP POP INC INX INR DEC DCX DCR LD MVI MOV IF IF  ELSE ELSE ENDIFENDIF MEND ENDM ENDM ENDM IN IN OUT OUT 'RST RST JP JMP ~JR JMP ~CALL CALL ORG ORG RET RET MACROMACRO ~ j j ;~ ʮ :z ;ʮ ʮ # G ͩ Z :E #~:ˆ  ß + ʛ 1 ʛ W Ÿ # >:#~  1 W y >  >:y > > > ͩ ~ ; 1l"˛›͊ ͩ "͛<#ͩ ~E/ #~Q/ #~U#ͩ ~M/ #~A/ #~C/ #~R/ #~O#ͩ ~D/ #~E/ #~F/ #~L N#F~ʕ ›ͫ Á  A~ ~# ~~# ~~# x~# = F6bp~ > # ~ ; ,6 #' +~)ɷ~;L L #= +~ L L #d #Z ~:+-/*)!~, ; Hͽ d ~# xd Ö ~ ʲ #é }o|g> bk ~# x !6b*˛à> 2"2e*1*5s#r#"5>  Ý>  Ý*͛ "͛ͯ - / Ý!' *͛ "͛ͯ - / d _ F & ,& , #͏ P !U à*͛ "͛ͯ - / d F & ,& ~_A B C D E H L ~( #d +!ͫ ####d ###>Mw"͛#~~_A#~,#++~_A#d +~_I R ~(#F < ++)+++~_I#~_X\ Y\ +#d ++~_H#~_L\ +~(#d  )‹ #d ++++!>͗ ##d ++! >͗ ####d ++++*͛!> ͗ #! !)> ͗ 0 !d à*͛͏ S "͛ Ý*͛ͯ - ͏ P *͛ͯ @͏ ~( / F ! ͨ ʣ#' Ͷ ##d ʛ !p à!tÌ, # "͛! Ý,# P S~~( (!g >, àF d "͛!y ÝH #= ) +!b 6bà, #~([ͯ - ! & / ͨ ʩ#d Š) ++++F+~###w"͛#p#>Mw- *͛~_A = ) +!Y-*͛~_A !] à *͛ >/>8à*͛ ~(# = )+6  à~(#~_C%#~)$#d +++*͛  ~(8#~,M;z z#9+~)[#"3_"3## z"͛ *36bÝ *͛u / <͊ Ý*͛Î*͛cͥ Ý!k à#*˛~b_R à~_Z C P M ~S#~,+~_Z0C0P0M0~S#z +~_N~R#~_ZWCW+~2S#~,++~_N~R#~_Z~C~+~2S#z ++~_P~R#~_EWOW+~_P~R#~_E~O~+!\9 ~ ? !\~ :l2~:m !m :>M2B>A2C>C2D:u 1!u !9P!~P~X:0@>:#o>.~# o9ʏ!n["ǛJ~~~>2[!["ɛJ~â*l2!*ɛw   := >:<2#:[=&>2[|Z}Z[~lz8{8!["ɛ~#b7J>:[{[*ɛ| } ~~l:ʛ :ɛ Ø_Y *%Ͷ '22d2 2}0/Ͷ 4x0E0'hhdh h}0/Ͷ jx0{0:7=27>.>d27:8=28¦> > 28:9=29>229 XZI translates Zilog Z80 assembly language source code into Intel 8080 assembly language source code. It is invoked by a command of the form: XZI B:Z80FILE.TYP B:8080FILE.TYP All parameters are optional - if omitted, the following values are assumed: Z80 source filetype - .Z80 (or .MAC) 8080 output filetype - .ASM 8080 output filename - same as source filename Drive - current drive Byte 0103H - 00 Defaults to .Z80 extent, FF to .MAC[more] Examples: XZI PRGM1 (translates PRGM1.Z80 to PRGM1.ASM) XZI PRGM1 PRGM2 (translates PRGM1.Z80 to PRGM2.ASM) XZI PRGM1.MAC PRGM2.TXT (translates PRGM1.MAC to PRGM2.TXT) XZI also has the following feature: A dot '.' is displayed for each 100 lines processed. ++ Aborting to CP/M ++ (BC)B(DE)D DE,HLXCHG(SP),HLXTHL# Z80 *** Job cancelled *** lines processed Ran out of memory for table of line numbers of intrinsic Z80 opcodes (HL)No directory space No source file found Output file exists, delete it and continue? (Y/N) Output file write error DADLDALDAXLHLDLXIPCHLSTASHLDSPHLASM Z80 source file: 8080 output file: STAXBCBDEDHLHSPSPAFPSW XZI v3 - translates Z80 to 8080 source code ; ; ; ; ; Line numbers containing untranslated opcodes: ; ; Line numbers containing untranslated opcodes: The following operands have been used in your source and have not been fully translated. You must complete the translation using an editor. ϛd 2