JOY 5JWh[kIz k phL9̪I Y%z kZ-KiZ-KL$ЦIz {x UL$ЦIz zx UL$ЦIz yx UL$ЦIz xx UL$ЦIz x UL$ЦIz ~x UL$ЦIz }x UL$ЦIz |x UL$ЦIz sx UL$ЦIz rx U xLayout 0x U pHomeoftheFree LChapter7 xLayout 0x U P ,p>>>x xLayout 0x U x xLayout 0x U  xLayout 1x U  $Layout 1xP #(-27'significantto8characters,butonly7arewritten,ifyouoptfor@.RELoutput.[Therestofthispageisintentionallyblank] x$Layout 1xP #(-27'seemsthebestwaytodescribeit!Thereasonforthisisthatthe  " helpoverlayfiledoublesasamanual,whichprintsoutto18pages.  J3DAZZLESTARneedsaminimum48ksystemandrunsunderCP/M2.2or  later.SomeusershavereportedproblemsrunningunderCP/MPlus,butMIusethissystemandhavehadnodifficultyatall.  DAZZLESTARis,asnotedbefore,undercontinuousdevelopment.At  thetimeofwriting,FrenchandGermanversionswereinthepipeline  S<andmaynowbeavailablefromtheauthor,whowouldwelcomecashcontributionsinappreciationofhisefforts.  ThereisonlyonewordtodescribeDAZZLESTAR-brilliant!Itis aworkofgeniusandyoushouldnothesitatetogetacopy.Youwill,probably,neverneedanyotherdisassembler!eZ8E-aqualitymonitoranddebugger Z8Eisaqualitytoolfortheinteractivemonitoringand  debuggingofZ80programs.ItrunsunderanyCP/MorTurboDossystembanduses9koftheTPA. WrittenbyRickSurwiloofStamford,Connecticutin1984ithas  <%somenotablefeatures,includingafull-screen,animatedtraceofa x$Layout 1xP #(-27'beforethebreakcomesintoeffect.SinceZ8Edoesnotmodifycode  ?(untilaGOinstructionisgiven,youmayexamineandpatchcodeatanypointinadebuggingsession. Z8E,onbooting,issuesanasteriskpromptandwaitsfor  G0instructions.Thesearegivenbysinglelettercommands,whichmayhaveparametersfollowingthem.Thecommandcodesare:!A  8AssemblesZ80sourcecodetotheaddressspecified.Thisisa  {one-passassemblerandundefinedforwardreferenceswill V?produceanerror.Pseudo-opsallowedare:ORG,DEFB,DEFW,DDB(definedouble-byte)andEQU. ,B Setbreakpoint,withoptionalpasscount.C Clearthespecifiedbreakpoint D  7Dumpmemoryinhex/ASCIIformat.Startaddressandeitherend addressorblocksizemustbespecified. ,E  Examineandoptionallyeditmemory.Editingmaybebytebybyte qoracontinuousblockofbytes. ,bF yFindthespecifiedpatternbysearchingfromthespecified !address. ,G Go(run)fromthespecifiedaddress.=H DisplaysymboltableI Input(load)afile.Loadaddressoptional.BJ YRunanimated,full-screen,debugger.Thisallowsyoutoview   registers,memoryandop-codes,whilethecodeisbeingexecuted  inreal-time.Anoptionaldelayfactormaybespecified,toslow  downexecution.Addingaslash(/)tothecommandtellsZ8Enot  totracesubroutines,whilstanasterisktellsittoignorecalls  5inpagezero.Single-steppingthroughtheprogrammayalsobeinvokedwiththisoption. ,K  Setthesizeandstartaddressforthememorywindowdisplayin(x$Layout 1xP #(-27'implementssomeextrainstructionsthatcanproducemoreefficientScodethanthe8080chip. Acorollarytothismeansthat,becauseoftheextended  instructionset,manyZ80-codedprogramswillnotworkon8080-basedrmachines.  *XIZI(pronouncedZEE-ZEE)overcomesboththeseproblems.Itis  # setoftranslationprogramsthatwillconvert8080codetoZ80code-and(morecleverly)vice-versa.  TooperateXIZI,youmusthavetheassemblersourcecode(Ican  hearthegroansfromhere!).XIZIwillthentakethatfileandcreate8anewassemblerfileusingtheotherinstructionset. Someconvertersdon'toptimisethecode.XIZIdoes.ItestedXIZIx$Layout 1xP #(-27'allowsyoutoinstallandremoveRSX'saswellasshowinformation  aboutcurrentlyresidentRSX's.Italsoallowsyoutocreate  self-installingRSX'sofyourownsothatyouneedn'tusetheRSX.COMaprogramtousetheRSX. x$Layout 1xP #(-27RSX  X # ( Noarguments-displaysahelpscreenA>RSXSHOW X # (  Displaysinformationaboutthe (  dRSX'scurrentlyresidentinmemory.  Informationincludesbaseaddress,name, description,andcontrolflagsforeachRSX. ,A>RSXINSTALLfilename ( -InstallstheRSXcontainedinthefile (  specified.Thefilemusthavea U<filetypeof.RSX,andmusthavebeen preparedasdescribedinthesectiononcreatinganRSX. ,A>RSXREMOVErsxname ( 5RemovesthespecifiedRSXfrommemory, (  relocatinganyremainingRSX'ssoasto U<reclaimthememoryspaceusedbythe0removedRSX. ,A>RSXMAKEfilename # (  Createsa.COMfilewhich,when (  executed,installstheRSXcontainedin thespecifiedfile.Thefilemusthave -afiletypeof.RSX,andmusthavebeen preparedasdescribedinthesectionon xcreatinganRSX.The.COMfile's A(filenameisderivedfromtheRSXNAMEdstringcontainedintheRSXheader. ,  AnRSXconsistsoftwomajorpieces:theRSXheaderandtheRSX  >'code.TheheadercontainsinformationrequiredbytheRSXMAKERfor  ;$installationandrelocationoftheRSX.Themajorityoftheheader  neednotbealteredfromthatfoundinthetemplateRSX  RSXTEM.ASM.ThosefieldswhichareofinteresttotheRSXcreatorarediscussedbelow.[Therestofthispageisintentionallyblank]x$Layout 1xP #(-27'installingCP/Mprograms,whereaninstallprogramisnotprovided.  [DThebookisamineofusefulinformationandincludessomehandy  notesontheCP/Msystemitself.I'mnotsureabouttheorangepaperthatitsprintedon,however! /DU-87andQWIKKEYhavealreadybeendescribedinthepreviouschapter.Theseareonthedisc,alongwiththefollowing: COMPAREcomparestwobinaryfilesandthenprintsoutalistof  J3thedifferencesbetweenthetwoandwheretheyoccur.Thiscanbehx$Layout 1xP #(-27'machine-codeprogrammingandthetoolsdescribedhere,thereisnoproblemthatyouwouldnotbereadytotackle!