Home » Personal collection » Acorn tapes » Electron_User » Electron_User_tape21b_acorn_eu_1991_april.wav » MultLbl
MultLbl
This website contains an archive of files for the Acorn Electron, BBC Micro, Acorn Archimedes, Commodore 16 and Commodore 64 computers, which Dominic Ford has rescued from his private collection of floppy disks and cassettes.
Some of these files were originally commercial releases in the 1980s and 1990s, but they are now widely available online. I assume that copyright over them is no longer being asserted. If you own the copyright and would like files to be removed, please contact me.
Tape/disk: | Home » Personal collection » Acorn tapes » Electron_User » Electron_User_tape21b_acorn_eu_1991_april.wav |
Filename: | MultLbl |
Read OK: | ✔ |
File size: | 0CC4 bytes |
Load address: | FFFF1A00 |
Exec address: | FFFF8023 |
Duplicates
There are 3 duplicate copies of this file in the archive:
- AEW website » mu » mu_5_25_discs_Micro_User_09_02_D-MU09_02.ssd » MultLbl
- AEW website » mu » mu_Micro_User_09_02_MU9-2_B.uef » MultLbl
- Personal collection » Acorn tapes » Electron_User » Electron_User_tape21b_acorn_eu_1991_april.wav » MultLbl
- Personal collection » Acorn tapes » Electron_User » Electron_User_tape21a_acorn_eu_1991_april.wav » MultLbl
File contents
10REM Multiple Label Lister 20REM By Stephen Ramplin 30REM (c) The Micro User 40MODE135 50ONERROR MODE7:REPORT:PRINT" at line ";ERL:END 60top=&12:page=&18:himem=&06:space=&70:address=&72:number=&74:temp=&76 70oldval=&77:countA=&79:countB=&7B:addressA=&7D:addressB=&7F 80datatkn=&DC:remtkn=&F4:oswrch=&FFEE:osnewl=&FFE7:oscli=&FFF7 90PROCassembler 100PRINT'"Press Return to SAVE the machine code":REPEATUNTILGET=13 110$&700="SAVE LABEL 900 "+STR$~P%+" "+STR$~start:X%=0:Y%=7:CALLoscli 120PRINT"Press Return to test the code"':REPEATUNTILGET=13 130CALLstart:END 140DEFPROCassembler:FORpass%=0TO2STEP2:P%=&900:[OPTpass% 150.nextquote INY:LDA(address),Y:CMP#34:BNEnextquote:INY:JSRadd:BEQloop 160.newline INY:LDA(address),Y:CMP#13:BNEnewline:INY:.prelineend DEY 170.lineend INY:LDA(address),Y:BMIdone:STAnumber+1:INY:LDA(address),Y 180STAnumber:INY:INY:JSRadd:BEQloop:.done JMPdone2 190.start LDAtop:STAspace:LDAtop+1:STAspace+1:LDApage:STAaddress+1 200LDY#0:STYaddress:.loop LDA(address),Y:CMP#13:BEQlineend:CMP#34 210BEQnextquote:CMP#datatkn:BEQnewline:CMP#remtkn 220BEQnewline:CMP#ASC"\":BEQpassrem:CMP#ASC".":BEQcheckiflabel 230INY:JSRadd:BEQloop:.passrem INY:LDA(address),Y:CMP#13 240BEQprelineend:CMP#ASC":":BNEpassrem:INY:JSRadd 250BEQloop:.checkiflabel INY:LDA(address),Y:AND#&DF:CMP#ASC"A" 260BCCnot:CMP#ASC"Z"+1:BCCstore:.not JSRadd:BEQloop 270.store JSRadd:LDAaddress:STA(space),Y:INY:LDAaddress+1 280STA(space),Y:INY:LDAnumber:STA(space),Y:INY:LDAnumber+1:STA(space),Y 290LDA#4:CLC:ADCspace:STAspace:BCCnocD:INCspace+1 300.nocD LDAspace+1:CMPhimem+1:BCCloop:LDAspace:CMPhimem 310BCCloop:BRK:BRK:OPT FNequs("No Room"):BRK 320.done2 LDAtop:STAcountA:LDAtop+1:STAcountA+1 330.dloopA LDY#0:LDA(countA),Y:STAaddressA:INY:LDA(countA),Y 340STAaddressA+1:CLC:LDAcountA 350ADC#4:STAcountB:LDAcountA+1:ADC#0:STAcountB+1 360.dloopB LDY#0:LDA(countB),Y:STAaddressB:INY 370LDA(countB),Y:STAaddressB+1:DEY 380.dloopC LDA(addressA),Y:CMP(addressB),Y:BNEnotsame 390CMP#ASC" ":BEQsame:CMP#ASC":":BEQsame:CMP#&0D:BEQsame 400INY:BNEdloopC:.same STYtemp 410JSRprint:OPT FNequs("Multiple Definition of ."):BRK:LDY#0 420.lbloop LDA(addressA),Y:JSRoswrch:INY:CPYtemp:BNElbloop 430JSRprint:OPT FNequs(" at line "):BRK:LDY#2:LDA(countB),Y 440STAnumber:INY:LDA(countB),Y:STAnumber+1:JSRplnum 450JSRosnewl:.notsame CLC:LDAcountB 460ADC#4:STAcountB:BCCnocB:INCcountB+1:.nocB LDAcountB 470CMPspace:BNEdloopB:LDAcountB+1 480CMPspace+1:BNEdloopB:CLC:LDAcountA:ADC#4:STAcountA 490BCCnocC:INCcountA+1:.nocC 500SEC:LDAspace:SBC#4:CMPcountA:BEQoverA:JMPdloopA 510.overA LDAspace+1:SBC#0:CMPcountA+1:BEQoverB:JMPdloopA 520.overB RTS:.plnum LDA#0:STAtemp:LDY#4:.pnumlp LDX#ASC"0"-1 530.subloop INX:SEC:LDAnumber:STAoldval:SBCtable_lsb,Y:STAnumber 540LDAnumber+1:STAoldval+1:SBCtable_msb,Y:STAnumber+1:BPLsubloop 550LDAoldval:STAnumber:LDAoldval+1:STAnumber+1 560TXA:CMP#ASC"0":BNEpnum:LDAtemp:BEQpnum:TXA 570.pnum STAtemp:JSRoswrch:DEY:BPLpnumlp:RTS 580.table_lsb OPT FNdata("010A64E810"):.table_msb OPT FNdata("0000000327") 590.print PLA:STAaddress:PLA:STAaddress+1:.ploop 600LDY#1:JSRadd:LDA(address),Y:BEQpdone:JSRoswrch:JMPploop 610.pdone LDAaddress+1:PHA:LDAaddress:PHA:RTS 620.add TYA:CLC:ADCaddress:STAaddress:BCCnoc:INCaddress+1 630.noc LDY#0:RTS:.test:.test:] 640NEXTpass%:ENDPROC 650DEFFNequs(A$):$P%=A$:P%=P%+LENA$:=pass% 660DEFFNdata(data$):FORC%=1TOLENdata$ STEP2 670?P%=EVAL("&"+MID$(data$,C%,2)):P%=P%+1:NEXT 680=pass%
� Multiple Label Lister � By Stephen Ramplin � (c) The Micro User (�135 2� �7:�:�" at line ";�:� <Htop=&12:page=&18:himem=&06:space=&70:address=&72:number=&74:temp=&76 F>oldval=&77:countA=&79:countB=&7B:addressA=&7D:addressB=&7F P@datatkn=&DC:remtkn=&F4:oswrch=&FFEE:osnewl=&FFE7:oscli=&FFF7 Z�assembler d4�'"Press Return to SAVE the machine code":���=13 n=$&700="SAVE LABEL 900 "+�~P%+" "+�~start:X%=0:Y%=7:�oscli x,�"Press Return to test the code"':���=13 ��start:� �.��assembler:�pass%=0�2�2:P%=&900:[OPTpass% �H.nextquote INY:LDA(address),Y:CMP#34:BNEnextquote:INY:JSRadd:BEQloop �E.newline INY:LDA(address),Y:CMP#13:BNEnewline:INY:.prelineend DEY �F.lineend INY:LDA(address),Y:BMIdone:STAnumber+1:INY:LDA(address),Y �3STAnumber:INY:INY:JSRadd:BEQloop:.done JMPdone2 �C.start LDAtop:STAspace:LDAtop+1:STAspace+1:LDApage:STAaddress+1 �BLDY#0:STYaddress:.loop LDA(address),Y:CMP#13:BEQlineend:CMP#34 �2BEQnextquote:CMP#datatkn:BEQnewline:CMP#remtkn �;BEQnewline:CMP#�"\":BEQpassrem:CMP#�".":BEQcheckiflabel �9INY:JSRadd:BEQloop:.passrem INY:LDA(address),Y:CMP#13 �0BEQprelineend:CMP#�":":BNEpassrem:INY:JSRadd �;BEQloop:.checkiflabel INY:LDA(address),Y:�#&DF:CMP#�"A" 2BCCnot:CMP#�"Z"+1:BCCstore:.not JSRadd:BEQloop :.store JSRadd:LDAaddress:STA(space),Y:INY:LDAaddress+1 HSTA(space),Y:INY:LDAnumber:STA(space),Y:INY:LDAnumber+1:STA(space),Y "2LDA#4:CLC:ADCspace:STAspace:BCCnocD:INCspace+1 ,9.nocD LDAspace+1:CMPhimem+1:BCCloop:LDAspace:CMPhimem 6,BCCloop:BRK:BRK:OPT �equs("No Room"):BRK @0.done2 LDAtop:STAcountA:LDAtop+1:STAcountA+1 J=.dloopA LDY#0:LDA(countA),Y:STAaddressA:INY:LDA(countA),Y TSTAaddressA+1:CLC:LDAcountA ^1ADC#4:STAcountB:LDAcountA+1:ADC#0:STAcountB+1 h/.dloopB LDY#0:LDA(countB),Y:STAaddressB:INY r#LDA(countB),Y:STAaddressB+1:DEY |6.dloopC LDA(addressA),Y:CMP(addressB),Y:BNEnotsame �5CMP#�" ":BEQsame:CMP#�":":BEQsame:CMP#&0D:BEQsame �INY:BNEdloopC:.same STYtemp �<JSRprint:OPT �equs("Multiple Definition of ."):BRK:LDY#0 �;.lbloop LDA(addressA),Y:JSRoswrch:INY:CPYtemp:BNElbloop �;JSRprint:OPT �equs(" at line "):BRK:LDY#2:LDA(countB),Y �4STAnumber:INY:LDA(countB),Y:STAnumber+1:JSRplnum �$JSRosnewl:.notsame CLC:LDAcountB �7ADC#4:STAcountB:BCCnocB:INCcountB+1:.nocB LDAcountB �"CMPspace:BNEdloopB:LDAcountB+1 �6CMPspace+1:BNEdloopB:CLC:LDAcountA:ADC#4:STAcountA �BCCnocC:INCcountA+1:.nocC �3SEC:LDAspace:SBC#4:CMPcountA:BEQoverA:JMPdloopA �:.overA LDAspace+1:SBC#0:CMPcountA+1:BEQoverB:JMPdloopA <.overB RTS:.plnum LDA#0:STAtemp:LDY#4:.pnumlp LDX#�"0"-1 A.subloop INX:SEC:LDAnumber:STAoldval:SBCtable_lsb,Y:STAnumber ALDAnumber+1:STAoldval+1:SBCtable_msb,Y:STAnumber+1:BPLsubloop &/LDAoldval:STAnumber:LDAoldval+1:STAnumber+1 0,TXA:CMP#�"0":BNEpnum:LDAtemp:BEQpnum:TXA :-.pnum STAtemp:JSRoswrch:DEY:BPLpnumlp:RTS DI.table_lsb OPT �data("010A64E810"):.table_msb OPT �data("0000000327") N1.print PLA:STAaddress:PLA:STAaddress+1:.ploop X;LDY#1:JSRadd:LDA(address),Y:BEQpdone:JSRoswrch:JMPploop b..pdone LDAaddress+1:PHA:LDAaddress:PHA:RTS l:.add TYA:CLC:ADCaddress:STAaddress:BCCnoc:INCaddress+1 v .noc LDY#0:RTS:.test:.test:] ��pass%:� �&ݤequs(A$):$P%=A$:P%=P%+�A$:=pass% �!ݤdata(data$):�C%=1��data$ �2 �%?P%=�("&"+�data$,C%,2)):P%=P%+1:� � =pass% �
00000000 0d 00 0a 1b f4 20 4d 75 6c 74 69 70 6c 65 20 4c |..... Multiple L| 00000010 61 62 65 6c 20 4c 69 73 74 65 72 0d 00 14 18 f4 |abel Lister.....| 00000020 20 42 79 20 53 74 65 70 68 65 6e 20 52 61 6d 70 | By Stephen Ramp| 00000030 6c 69 6e 0d 00 1e 18 f4 20 28 63 29 20 54 68 65 |lin..... (c) The| 00000040 20 4d 69 63 72 6f 20 55 73 65 72 0d 00 28 08 eb | Micro User..(..| 00000050 31 33 35 0d 00 32 1c ee 85 20 eb 37 3a f6 3a f1 |135..2... .7:.:.| 00000060 22 20 61 74 20 6c 69 6e 65 20 22 3b 9e 3a e0 0d |" at line ";.:..| 00000070 00 3c 48 74 6f 70 3d 26 31 32 3a 70 61 67 65 3d |.<Htop=&12:page=| 00000080 26 31 38 3a 68 69 6d 65 6d 3d 26 30 36 3a 73 70 |&18:himem=&06:sp| 00000090 61 63 65 3d 26 37 30 3a 61 64 64 72 65 73 73 3d |ace=&70:address=| 000000a0 26 37 32 3a 6e 75 6d 62 65 72 3d 26 37 34 3a 74 |&72:number=&74:t| 000000b0 65 6d 70 3d 26 37 36 0d 00 46 3e 6f 6c 64 76 61 |emp=&76..F>oldva| 000000c0 6c 3d 26 37 37 3a 63 6f 75 6e 74 41 3d 26 37 39 |l=&77:countA=&79| 000000d0 3a 63 6f 75 6e 74 42 3d 26 37 42 3a 61 64 64 72 |:countB=&7B:addr| 000000e0 65 73 73 41 3d 26 37 44 3a 61 64 64 72 65 73 73 |essA=&7D:address| 000000f0 42 3d 26 37 46 0d 00 50 40 64 61 74 61 74 6b 6e |B=&7F..P@datatkn| 00000100 3d 26 44 43 3a 72 65 6d 74 6b 6e 3d 26 46 34 3a |=&DC:remtkn=&F4:| 00000110 6f 73 77 72 63 68 3d 26 46 46 45 45 3a 6f 73 6e |oswrch=&FFEE:osn| 00000120 65 77 6c 3d 26 46 46 45 37 3a 6f 73 63 6c 69 3d |ewl=&FFE7:oscli=| 00000130 26 46 46 46 37 0d 00 5a 0e f2 61 73 73 65 6d 62 |&FFF7..Z..assemb| 00000140 6c 65 72 0d 00 64 34 f1 27 22 50 72 65 73 73 20 |ler..d4.'"Press | 00000150 52 65 74 75 72 6e 20 74 6f 20 53 41 56 45 20 74 |Return to SAVE t| 00000160 68 65 20 6d 61 63 68 69 6e 65 20 63 6f 64 65 22 |he machine code"| 00000170 3a f5 fd a5 3d 31 33 0d 00 6e 3d 24 26 37 30 30 |:...=13..n=$&700| 00000180 3d 22 53 41 56 45 20 4c 41 42 45 4c 20 39 30 30 |="SAVE LABEL 900| 00000190 20 22 2b c3 7e 50 25 2b 22 20 22 2b c3 7e 73 74 | "+.~P%+" "+.~st| 000001a0 61 72 74 3a 58 25 3d 30 3a 59 25 3d 37 3a d6 6f |art:X%=0:Y%=7:.o| 000001b0 73 63 6c 69 0d 00 78 2c f1 22 50 72 65 73 73 20 |scli..x,."Press | 000001c0 52 65 74 75 72 6e 20 74 6f 20 74 65 73 74 20 74 |Return to test t| 000001d0 68 65 20 63 6f 64 65 22 27 3a f5 fd a5 3d 31 33 |he code"':...=13| 000001e0 0d 00 82 0c d6 73 74 61 72 74 3a e0 0d 00 8c 2e |.....start:.....| 000001f0 dd f2 61 73 73 65 6d 62 6c 65 72 3a e3 70 61 73 |..assembler:.pas| 00000200 73 25 3d 30 b8 32 88 32 3a 50 25 3d 26 39 30 30 |s%=0.2.2:P%=&900| 00000210 3a 5b 4f 50 54 70 61 73 73 25 0d 00 96 48 2e 6e |:[OPTpass%...H.n| 00000220 65 78 74 71 75 6f 74 65 20 49 4e 59 3a 4c 44 41 |extquote INY:LDA| 00000230 28 61 64 64 72 65 73 73 29 2c 59 3a 43 4d 50 23 |(address),Y:CMP#| 00000240 33 34 3a 42 4e 45 6e 65 78 74 71 75 6f 74 65 3a |34:BNEnextquote:| 00000250 49 4e 59 3a 4a 53 52 61 64 64 3a 42 45 51 6c 6f |INY:JSRadd:BEQlo| 00000260 6f 70 0d 00 a0 45 2e 6e 65 77 6c 69 6e 65 20 49 |op...E.newline I| 00000270 4e 59 3a 4c 44 41 28 61 64 64 72 65 73 73 29 2c |NY:LDA(address),| 00000280 59 3a 43 4d 50 23 31 33 3a 42 4e 45 6e 65 77 6c |Y:CMP#13:BNEnewl| 00000290 69 6e 65 3a 49 4e 59 3a 2e 70 72 65 6c 69 6e 65 |ine:INY:.preline| 000002a0 65 6e 64 20 44 45 59 0d 00 aa 46 2e 6c 69 6e 65 |end DEY...F.line| 000002b0 65 6e 64 20 49 4e 59 3a 4c 44 41 28 61 64 64 72 |end INY:LDA(addr| 000002c0 65 73 73 29 2c 59 3a 42 4d 49 64 6f 6e 65 3a 53 |ess),Y:BMIdone:S| 000002d0 54 41 6e 75 6d 62 65 72 2b 31 3a 49 4e 59 3a 4c |TAnumber+1:INY:L| 000002e0 44 41 28 61 64 64 72 65 73 73 29 2c 59 0d 00 b4 |DA(address),Y...| 000002f0 33 53 54 41 6e 75 6d 62 65 72 3a 49 4e 59 3a 49 |3STAnumber:INY:I| 00000300 4e 59 3a 4a 53 52 61 64 64 3a 42 45 51 6c 6f 6f |NY:JSRadd:BEQloo| 00000310 70 3a 2e 64 6f 6e 65 20 4a 4d 50 64 6f 6e 65 32 |p:.done JMPdone2| 00000320 0d 00 be 43 2e 73 74 61 72 74 20 4c 44 41 74 6f |...C.start LDAto| 00000330 70 3a 53 54 41 73 70 61 63 65 3a 4c 44 41 74 6f |p:STAspace:LDAto| 00000340 70 2b 31 3a 53 54 41 73 70 61 63 65 2b 31 3a 4c |p+1:STAspace+1:L| 00000350 44 41 70 61 67 65 3a 53 54 41 61 64 64 72 65 73 |DApage:STAaddres| 00000360 73 2b 31 0d 00 c8 42 4c 44 59 23 30 3a 53 54 59 |s+1...BLDY#0:STY| 00000370 61 64 64 72 65 73 73 3a 2e 6c 6f 6f 70 20 4c 44 |address:.loop LD| 00000380 41 28 61 64 64 72 65 73 73 29 2c 59 3a 43 4d 50 |A(address),Y:CMP| 00000390 23 31 33 3a 42 45 51 6c 69 6e 65 65 6e 64 3a 43 |#13:BEQlineend:C| 000003a0 4d 50 23 33 34 0d 00 d2 32 42 45 51 6e 65 78 74 |MP#34...2BEQnext| 000003b0 71 75 6f 74 65 3a 43 4d 50 23 64 61 74 61 74 6b |quote:CMP#datatk| 000003c0 6e 3a 42 45 51 6e 65 77 6c 69 6e 65 3a 43 4d 50 |n:BEQnewline:CMP| 000003d0 23 72 65 6d 74 6b 6e 0d 00 dc 3b 42 45 51 6e 65 |#remtkn...;BEQne| 000003e0 77 6c 69 6e 65 3a 43 4d 50 23 97 22 5c 22 3a 42 |wline:CMP#."\":B| 000003f0 45 51 70 61 73 73 72 65 6d 3a 43 4d 50 23 97 22 |EQpassrem:CMP#."| 00000400 2e 22 3a 42 45 51 63 68 65 63 6b 69 66 6c 61 62 |.":BEQcheckiflab| 00000410 65 6c 0d 00 e6 39 49 4e 59 3a 4a 53 52 61 64 64 |el...9INY:JSRadd| 00000420 3a 42 45 51 6c 6f 6f 70 3a 2e 70 61 73 73 72 65 |:BEQloop:.passre| 00000430 6d 20 49 4e 59 3a 4c 44 41 28 61 64 64 72 65 73 |m INY:LDA(addres| 00000440 73 29 2c 59 3a 43 4d 50 23 31 33 0d 00 f0 30 42 |s),Y:CMP#13...0B| 00000450 45 51 70 72 65 6c 69 6e 65 65 6e 64 3a 43 4d 50 |EQprelineend:CMP| 00000460 23 97 22 3a 22 3a 42 4e 45 70 61 73 73 72 65 6d |#.":":BNEpassrem| 00000470 3a 49 4e 59 3a 4a 53 52 61 64 64 0d 00 fa 3b 42 |:INY:JSRadd...;B| 00000480 45 51 6c 6f 6f 70 3a 2e 63 68 65 63 6b 69 66 6c |EQloop:.checkifl| 00000490 61 62 65 6c 20 49 4e 59 3a 4c 44 41 28 61 64 64 |abel INY:LDA(add| 000004a0 72 65 73 73 29 2c 59 3a 80 23 26 44 46 3a 43 4d |ress),Y:.#&DF:CM| 000004b0 50 23 97 22 41 22 0d 01 04 32 42 43 43 6e 6f 74 |P#."A"...2BCCnot| 000004c0 3a 43 4d 50 23 97 22 5a 22 2b 31 3a 42 43 43 73 |:CMP#."Z"+1:BCCs| 000004d0 74 6f 72 65 3a 2e 6e 6f 74 20 4a 53 52 61 64 64 |tore:.not JSRadd| 000004e0 3a 42 45 51 6c 6f 6f 70 0d 01 0e 3a 2e 73 74 6f |:BEQloop...:.sto| 000004f0 72 65 20 4a 53 52 61 64 64 3a 4c 44 41 61 64 64 |re JSRadd:LDAadd| 00000500 72 65 73 73 3a 53 54 41 28 73 70 61 63 65 29 2c |ress:STA(space),| 00000510 59 3a 49 4e 59 3a 4c 44 41 61 64 64 72 65 73 73 |Y:INY:LDAaddress| 00000520 2b 31 0d 01 18 48 53 54 41 28 73 70 61 63 65 29 |+1...HSTA(space)| 00000530 2c 59 3a 49 4e 59 3a 4c 44 41 6e 75 6d 62 65 72 |,Y:INY:LDAnumber| 00000540 3a 53 54 41 28 73 70 61 63 65 29 2c 59 3a 49 4e |:STA(space),Y:IN| 00000550 59 3a 4c 44 41 6e 75 6d 62 65 72 2b 31 3a 53 54 |Y:LDAnumber+1:ST| 00000560 41 28 73 70 61 63 65 29 2c 59 0d 01 22 32 4c 44 |A(space),Y.."2LD| 00000570 41 23 34 3a 43 4c 43 3a 41 44 43 73 70 61 63 65 |A#4:CLC:ADCspace| 00000580 3a 53 54 41 73 70 61 63 65 3a 42 43 43 6e 6f 63 |:STAspace:BCCnoc| 00000590 44 3a 49 4e 43 73 70 61 63 65 2b 31 0d 01 2c 39 |D:INCspace+1..,9| 000005a0 2e 6e 6f 63 44 20 4c 44 41 73 70 61 63 65 2b 31 |.nocD LDAspace+1| 000005b0 3a 43 4d 50 68 69 6d 65 6d 2b 31 3a 42 43 43 6c |:CMPhimem+1:BCCl| 000005c0 6f 6f 70 3a 4c 44 41 73 70 61 63 65 3a 43 4d 50 |oop:LDAspace:CMP| 000005d0 68 69 6d 65 6d 0d 01 36 2c 42 43 43 6c 6f 6f 70 |himem..6,BCCloop| 000005e0 3a 42 52 4b 3a 42 52 4b 3a 4f 50 54 20 a4 65 71 |:BRK:BRK:OPT .eq| 000005f0 75 73 28 22 4e 6f 20 52 6f 6f 6d 22 29 3a 42 52 |us("No Room"):BR| 00000600 4b 0d 01 40 30 2e 64 6f 6e 65 32 20 4c 44 41 74 |K..@0.done2 LDAt| 00000610 6f 70 3a 53 54 41 63 6f 75 6e 74 41 3a 4c 44 41 |op:STAcountA:LDA| 00000620 74 6f 70 2b 31 3a 53 54 41 63 6f 75 6e 74 41 2b |top+1:STAcountA+| 00000630 31 0d 01 4a 3d 2e 64 6c 6f 6f 70 41 20 4c 44 59 |1..J=.dloopA LDY| 00000640 23 30 3a 4c 44 41 28 63 6f 75 6e 74 41 29 2c 59 |#0:LDA(countA),Y| 00000650 3a 53 54 41 61 64 64 72 65 73 73 41 3a 49 4e 59 |:STAaddressA:INY| 00000660 3a 4c 44 41 28 63 6f 75 6e 74 41 29 2c 59 0d 01 |:LDA(countA),Y..| 00000670 54 1f 53 54 41 61 64 64 72 65 73 73 41 2b 31 3a |T.STAaddressA+1:| 00000680 43 4c 43 3a 4c 44 41 63 6f 75 6e 74 41 0d 01 5e |CLC:LDAcountA..^| 00000690 31 41 44 43 23 34 3a 53 54 41 63 6f 75 6e 74 42 |1ADC#4:STAcountB| 000006a0 3a 4c 44 41 63 6f 75 6e 74 41 2b 31 3a 41 44 43 |:LDAcountA+1:ADC| 000006b0 23 30 3a 53 54 41 63 6f 75 6e 74 42 2b 31 0d 01 |#0:STAcountB+1..| 000006c0 68 2f 2e 64 6c 6f 6f 70 42 20 4c 44 59 23 30 3a |h/.dloopB LDY#0:| 000006d0 4c 44 41 28 63 6f 75 6e 74 42 29 2c 59 3a 53 54 |LDA(countB),Y:ST| 000006e0 41 61 64 64 72 65 73 73 42 3a 49 4e 59 0d 01 72 |AaddressB:INY..r| 000006f0 23 4c 44 41 28 63 6f 75 6e 74 42 29 2c 59 3a 53 |#LDA(countB),Y:S| 00000700 54 41 61 64 64 72 65 73 73 42 2b 31 3a 44 45 59 |TAaddressB+1:DEY| 00000710 0d 01 7c 36 2e 64 6c 6f 6f 70 43 20 4c 44 41 28 |..|6.dloopC LDA(| 00000720 61 64 64 72 65 73 73 41 29 2c 59 3a 43 4d 50 28 |addressA),Y:CMP(| 00000730 61 64 64 72 65 73 73 42 29 2c 59 3a 42 4e 45 6e |addressB),Y:BNEn| 00000740 6f 74 73 61 6d 65 0d 01 86 35 43 4d 50 23 97 22 |otsame...5CMP#."| 00000750 20 22 3a 42 45 51 73 61 6d 65 3a 43 4d 50 23 97 | ":BEQsame:CMP#.| 00000760 22 3a 22 3a 42 45 51 73 61 6d 65 3a 43 4d 50 23 |":":BEQsame:CMP#| 00000770 26 30 44 3a 42 45 51 73 61 6d 65 0d 01 90 1f 49 |&0D:BEQsame....I| 00000780 4e 59 3a 42 4e 45 64 6c 6f 6f 70 43 3a 2e 73 61 |NY:BNEdloopC:.sa| 00000790 6d 65 20 53 54 59 74 65 6d 70 0d 01 9a 3c 4a 53 |me STYtemp...<JS| 000007a0 52 70 72 69 6e 74 3a 4f 50 54 20 a4 65 71 75 73 |Rprint:OPT .equs| 000007b0 28 22 4d 75 6c 74 69 70 6c 65 20 44 65 66 69 6e |("Multiple Defin| 000007c0 69 74 69 6f 6e 20 6f 66 20 2e 22 29 3a 42 52 4b |ition of ."):BRK| 000007d0 3a 4c 44 59 23 30 0d 01 a4 3b 2e 6c 62 6c 6f 6f |:LDY#0...;.lbloo| 000007e0 70 20 4c 44 41 28 61 64 64 72 65 73 73 41 29 2c |p LDA(addressA),| 000007f0 59 3a 4a 53 52 6f 73 77 72 63 68 3a 49 4e 59 3a |Y:JSRoswrch:INY:| 00000800 43 50 59 74 65 6d 70 3a 42 4e 45 6c 62 6c 6f 6f |CPYtemp:BNElbloo| 00000810 70 0d 01 ae 3b 4a 53 52 70 72 69 6e 74 3a 4f 50 |p...;JSRprint:OP| 00000820 54 20 a4 65 71 75 73 28 22 20 61 74 20 6c 69 6e |T .equs(" at lin| 00000830 65 20 22 29 3a 42 52 4b 3a 4c 44 59 23 32 3a 4c |e "):BRK:LDY#2:L| 00000840 44 41 28 63 6f 75 6e 74 42 29 2c 59 0d 01 b8 34 |DA(countB),Y...4| 00000850 53 54 41 6e 75 6d 62 65 72 3a 49 4e 59 3a 4c 44 |STAnumber:INY:LD| 00000860 41 28 63 6f 75 6e 74 42 29 2c 59 3a 53 54 41 6e |A(countB),Y:STAn| 00000870 75 6d 62 65 72 2b 31 3a 4a 53 52 70 6c 6e 75 6d |umber+1:JSRplnum| 00000880 0d 01 c2 24 4a 53 52 6f 73 6e 65 77 6c 3a 2e 6e |...$JSRosnewl:.n| 00000890 6f 74 73 61 6d 65 20 43 4c 43 3a 4c 44 41 63 6f |otsame CLC:LDAco| 000008a0 75 6e 74 42 0d 01 cc 37 41 44 43 23 34 3a 53 54 |untB...7ADC#4:ST| 000008b0 41 63 6f 75 6e 74 42 3a 42 43 43 6e 6f 63 42 3a |AcountB:BCCnocB:| 000008c0 49 4e 43 63 6f 75 6e 74 42 2b 31 3a 2e 6e 6f 63 |INCcountB+1:.noc| 000008d0 42 20 4c 44 41 63 6f 75 6e 74 42 0d 01 d6 22 43 |B LDAcountB..."C| 000008e0 4d 50 73 70 61 63 65 3a 42 4e 45 64 6c 6f 6f 70 |MPspace:BNEdloop| 000008f0 42 3a 4c 44 41 63 6f 75 6e 74 42 2b 31 0d 01 e0 |B:LDAcountB+1...| 00000900 36 43 4d 50 73 70 61 63 65 2b 31 3a 42 4e 45 64 |6CMPspace+1:BNEd| 00000910 6c 6f 6f 70 42 3a 43 4c 43 3a 4c 44 41 63 6f 75 |loopB:CLC:LDAcou| 00000920 6e 74 41 3a 41 44 43 23 34 3a 53 54 41 63 6f 75 |ntA:ADC#4:STAcou| 00000930 6e 74 41 0d 01 ea 1d 42 43 43 6e 6f 63 43 3a 49 |ntA....BCCnocC:I| 00000940 4e 43 63 6f 75 6e 74 41 2b 31 3a 2e 6e 6f 63 43 |NCcountA+1:.nocC| 00000950 0d 01 f4 33 53 45 43 3a 4c 44 41 73 70 61 63 65 |...3SEC:LDAspace| 00000960 3a 53 42 43 23 34 3a 43 4d 50 63 6f 75 6e 74 41 |:SBC#4:CMPcountA| 00000970 3a 42 45 51 6f 76 65 72 41 3a 4a 4d 50 64 6c 6f |:BEQoverA:JMPdlo| 00000980 6f 70 41 0d 01 fe 3a 2e 6f 76 65 72 41 20 4c 44 |opA...:.overA LD| 00000990 41 73 70 61 63 65 2b 31 3a 53 42 43 23 30 3a 43 |Aspace+1:SBC#0:C| 000009a0 4d 50 63 6f 75 6e 74 41 2b 31 3a 42 45 51 6f 76 |MPcountA+1:BEQov| 000009b0 65 72 42 3a 4a 4d 50 64 6c 6f 6f 70 41 0d 02 08 |erB:JMPdloopA...| 000009c0 3c 2e 6f 76 65 72 42 20 52 54 53 3a 2e 70 6c 6e |<.overB RTS:.pln| 000009d0 75 6d 20 4c 44 41 23 30 3a 53 54 41 74 65 6d 70 |um LDA#0:STAtemp| 000009e0 3a 4c 44 59 23 34 3a 2e 70 6e 75 6d 6c 70 20 4c |:LDY#4:.pnumlp L| 000009f0 44 58 23 97 22 30 22 2d 31 0d 02 12 41 2e 73 75 |DX#."0"-1...A.su| 00000a00 62 6c 6f 6f 70 20 49 4e 58 3a 53 45 43 3a 4c 44 |bloop INX:SEC:LD| 00000a10 41 6e 75 6d 62 65 72 3a 53 54 41 6f 6c 64 76 61 |Anumber:STAoldva| 00000a20 6c 3a 53 42 43 74 61 62 6c 65 5f 6c 73 62 2c 59 |l:SBCtable_lsb,Y| 00000a30 3a 53 54 41 6e 75 6d 62 65 72 0d 02 1c 41 4c 44 |:STAnumber...ALD| 00000a40 41 6e 75 6d 62 65 72 2b 31 3a 53 54 41 6f 6c 64 |Anumber+1:STAold| 00000a50 76 61 6c 2b 31 3a 53 42 43 74 61 62 6c 65 5f 6d |val+1:SBCtable_m| 00000a60 73 62 2c 59 3a 53 54 41 6e 75 6d 62 65 72 2b 31 |sb,Y:STAnumber+1| 00000a70 3a 42 50 4c 73 75 62 6c 6f 6f 70 0d 02 26 2f 4c |:BPLsubloop..&/L| 00000a80 44 41 6f 6c 64 76 61 6c 3a 53 54 41 6e 75 6d 62 |DAoldval:STAnumb| 00000a90 65 72 3a 4c 44 41 6f 6c 64 76 61 6c 2b 31 3a 53 |er:LDAoldval+1:S| 00000aa0 54 41 6e 75 6d 62 65 72 2b 31 0d 02 30 2c 54 58 |TAnumber+1..0,TX| 00000ab0 41 3a 43 4d 50 23 97 22 30 22 3a 42 4e 45 70 6e |A:CMP#."0":BNEpn| 00000ac0 75 6d 3a 4c 44 41 74 65 6d 70 3a 42 45 51 70 6e |um:LDAtemp:BEQpn| 00000ad0 75 6d 3a 54 58 41 0d 02 3a 2d 2e 70 6e 75 6d 20 |um:TXA..:-.pnum | 00000ae0 53 54 41 74 65 6d 70 3a 4a 53 52 6f 73 77 72 63 |STAtemp:JSRoswrc| 00000af0 68 3a 44 45 59 3a 42 50 4c 70 6e 75 6d 6c 70 3a |h:DEY:BPLpnumlp:| 00000b00 52 54 53 0d 02 44 49 2e 74 61 62 6c 65 5f 6c 73 |RTS..DI.table_ls| 00000b10 62 20 4f 50 54 20 a4 64 61 74 61 28 22 30 31 30 |b OPT .data("010| 00000b20 41 36 34 45 38 31 30 22 29 3a 2e 74 61 62 6c 65 |A64E810"):.table| 00000b30 5f 6d 73 62 20 4f 50 54 20 a4 64 61 74 61 28 22 |_msb OPT .data("| 00000b40 30 30 30 30 30 30 30 33 32 37 22 29 0d 02 4e 31 |0000000327")..N1| 00000b50 2e 70 72 69 6e 74 20 50 4c 41 3a 53 54 41 61 64 |.print PLA:STAad| 00000b60 64 72 65 73 73 3a 50 4c 41 3a 53 54 41 61 64 64 |dress:PLA:STAadd| 00000b70 72 65 73 73 2b 31 3a 2e 70 6c 6f 6f 70 0d 02 58 |ress+1:.ploop..X| 00000b80 3b 4c 44 59 23 31 3a 4a 53 52 61 64 64 3a 4c 44 |;LDY#1:JSRadd:LD| 00000b90 41 28 61 64 64 72 65 73 73 29 2c 59 3a 42 45 51 |A(address),Y:BEQ| 00000ba0 70 64 6f 6e 65 3a 4a 53 52 6f 73 77 72 63 68 3a |pdone:JSRoswrch:| 00000bb0 4a 4d 50 70 6c 6f 6f 70 0d 02 62 2e 2e 70 64 6f |JMPploop..b..pdo| 00000bc0 6e 65 20 4c 44 41 61 64 64 72 65 73 73 2b 31 3a |ne LDAaddress+1:| 00000bd0 50 48 41 3a 4c 44 41 61 64 64 72 65 73 73 3a 50 |PHA:LDAaddress:P| 00000be0 48 41 3a 52 54 53 0d 02 6c 3a 2e 61 64 64 20 54 |HA:RTS..l:.add T| 00000bf0 59 41 3a 43 4c 43 3a 41 44 43 61 64 64 72 65 73 |YA:CLC:ADCaddres| 00000c00 73 3a 53 54 41 61 64 64 72 65 73 73 3a 42 43 43 |s:STAaddress:BCC| 00000c10 6e 6f 63 3a 49 4e 43 61 64 64 72 65 73 73 2b 31 |noc:INCaddress+1| 00000c20 0d 02 76 20 2e 6e 6f 63 20 4c 44 59 23 30 3a 52 |..v .noc LDY#0:R| 00000c30 54 53 3a 2e 74 65 73 74 3a 2e 74 65 73 74 3a 5d |TS:.test:.test:]| 00000c40 0d 02 80 0c ed 70 61 73 73 25 3a e1 0d 02 8a 26 |.....pass%:....&| 00000c50 dd a4 65 71 75 73 28 41 24 29 3a 24 50 25 3d 41 |..equs(A$):$P%=A| 00000c60 24 3a 50 25 3d 50 25 2b a9 41 24 3a 3d 70 61 73 |$:P%=P%+.A$:=pas| 00000c70 73 25 0d 02 94 21 dd a4 64 61 74 61 28 64 61 74 |s%...!..data(dat| 00000c80 61 24 29 3a e3 43 25 3d 31 b8 a9 64 61 74 61 24 |a$):.C%=1..data$| 00000c90 20 88 32 0d 02 9e 25 3f 50 25 3d a0 28 22 26 22 | .2...%?P%=.("&"| 00000ca0 2b c1 64 61 74 61 24 2c 43 25 2c 32 29 29 3a 50 |+.data$,C%,2)):P| 00000cb0 25 3d 50 25 2b 31 3a ed 0d 02 a8 0a 3d 70 61 73 |%=P%+1:.....=pas| 00000cc0 73 25 0d ff |s%..| 00000cc4