ô (C) Bruce Smith June 1986 ô Advanced SRAM Guide : ( òvars 2 òassemble < òchecksum F*SRWRITE 5000+300 8000 7 Pà Z Ýòvars dmshigh=&50:mslow=&51 nlshigh=&52:lslow=&53 x temp=&54 ‚hibyte=&63:lobyte=&62 Œhibegin=&61:lobegin=&60 –osrdch=&FFE0:osbyte=&FFF4  oswrch=&FFEE:osnewl=&FFE7 ªosasci=&FFE3 ´comline=&F2 ¾á È: ÒÝòassemble Üãpass=4¸7ˆ3 æP%=&8000:O%=&5000 ð [OPTpass úJMPlanguage JMPservice  EQUB&C2 EQUBoffset ƒ256 " EQUB1 , .title 6EQUS"Master Monitor" @ .offset J EQUB0 TEQUS"(C) Bruce Smith" ^ EQUB0 h: r .service |PHA † CMP#9  BEQhelp š CMP#4 ¤BEQunrecognised ®PLA ¸RTS Â: Ì .help Ö LDX#&FF à .helploop êINX ôLDAtitle,X þ JSRosasci BNEhelploop  JSRosnewl PLA &RTS 0: :.unrecognised DPHX NPHY X LDX#&FF bDEY l .ctloop vINX €INY ŠLDA(comline),Y ” €#&DF žCMPtable,X ¨ BEQctloop ²LDAtable,X ¼ BMIfound Æ\ Ð.notthisrom ÚPLY äPLX îPLA øRTS \  .found  LDA#&8E  LDX&F4 * JSR&FFF4 4\ No return! >\ H\ set up Command Table R .table \EQUS "MASMON" f EQUB&FF p: z .language „CLI Ž LDX#&FF ˜TXS ¢ LDA#22 ¬ JSRoswrch ¶ LDA#7 À JSRoswrch Ê LDY#2 Ô LDX#&FF Þ .langloop èINX òLDAheading,X ü BEQout  JSRosasci BRAlangloop .out $\ . LDX#&FF 8DEY BBNElangloop L\ V .copyloop `INX jLDAcopyright,X t BEQout2 ~ JSRosasci ˆBRAcopyloop ’\ œ .out2 ¦ LDA#28 ° JSRoswrch º LDA#0 Ä JSRoswrch Î LDA#24 Ø JSRoswrch â LDA#39 ì JSRoswrch ö LDA#5  JSRoswrch  LDX#&FF \  .stloop (INX 2LDAstart,X < JSRosasci F BNEstloop PJSRinputaddr Z LDAhibyte dSTAhibegin n LDAlobyte xSTAlobegin ‚\ Œ LDX#&FF – .endloop  INX ª LDAend,X ´ JSRosasci ¾BNEendloop ÈJSRinputaddr Ò LDA#13 Ü JSRosasci æ\ ð .nextline úJSRaddress  LDY#0  LDX#7  .hexloop "LDA(lobegin),Y , JSRhexout 6 JSRspace @INY JDEX TBPLhexloop ^ LDA#134 h JSRoswrch r\ | LDY#0 † LDX#7  .ascloop šLDA(lobegin),Y ¤ CMP#32 ® BCCspot ¸ CMP#128 ÂBCCjumpover Ì\ Ö .spot àLDA#—(".") ê .jumpover ô JSRoswrch þINY DEX BPLascloop \ & LDA#&D 0 JSRosasci :CLC DLDAlobegin N ADC#8 XSTAlobegin bBCCnocarry lINChibegin v .nocarry €LDAlobegin Š CMPlobyte ”BCCnextline žLDAhibegin ¨ CMPhibyte ²BCCnextline ¼\ Æ JSRosnewl Ð LDX#&FF Ú .goonloop äINX îLDAcontinue,X ø JSRoswrch BNEgoonloop  .testkey  JSRosrdch  CMP#—("Y") *BNEskipover 4JMPlanguage > .skipover HCMP#—("N") RBNEtestkey \\ f LDA#26 p JSRoswrch z LDA#12 „ JSRoswrch Ž LDA#&BB ˜ JSRosbyte ¢ LDA#&8E ¬ JMPosbyte ¶: À\ machine code subroutines Ê: Ô.inputaddr ÞJSRcharacters è LDAmshigh ò JSRcheck üASLA ASLA ASLA ASLA $ STAtemp . LDAmslow 8 JSRcheck B „Atemp L STAhibyte V LDAlshigh ` JSRcheck jASLA tASLA ~ASLA ˆASLA ’ STAtemp œ LDAlslow ¦ JSRcheck ° „Atemp º STAlobyte ÄRTS Î\ Ø.characters â JSRosrdch ì JSRosasci ö STAmshigh JSRosrdch STAmslow  JSRosasci  JSRosrdch ( JSRosasci 2 STAlshigh < JSRosrdch F JSRosasci P STAlslow ZRTS d\ n .check x CMP#58 ‚ BCSatof Œ€#15 –RTS   .atof ª SBC#55 ´RTS ¾\ È .space Ò LDA#32 Ü JMPoswrch æ\ ð .address ú LDA#129  JSRoswrch LDX#lobegin  LDA1,X " JSRhexout , LDA0,X 6 JSRhexout @ LDA#130 J JSRoswrch TRTS ^\ h .hexout rPHA |LSRA †LSRA LSRA šLSRA ¤ JSRdigit ®PLA ¸ .digit €#15 Ì CMP#10 Ö BCCno à ADC#6 ê.no ô ADC#48 þ JMPoswrch : \ —II string storage area : &.copyright 0EQUD&20202086 : EQUW&2020 DEQUS"(C) Bruce Smith 1986" N EQUB13 X EQUB0 b .heading l EQUB141 v EQUB131 €EQUD&20202020 ŠEQUD&20202020 ”EQUS"Master Monitor" ž EQUB13 ¨ EQUB0 ² EQUB141 ¼ .start Æ EQUB130 ÐEQUS"Start :&" Ú EQUB129 ä EQUB0 î.end ø EQUB130 EQUS" End :&" EQUB129  EQUB0 .continue * EQUB130 4EQUS"Go again (Y/N)? " > EQUB0 H] Rí \á f: pÝòchecksum zN%=0 „ãX%=&5000¸&5240 Ž N%=N%+?X% ˜í ¢çN%=70308 Œ á ¬ï7 ¶ñ"Assembler error!" Àà ÿ