p!!6000zASSSTART W° 00„MACCOUNT W° 0HŽFIRSTLABAD W° $A000_˜LASTLABAD W° $A000n¢PASS BYT 0~¬CURRAD W° 0¶STARTAD W° 0 ÀMCURRAD W° 0°ÊFLAGS BYT 0ÃÔCURRBASAD W° 0ÕÞMACBASAD W° 0çèCURRLINE W° 0úòFIRSTLINE W° 0 ü!!! MACADDR W° 0" STACKPTR BYT 04 NUMPASS BYT 0G CODEBYTE BYT 0] $CODADD JMP NOCODE~ .DO– JSR UNIMP:JMP DOPASS !!!à 8DO€MAC LDA MACBASAD:STA CURRBASAD:LDA MACBASADª1:STA CURRBASADª1â BLDA FLAGS:¯ #$DF:STA FLAGSï LJMP ¡W°D V¡ÅUE JSR CHECKBYTE `CMP #'³:BEQ GVLOW7 jCMP #$B3:BEQ GVLOW ! ³N tCMP #'±:BEQ GVHIGHj ~CMP #$B1:BEQ GVHIGH ! ±x ˆJMP GVNUM” ’GVHIGH LDA #$00:STA $04» œJSR ËTBYTE:JSR CHECKBYTE:JSR GVNUMÏ ¦LDA $FC:STA $FBì °GVHIGH1 LDA #$00:STA $FC ºLDA $04:¯ #$BF:STA $04 ÄRTS* ÎGVLOW LDA #$00:STA $04Q ØJSR ËTBYTE:JSR CHECKBYTE:JSR GVNUMa âJMP GVHIGH1u ìSYNTAX JSR ERR° öBYT 1,"SYNTAX ERROR",0˜ RTS³ GVÆII JSR ¡ÆII:STA $FBÈ LDA #$00:STA $FCÐ INYà (JMP GVDECOK 2GVSCR JSR ¡ÆII:JSR ¤SCREEN:STA $FB <LDA #$00:STA $FC$ FINY= P¤GVDECOK JMP GVDECOK` ZGVBIN LDA #$00:STA $FB:STA $FC| dGVBLOOP INY:LDA ($14),Y• nCMP #'0:BCC ¤GVDECOK® xCMP #'2:BCS ¤GVDECOKÆ ‚LSR:ROL $FB:ROL $FCÖ ŒJMP GVBLOOPù –GVOCT LDA #$00:STA $FB:STA $FC  GVOLOOP INY:LDA ($14),Y- ªCMP #'0:BCC GVDECOKE ´CMP #'8:BCS GVDECOKP ¾¯ #$07„ ÈASL $FB:ROL $FC:ASL $FB:ROL $FC:ASL $FB:ROL $FC— Ò°A $FB:STA $FB§ ÜJMP GVOLOOP¼ æGV¤ÆII JMP GVÆIIÑ ðGV¤SCR JMP GVSCRæ úGV¤HEX JMP GVHEXGVNUM CMP #'$:BEQ GV¤HEXCMP #'%:BEQ GVBIN/CMP #'@:BEQ GVOCTF"CMP #'':BEQ GV¤ÆII],CMP #'&:BEQ GV¤SCRv6CMP #'0:BCC GV¤LABEL‘@CMP #1ª'9:BCS GV¤LABEL´JGVDEC LDA #$00:STA $FB:STA $FCËTGVDECL LDA ($14),Yã^CMP #'0:BCC GVDECOKýhCMP #1ª'9:BCS GVDECOKr¯ #$0F:STA $07$|LDA $FC:STA $22H†LDA $FB:ASL:ROL $22:ASL:ROL $22\ADC $FB:STA $FBpšLDA $22:ADC $FCˆ¤ASL $FB:ROL:STA $FC¯®LDA $FB:ADC $07:STA $FB:BCC GVDECN»¸INC $FCÕÂGVDECN INY:BNE GVDECLÿÌGVDECOK TYA:CLC:ADC $14:STA CURRBASAD$ÖLDA $15:ADC #$00:STA CURRBASADª1,àRTSEêGV¤SYNTAX JMP SYNTAX[ôGV¤LABEL JSR ¡W°DvþCPY #$00:BEQ GV¤SYNTAX‘CPY #$01:BNE GV¤LABEL1LDA BUF·CMP #'¬:BEQ GV¤LABEL2Ö&CMP #$AC:BNE GV¤LABEL1 ! ¬ 0GV¤LABEL2 LDA CURRAD:STA $FB:LDA CURRADª1:STA $FC!:LDA #$00:STA $04)DRTSCNGV¤LABEL1 JMP GVLABELfXGVHEX LDA #$00:STA $FB:STA $FC‚bGVHLOOP INY:LDA ($14),YšlCMP #'0:BCC GVDECOK±vCMP #1ª'9:BCC GVH1É€CMP #'A:BCC GVDECOKáŠCMP #'G:BCS GVDECOKî”ADC #$09þžGVH1 ¯ #$0FB¨ASL $FB:ROL $FC:ASL $FB:ROL $FC:ASL $FB:ROL $FC:ASL $FB:ROL $FCU²°A $FB:STA $FBe¼JMP GVHLOOPˆÆ¤SCREEN CMP #$40:BCC ¤SCREENOK¢ÐCMP #$60:BCS ¤SCREEN1±Ú¯ #$1F:RTSÔä¤SCREEN1 CMP #$80:BCS ¤SCREEN2åîSBC #$1F:RTSø¤SCREEN2 CMP #$C0:BCS ¤SCREEN3SBC #$3F:RTS< ¤SCREEN3 CMP #$FF:BEQ ¤SCREEN4K¯ #$7F:RTSa ¤SCREEN4 LDA #$5Es*¤SCREENOK RTS’4GVLABEL LDA #$00:STA BUF,Y¸>JSR ÑLAB:JSR ALLRAM:BCS GVMAKELABÉHLDY #$01:TYAéRCLC:ADC ($02),Y:STA ($02),Yñ\INYfLDA #$00:ADC ($02),Y:STA ($02),Y#pLDY #$00FzLDA ($02),Y:¯ #$20:BEQ GVLABXXy„GVCHKPASS LDX PASS:LDA BUF:CMP #'ÿ:BEQ GVPASS1ŽCPX #$02:BEQ UN–LAB:BNE GVLABXX¹˜GVPASS1 DEX:BNE GVLABXXÝ¢UN–LAB LDA #$00:STA $FB:STA $FCì¬JSR N°MMEMù¶JSR ERR°ÀBYT 0,"UNDEFINED LABEL",0ÊRTSMÔGVLABXX LDA ($02),Y:¯ #$40:°A $04:STA $04nÞLDY #$03:LDA ($02),Y:STA $FBŠèINY:LDA ($02),Y:STA $FC™òJMP N°MMEM°üGVMAKELAB LDA #$60ÆBIT $04:BPL GVML1ÓLDA #$20GVML1 LDY #$00:STA ($02),Y:¯ #$40:°A $04:STA $04%$INY:LDA #$01:STA ($02),YB.INY:LDA #$00:STA ($02),YV8INY:STA ($02),YjBINY:STA ($02),YwLLDX #$FFŠVGVMLL1 INX:INY¯`LDA BUF,X:STA ($02),Y:BNE GVMLL1ßjTYA:SEC:ADC $02:STA LASTLABAD:BCC GVCHKPASStINC LASTLABADª1:JMP GVCHKPASS~GWQUOTE INC $02:BNE GWQL1+ˆINC $03L’GWQL1 LDA ($02),Y:BEQ GWQD‘EdœCMP #$22:BEQ GWQD‘E€¦STA BUF,Y:INY:BNE GWQL1 °GWQD‘E CPY #$00:BNE GWQD‘E1¹ºCMP #$00:BEQ GWQD‘E0ÜÄLDA $02:ADC #$00:STA CURRBASADÎLDA $03:ADC #$00:STA CURRBASADª1ØJMP ¡W°D+âGWQD‘E0 LDA #$22:STA BUF<ìINY:LDA #$00PöCLC:BCC GWQD‘E2iGWQD‘E1 CMP #$01:TYA‹ GWQD‘E2 ADC $02:STA CURRBASAD°LDA $03:ADC #$00:STA CURRBASADª1¸RTS×(¡½R LDA $04:¯ #$80:STA $04ú2JSR CHECKBYTE:CMP #';:BNE ¡½R1 <JSR ËTBYTEFLDA #$40:BNE ¡½R21P¡½R1 LDA #$00>Z¡½R2 PHAKdJSR ¡ÅUEcn¡EXL1 JSR CHECKBYTEyxCMP #'ª:BEQ ¡½LUS”‚CMP #$AA:BEQ ¡½LUS ! ª­ŒCMP #'«:BEQ ¡EXMINUSË–CMP #$AB:BEQ ¡EXMINUS ! «â CMP #'­:BEQ ¡EXDIVþªCMP #$AD:BEQ ¡EXDIV ! ­´CMP #'%:BEQ ¡EXMOD-¾CMP #'¬:BEQ ¡EX¤MULJÈCMP #$AC:BEQ ¡EX¤MUL ! ¬`ÒCMP #'&:BEQ ¡EX¤¯vÜCMP #'':BEQ ¡EX¤°æCMP #'@:BEQ ¡EX¤E°¤ðPLA:°A $04:STA $04¬úRTSÁ¡½LUS JSR ËTBYTEåLDA $FB:STA $24:LDA $FC:STA $25òJSR ¡ÅUE"LDA $24:CLC:ADC $FB:STA $FB.,LDA $25:ADC $FC:STA $FC<6JMP ¡EXL1T@¡EXMINUS JSR ËTBYTExJLDA $FB:STA $24:LDA $FC:STA $25…TJSR ¡ÅUE¥^LDA $24:SEC:SBC $FB:STA $FBÁhLDA $25:SBC $FC:STA $FCÏrJMP ¡EXL1å|¡EXDIV JSR ËTBYTE †LDA $FB:STA $24:LDA $FC:STA $25JSR ¡ÅUE/šJSR DIVW°D:JMP ¡EXL1B¤¡EX¤¯ BEQ ¡EX¯U®¡EX¤° BEQ ¡EX°j¸¡EX¤E° BEQ ¡EXE°Â¡EX¤MUL BEQ ¡EXMUL—Ì¡EXMOD JSR ËTBYTE»ÖLDA $FB:STA $24:LDA $FC:STA $25ÈàJSR ¡ÅUE÷êJSR DIVW°D:LDA $22:STA $FB:LDA $23:STA $FCôJMP ¡EXL1þ¡EX¯ JSR ËTBYTE= LDA $FB:STA $24:LDA $FC:STA $25J JSR ¡ÅUEz LDA $24:¯ $FB:STA $FB:LDA $25:¯ $FC:STA $FCˆ& JMP ¡EXL1œ0 ¡EX° JSR ËTBYTEÀ: LDA $FB:STA $24:LDA $FC:STA $25ÍD JSR ¡ÅUEÿN LDA $24:°A $FB:STA $FB:LDA $25:°A $FC:STA $FC X JMP ¡EXL1"b ¡EXE° JSR ËTBYTEFl LDA $FB:STA $24:LDA $FC:STA $25Sv JSR ¡ÅUE…€ LDA $24:E° $FB:STA $FB:LDA $25:E° $FC:STA $FC“Š JMP ¡EXL1©” ¡EXMUL JSR ËTBYTEÝž LDA $FB:E° #$FF:STA $24:LDA $FC:E° #$FF:STA $25 ¨ JSR ¡ÅUE:LDA $FB:STA $22:LDA $FC:STA $23'² LDA #$00:STA $FB:STA $FC3¼ LDX #16OÆ MULLOOP ASL $FB:ROL $FClÐ ASL $24:ROL $25:BCS MUL‚ Ú LDA $22:ADC $FB:STA $FB:LDA $23:ADC $FC:STA $FC¹ä MUL‚ DEX:BNE MULLOOPÇî JMP ¡EXL1Ó'!!10000à'¡AD9 INYú$'LDA ($14),Y:BEQ ¡AD91 .'CMP #'::BEQ ¡AD91' 8'CMP #$20:BEQ ¡AD91= B'CMP #'!:BNE ¡AD16K L'¡AD91 DEYZ V'JSR ËTBYTEk `'LDA #$09:RTS„ j'¡AD LDA #$00:STA $04– t'JSR CHECKBYTE« ~'CMP #'::BEQ ¡ADBÁ ˆ'CMP #$00:BEQ ¡ADBÖ ’'CMP #'!:BEQ ¡ADBë œ'CMP #'#:BEQ ¡AD0!¦'CMP #'A:BEQ ¡AD9!°'CMP #'(:BEQ ¡AD78C)!º'¡AD16 JSR ¡½RO!Ä'JSR CHECKBYTE:CMP #',:BEQ ¡A¤3456d!Î'BIT $04:BVS ¡AD1y!Ø'LDA $FC:BNE ¡AD1Š!â'LDA #$02:RTS¢!ì'¡A¤3456 JMP ¡AD3456¸!ö'¡AD1 LDA #$01:RTSÎ!(¡ADB LDA #$0B:RTSâ! (¡AD0 JSR ËTBYTE÷!(LDA #$80:STA $04"(JSR ¡½R"((BIT $04:BVS ¡AD0ERR2"2(LDA $FC:BEQ ¡AD0OKK"<(¡AD0ERR JSR OVERWARNc"F(¡AD0OK LDA #$00:RTSy"P(¡AD78C JSR ËTBYTE…"Z(JSR ¡½R—"d(JSR CHECKBYTE¬"n(CMP #',:BEQ ¡AD8Â"x(CMP #'):BEQ ¡AD7C×"‚(¡AD71 JSR SYNTAXè"Œ(LDA #$07:RTSý"–(¡AD7C JSR ËTBYTE # (JSR CHECKBYTE:CMP #',:BNE ¡ADC/#ª(JSR ËTBYTEO#´(JSR ¡W°D:CPY #$01:BNE ¡AD71m#¾(LDA #'Y:CMP BUF:BNE ¡AD71ƒ#È(BIT $04:BVS ¡AD72™#Ò(LDA $FC:BNE ¡AD72ª#Ü(LDA #$07:RTSÁ#æ(¡AD72 JSR OVERWARNÒ#ð(LDA #$07:RTSè#ú(¡ADC LDA #$0C:RTSü#)¡AD8 JSR ËTBYTE $)JSR CHECKBYTE:CMP #'X:BNE ¡AD81/$)JSR ËTBYTES$")JSR CHECKBYTE:CMP #'):BNE ¡AD81b$,)JSR ËTBYTEx$6)BIT $04:BVS ¡AD82Ž$@)LDA $FC:BNE ¡AD82Ÿ$J)LDA #$08:RTSÁ$T)¡AD81 JSR SYNTAX:LDA #$08:RTSå$^)¡AD82 JSR OVERWARN:LDA #$08:RTSû$h)OVERWARN JSR ERR°%r)BYT $80,"OVERFLOW WARNING",0$%|)RTS;%†)¡AD3456 JSR ËTBYTE[%)JSR ¡W°D:CPY #$01:BNE ¡ADX1y%š)LDA BUF:CMP #'X:BEQ ¡AD34%¤)CMP #'Y:BEQ ¡AD56±%®)¡ADX1 JSR SYNTAX:LDA #$01:RTSÆ%¸)¡AD34 JSR ËTBYTEÛ%Â)BIT $04:BVS ¡AD3ð%Ì)LDA $FC:BNE ¡AD3&Ö)LDA #$04:RTS&à)¡AD3 LDA #$03:RTS,&ê)¡AD56 JSR ËTBYTEA&ô)BIT $04:BVS ¡AD5V&þ)LDA $FC:BNE ¡AD5g&*LDA #$06:RTS}&*¡AD5 LDA #$05:RTSœ&*ËTBYTE LDA ($14),Y:BEQ GB€¾&&*TYA:SEC:ADC $14:STA CURRBASADã&0*LDA $15:ADC #$00:STA CURRBASADª1ï&:*GB€ RTS('D*ÑLAB LDA FIRSTLABAD:STA $02:LDA FIRSTLABADª1:STA $036'N*JSR ½¯BUFE'X*JSR ALLRAMn'b*FLL1 LDA $03:CMP LASTLABADª1:BNE FL1ˆ'l*LDA $02:CMP LASTLABAD›'v*FL1 BCS FLCRTS½'€*LDY #$00:LDA ($02),Y:BMI FLN1Ó'Š*LDY #$05:LDX #$00ð'”*FLL2 LDA ($02),Y:BEQ FL2(ž*CMP BUF,X:BNE FLN1(¨*INX:INY:BNE FLL2.(²*FLN1 LDY #$05N(¼*FL3 INY:LDA ($02),Y:BNE FL3s(Æ*TYA:SEC:ADC $02:STA $02:BCC FLL1ˆ(Ð*INC $03:BNE FLL1£(Ú*FL2 CMP BUF,X:BNE FLN1¶(ä*CLC:JMP N°MMEMÐ(î*FLCRTS SEC:JMP N°MMEMø(ø*S¤RECODE BIT FLAGS:BVC SC2:LDX #$00)+STY $030E) +SCLOOP LDA BUF,X))+STX $030D:) +JSR S¤REBYTEL)*+LDX $030D:INXe)4+DEC $030E:BNE SCLOOPm)>+TXA›)H+SC3 PHA:CLC:ADC CURRAD:STA CURRAD:BCC SC1¬)R+INC CURRADª1Ü)\+SC1 PLA:CLC:ADC MCURRAD:STA MCURRAD:BCC SC4ö)f+INC MCURRADª1:SC4 RTS *p+SC2 TYA:BVC SC3P*z+S¤REBYTE STA $26:JSR ALLRAM:LDA $26:JSR CODADD:STA $26:JSR N°MMEM~*„+LDY MCURRAD:STY $02:LDY MCURRADª1:STY $03œ*Ž+BIT S¤REFLAGS:BPL SBNOMEMª*˜+LDY $030D¹*¢+JSR ALLRAMÑ*¬+LDA $26:STA ($02),Yà*¶+JSR N°MMEMò*À+BIT S¤REFLAGS +Ê+SBNOMEM BVC SBNOFILE*+Ô+LDX #$08:JSR $FFC9:LDA $26B+Þ+JSR $FFD2:JSR $FFCCr+è+SBNOFILE LDA #$20:BIT S¤REFLAGS:BEQ SBNOHEX‰+ò+LDX #$04:JSR $FFC9«+ü+LDA HEXCNT:CMP #79:BCC SBHEX1Â+,LDA #$0D:JSR $FFD2à+,LDA $030D:CLC:ADC $02:TAXù+,LDA $03:ADC #$00:TAY,$,JSR OUTHEX,.,LDA #$20:JSR $FFD27,8,LDA #$07:STA HEXCNTW,B,SBHEX1 LDA $26:JSR OUTHBYTEq,L,INC HEXCNT:INC HEXCNT,V,JSR $FFCC,`,SBNOHEX RTS£,j,S¤REFLAGS BYT 0´,t,LABDEV BYT 0Å,~,HEXCNT BYT 0ä,ˆ,DOLABEL LDA #$00:STA BUF,Yñ,’,JSR ÑLAB-œ,JSR ALLRAM-¦,BCS DOLAB¢0-°,LDA PASS:CMP #$01:BNE DOLAB1O-º,LDA BUF:CMP #'ÿ:BEQ DOLAB1z-Ä,LDY #$00:LDA ($02),Y:¯ #$20:BNE DOLAB1‰-Î,JSR N°MMEM–-Ø,JSR ERR°´-â,BYT 1,"REDEFINED LABEL",0Ã-ì,JSR ALLRAMß-ö,LDA $04:°A #$01:STA $04î--JMP DOLAB1. -DOLAB¢ LDA #$00:TAY.-DOLABL1 STA ($02),Y;.-INY:CPY #$05:BNE DOLABL1L.(-LDX #$FF:DEY`.2-DOLABL2 INX:INY†.<-LDA BUF,X:STA ($02),Y:BNE DOLABL2¨.F-TYA:SEC:ADC $02:STA LASTLABADÍ.P-LDA $03:ADC #$00:STA LASTLABADª1æ.Z-DOLAB1 JSR CHECKBYTEþ.d-CMP #'²:BEQ DOLAB½R/n-CMP #$B2:BEQ DOLAB½R ! ²G/x-LDA CURRAD:STA $FB:LDA CURRADª1:STA $FCg/‚-LDA #$00:STA $04:BEQ DOL¶ET~/Œ-DOLAB½R JSR ËTBYTE/–-JSR N°MMEM©/ -LDA $02:PHA:LDA $03:PHAµ/ª-JSR ¡½RÑ/´-PLA:STA $03:PLA:STA $02à/¾-JSR ALLRAM 0È-DOL¶ET LDY #$01:TYA:¯ $04:BNE DOL¶ET350Ò-LDA ($02),Y:INY:°A ($02),Y:BEQ DOL¶ET2b0Ü-LDY #$05:LDA ($02),Y:CMP #'ÿ:BEQ DOL¶ET2o0æ-LDY #$03“0ð-LDA $FB:CMP ($02),Y:BEQ DOL¶ET1²0ú-LDA FLAGS:¯ #$7F:STA FLAGSÂ0.DOL¶ET1 INYæ0.LDA $FC:CMP ($02),Y:BEQ DOL¶ET21.LDA FLAGS:¯ #$7F:STA FLAGS1".DOL¶ET2 LDY #$0321,.LDA $FB:STA ($02),YN16.INY:LDA $FC:STA ($02),Yf1@.BIT $04:BVC DOLABOKs1J.LDY #$00ž1T.LDA ($02),Y:°A #$40:¯ #$5F:STA ($02),Yµ1^.DOL¶ET3 JSR N°MMEMÄ1h.JMP DOPASSÙ1r.DOLABOK LDY #$00ü1|.LDA ($02),Y:¯ #$1F:STA ($02),Y 2†.JSR N°MMEM2.JMP DOPASS-2š.½¯BUF LDX #$FFM2¤.EBL1 INX:LDA BUF,X:BNE EBL1n2®.LDA BUF«1,X:CMP #'®:BEQ EBDO‰2¸.CMP #$AE:BNE EBRTS ! ®¡2Â.EBDO LDA MACCOUNTª1Â2Ì.LSR:LSR:LSR:LSR:JSR BYTE¤HEXÒ2Ö.STA BUF«1,Xù2à.LDA MACCOUNTª1:¯ #$0F:JSR BYTE¤HEX3ê.STA BUF,X3ô.LDA MACCOUNT93þ.LSR:LSR:LSR:LSR:JSR BYTE¤HEXI3/STA BUFª1,Xn3/LDA MACCOUNT:¯ #$0F:JSR BYTE¤HEX~3/STA BUFª2,X—3&/LDA #$00:STA BUFª3,X¥30/EBRTS RTS³36ÿ!!65334 1Ê37ÿLNK "ASS PART 3",8