LABELER.SRC
FILE INFORMATION
FILENAME(S): LABELER.SRC
FILE TYPE(S): PRG
FILE SIZE: 3.7K
FIRST SEEN: 2025-11-30 21:12:52
APPEARS ON: 1 disk(s)
FILE HASH
1ac4b488a35e170e5d840df4e4281663fe910830bacdb3487170b982975c77c5
FOUND ON DISKS (1 DISKS)
| DISK TITLE | FILENAME | FILE TYPE | COLLECTION | TRACK | SECTOR | ACTIONS |
|---|---|---|---|---|---|---|
| TRANSACTOR 4 | LABELER.SRC | PRG | DuncanTwain | 24 | 0 | DOWNLOAD FILE |
FILE CONTENT & ANALYSIS
00000000: 01 04 30 04 00 00 8F 20 54 48 45 20 54 52 41 4E |..0.... THE TRAN| 00000010: 53 41 43 54 4F 52 20 56 4F 4C 55 4D 45 20 34 20 |SACTOR VOLUME 4 | 00000020: 49 53 53 55 45 20 30 33 20 50 41 47 45 20 35 37 |ISSUE 03 PAGE 57| 00000030: 00 60 04 64 00 AC B2 20 20 20 24 30 33 33 43 20 |.`.d... $033C | 00000040: 20 20 20 20 20 3B 22 44 55 4D 4D 59 2C 20 44 4F | ;"DUMMY, DO| 00000050: 20 4E 4F 54 20 41 53 53 4D 42 4C 20 48 45 52 45 | NOT ASSMBL HERE| 00000060: 00 66 04 6E 00 3B 00 9C 04 78 00 4C 44 41 20 20 |.f.n.;...x.LDA | 00000070: 23 24 34 43 20 20 20 20 20 20 20 3B 22 53 59 53 |#$4C ;"SYS| 00000080: 20 48 45 52 45 20 54 4F 20 4C 49 4E 4B 20 28 C1 | HERE TO LINK (.| 00000090: C4 20 49 4E 20 4C 4F 41 44 45 52 29 00 AB 04 82 |. IN LOADER)....| 000000A0: 00 53 54 41 20 20 24 30 30 37 33 00 BA 04 8C 00 |.STA $0073.....| 000000B0: 4C 44 41 20 20 24 30 30 33 37 00 C2 04 96 00 43 |LDA $0037.....C| 000000C0: 4C 43 00 CF 04 A0 00 41 44 43 20 20 23 32 31 00 |LC.....ADC #21.| 000000D0: DE 04 AA 00 53 54 41 20 20 24 30 30 37 34 00 ED |....STA $0074..| 000000E0: 04 B4 00 4C 44 41 20 20 24 30 30 33 38 00 FA 04 |...LDA $0038...| 000000F0: BE 00 41 44 43 20 20 23 30 30 00 09 05 C8 00 53 |..ADC #00.....S| 00000100: 54 41 20 20 24 30 30 37 35 00 11 05 D2 00 52 54 |TA $0075.....RT| 00000110: 53 00 4E 05 DC 00 55 4E 96 44 20 20 20 4A 4D 50 |S.N...UN.D JMP| 00000120: 20 20 24 41 38 45 33 20 20 20 20 20 20 3B 22 55 | $A8E3 ;"U| 00000130: 4E 44 45 46 27 44 20 53 54 41 54 45 4D 45 4E 54 |NDEF'D STATEMENT| 00000140: 20 45 52 52 4F 52 20 28 24 43 38 45 33 29 00 80 | ERROR ($C8E3)..| 00000150: 05 E6 00 45 4E 54 52 59 20 20 20 20 49 4E 43 20 |...ENTRY INC | 00000160: 20 24 37 41 20 20 20 20 20 20 20 20 3B 22 50 45 | $7A ;"PE| 00000170: 52 46 4F 52 4D 20 D4 D8 D4 D0 D4 D2 20 49 4E 43 |RFORM ...... INC| 00000180: 00 A1 05 F0 00 42 4E 45 20 20 4E 4F 48 49 4E 43 |.....BNE NOHINC| 00000190: 20 20 20 20 20 3B 22 46 4F 52 20 C3 C8 D2 C7 C5 | ;"FOR .....| 000001A0: D4 00 AE 05 FA 00 49 4E 43 20 20 24 37 42 00 B4 |......INC $7B..| 000001B0: 05 04 01 3B 00 DB 05 0E 01 4E 4F 48 49 4E 43 20 |...;.....NOHINC | 000001C0: 20 20 54 58 41 20 20 20 20 20 20 20 20 20 20 20 | TXA | 000001D0: 20 20 3B 22 53 41 56 45 20 2E D8 00 FA 05 18 01 | ;"SAVE .......| 000001E0: 50 48 41 20 20 20 20 20 20 20 20 20 20 20 20 20 |PHA | 000001F0: 3B 22 4F 4E 20 53 54 41 43 4B 00 24 06 22 01 4C |;"ON STACK.$.".L| 00000200: 44 58 20 20 23 24 46 46 20 20 20 20 20 20 20 3B |DX #$FF ;| 00000210: 22 54 45 53 54 20 49 4D 4D 45 44 49 41 54 45 20 |"TEST IMMEDIATE | 00000220: 4D 4F 44 45 00 31 06 2C 01 43 50 58 20 20 24 33 |MODE.1.,.CPX $3| 00000230: 41 00 53 06 36 01 42 45 51 20 20 45 58 49 54 20 |A.S.6.BEQ EXIT | 00000240: 20 20 20 20 20 20 3B 22 49 46 20 53 4F 2C 20 45 | ;"IF SO, E| 00000250: 58 49 54 00 79 06 40 01 4C 44 41 20 20 28 24 37 |XIT.y.@.LDA ($7| 00000260: 42 2C 58 29 20 20 20 20 3B 22 4E 4F 2C 20 43 48 |B,X) ;"NO, CH| 00000270: 45 43 4B 20 46 4F 52 20 26 00 87 06 4A 01 43 4D |ECK FOR &...J.CM| 00000280: 50 20 20 23 24 32 36 00 AC 06 54 01 42 45 51 20 |P #$26...T.BEQ | 00000290: 20 43 48 4B 4C 41 42 20 20 20 20 20 3B 22 46 4F | CHKLAB ;"FO| 000002A0: 55 4E 44 2C 20 47 4F 20 54 45 53 54 00 B2 06 5E |UND, GO TEST...^| 000002B0: 01 3B 00 E0 06 68 01 45 58 49 54 20 20 20 20 20 |.;...h.EXIT | 000002C0: 50 4C 41 20 20 20 20 20 20 20 20 20 20 20 20 20 |PLA | 000002D0: 3B 22 4E 4F 2C 20 52 45 53 54 4F 52 45 20 2E D8 |;"NO, RESTORE ..| 000002E0: 00 E8 06 72 01 54 41 58 00 0E 07 7C 01 4A 4D 50 |...r.TAX...|.JMP| 000002F0: 20 20 24 30 30 37 39 20 20 20 20 20 20 3B 22 52 | $0079 ;"R| 00000300: 45 54 55 52 4E 20 54 4F 20 42 41 53 49 43 00 14 |ETURN TO BASIC..| 00000310: 07 86 01 3B 00 3E 07 90 01 43 48 4B 4C 41 42 20 |...;.>...CHKLAB | 00000320: 20 20 50 4C 41 20 20 20 20 20 20 20 20 20 20 20 | PLA | 00000330: 20 20 3B 22 52 45 53 54 4F 52 45 20 2E D8 00 46 | ;"RESTORE ...F| 00000340: 07 9A 01 54 41 58 00 78 07 A4 01 50 4C 41 20 20 |...TAX.x...PLA | 00000350: 20 20 20 20 20 20 20 20 20 20 20 3B 22 50 55 4C | ;"PUL| 00000360: 4C 20 4C 4F 20 42 59 54 20 4F 46 20 43 41 4C 4C |L LO BYT OF CALL| 00000370: 49 4E 47 20 41 44 44 52 00 A3 07 AE 01 43 4D 50 |ING ADDR.....CMP| 00000380: 20 20 23 24 44 44 20 20 20 20 20 20 20 3B 22 C3 | #$DD ;".| 00000390: 36 34 20 CC 49 4E 4B 20 53 43 41 4E 20 28 23 24 |64 .INK SCAN (#$| 000003A0: 38 33 29 00 C3 07 B8 01 42 4E 45 20 20 43 48 4B |83).....BNE CHK| 000003B0: 54 48 4E 20 20 20 20 20 3B 22 4E 4F 2C 20 47 4F |THN ;"NO, GO| 000003C0: 20 4F 4E 00 E5 07 C2 01 50 48 41 20 20 20 20 20 | ON.....PHA | 000003D0: 20 20 20 20 20 20 20 20 3B 22 59 45 53 2C 20 49 | ;"YES, I| 000003E0: 47 4E 4F 52 45 00 F4 07 CC 01 4A 4D 50 20 20 24 |GNORE.....JMP $| 000003F0: 30 30 37 39 00 21 08 D6 01 43 48 4B 54 48 4E 20 |0079.!...CHKTHN | 00000400: 20 20 43 4D 50 20 20 23 24 33 36 20 20 20 20 20 | CMP #$36 | 00000410: 20 20 3B 22 42 41 53 49 43 20 27 54 48 45 4E 27 | ;"BASIC 'THEN'| 00000420: 3F 00 49 08 E0 01 42 45 51 20 20 43 48 4B 43 91 |?.I...BEQ CHKC.| 00000430: 44 20 20 20 20 3B 22 59 45 53 2C 20 43 48 4B 20 |D ;"YES, CHK | 00000440: 43 4F 4E 44 49 54 49 4F 4E 00 76 08 EA 01 43 4D |CONDITION.v...CM| 00000450: 50 20 20 23 24 44 32 20 20 20 20 20 20 20 3B 22 |P #$D2 ;"| 00000460: 36 34 2D CC 49 4E 4B 20 27 54 48 45 4E 27 3F 20 |64-.INK 'THEN'? | 00000470: 28 23 24 45 44 29 00 86 08 F4 01 42 45 51 20 20 |(#$ED).....BEQ | 00000480: 43 48 4B 43 91 44 00 A2 08 FE 01 43 4D 50 20 20 |CHKC.D.....CMP | 00000490: 23 24 39 46 20 20 20 20 20 20 20 3B 22 47 4F 54 |#$9F ;"GOT| 000004A0: 4F 3F 00 CE 08 08 02 42 45 51 20 20 45 4E 54 52 |O?.....BEQ ENTR| 000004B0: 31 20 20 20 20 20 20 3B 22 59 45 53 2C 20 47 4F |1 ;"YES, GO| 000004C0: 20 46 49 4E 44 20 54 52 41 4E 53 46 45 52 00 EB | FIND TRANSFER..| 000004D0: 08 12 02 43 4D 50 20 20 23 24 38 32 20 20 20 20 |...CMP #$82 | 000004E0: 20 20 20 3B 22 47 4F 53 55 42 3F 00 0E 09 1C 02 | ;"GOSUB?.....| 000004F0: 42 45 51 20 20 45 4E 54 52 30 20 20 20 20 20 20 |BEQ ENTR0 | 00000500: 3B 22 59 45 53 2C 20 47 4F 20 46 49 4E 44 00 3D |;"YES, GO FIND.=| 00000510: 09 26 02 50 48 41 20 20 20 20 20 20 20 20 20 20 |.&.PHA | 00000520: 20 20 20 3B 22 4C 4F 20 42 59 54 45 20 54 4F 20 | ;"LO BYTE TO | 00000530: 53 54 41 43 4B 20 49 4E 20 43 41 53 45 00 61 09 |STACK IN CASE.a.| 00000540: 30 02 43 4D 50 20 20 23 24 36 31 20 20 20 20 20 |0.CMP #$61 | 00000550: 20 20 3B 22 4E 4F 54 48 49 4E 47 20 54 4F 20 44 | ;"NOTHING TO D| 00000560: 4F 00 8A 09 3A 02 42 4E 45 20 20 45 58 49 54 32 |O...:.BNE EXIT2| 00000570: 20 20 20 20 20 20 3B 22 4E 4F 2C 20 53 4B 49 50 | ;"NO, SKIP| 00000580: 20 53 54 41 54 45 4D 45 4E 54 00 AD 09 44 02 50 | STATEMENT...D.P| 00000590: 4C 41 20 20 20 20 20 20 20 20 20 20 20 20 20 3B |LA ;| 000005A0: 22 59 45 53 2C 20 44 4F 20 27 4F 4E 27 00 D1 09 |"YES, DO 'ON'...| 000005B0: 4E 02 50 4C 41 20 20 20 20 20 20 20 20 20 20 20 |N.PLA | 000005C0: 20 20 3B 22 50 55 4C 4C 20 52 54 4E 20 41 44 44 | ;"PULL RTN ADD| 000005D0: 52 00 D7 09 58 02 3B 00 04 0A 62 02 A5 44 43 4F |R...X.;...b..DCO| 000005E0: 4D 20 20 20 4A 53 52 20 20 24 30 30 37 33 20 20 |M JSR $0073 | 000005F0: 20 20 20 20 3B 22 41 44 56 41 4E 43 45 20 D4 D8 | ;"ADVANCE ..| 00000600: D4 D0 D4 D2 00 23 0A 6C 02 43 4D 50 20 20 23 24 |.....#.l.CMP #$| 00000610: 32 43 20 20 20 20 20 20 20 3B 22 54 4F 20 43 4F |2C ;"TO CO| 00000620: 4D 4D 41 00 48 0A 76 02 42 4E 45 20 20 A5 44 43 |MMA.H.v.BNE .DC| 00000630: 4F 4D 20 20 20 20 20 3B 22 46 4F 4C 4C 4F 57 49 |OM ;"FOLLOWI| 00000640: 4E 47 20 4C 41 42 45 4C 00 6B 0A 80 02 4A 4D 50 |NG LABEL.k...JMP| 00000650: 20 20 24 41 39 35 37 20 20 20 20 20 20 3B 22 43 | $A957 ;"C| 00000660: 4F 4E 54 20 57 49 54 48 20 4F 4E 00 71 0A 8A 02 |ONT WITH ON.q...| 00000670: 3B 00 A4 0A 94 02 43 48 4B 43 91 44 20 20 4C 44 |;.....CHKC.D LD| 00000680: 41 20 20 24 36 31 20 20 20 20 20 20 20 20 3B 22 |A $61 ;"| 00000690: 43 48 4B 20 43 4F 4E 44 49 54 49 4F 4E 20 46 4F |CHK CONDITION FO| 000006A0: 52 20 49 46 00 C6 0A 9E 02 42 4E 45 20 20 45 4E |R IF.....BNE EN| 000006B0: 54 52 31 20 20 20 20 20 20 3B 22 54 52 55 45 2C |TR1 ;"TRUE,| 000006C0: 20 47 4F 20 4F 4E 00 F5 0A A8 02 50 4C 41 20 20 | GO ON.....PLA | 000006D0: 20 20 20 20 20 20 20 20 20 20 20 3B 22 46 41 4C | ;"FAL| 000006E0: 53 45 2C 20 50 55 4C 4C 20 52 45 53 54 20 4F 46 |SE, PULL REST OF| 000006F0: 20 41 44 44 52 00 19 0B B2 02 4A 4D 50 20 20 24 | ADDR.....JMP $| 00000700: 41 39 33 42 20 20 20 20 20 20 3B 22 41 4E 44 20 |A93B ;"AND | 00000710: 53 4B 49 50 20 4C 49 4E 45 00 55 0B BC 02 45 4E |SKIP LINE.U...EN| 00000720: 54 52 31 20 20 20 20 53 45 43 20 20 20 20 20 20 |TR1 SEC | 00000730: 20 20 20 20 20 20 20 3B 22 43 41 52 52 59 20 46 | ;"CARRY F| 00000740: 4C 41 47 20 53 45 54 20 46 4F 52 20 47 4F 54 4F |LAG SET FOR GOTO| 00000750: 2F 54 48 45 4E 00 64 0B C6 02 42 43 53 20 20 45 |/THEN.d...BCS E| 00000760: 4E 54 52 CB 00 9F 0B D0 02 45 4E 54 52 30 20 20 |NTR......ENTR0 | 00000770: 20 20 43 4C 43 20 20 20 20 20 20 20 20 20 20 20 | CLC | 00000780: 20 20 3B 22 43 41 52 52 59 20 43 4C 52 20 54 4F | ;"CARRY CLR TO| 00000790: 20 52 45 4D 45 4D 42 45 52 20 47 4F 53 55 42 00 | REMEMBER GOSUB.| 000007A0: A5 0B DA 02 3B 00 D5 0B E4 02 45 4E 54 52 CB 20 |....;.....ENTR. | 000007B0: 20 20 50 4C 41 20 20 20 20 20 20 20 20 20 20 20 | PLA | 000007C0: 20 20 3B 22 50 55 4C 4C 20 52 45 53 54 20 4F 46 | ;"PULL REST OF| 000007D0: 20 41 44 44 52 00 FE 0B EE 02 50 48 50 20 20 20 | ADDR.....PHP | 000007E0: 20 20 20 20 20 20 20 20 20 20 3B 22 54 4F 20 53 | ;"TO S| 000007F0: 41 56 45 20 43 41 52 52 59 20 46 4C 41 47 00 33 |AVE CARRY FLAG.3| 00000800: 0C F8 02 46 4C 41 42 45 4C 20 20 20 4C 44 41 20 |...FLABEL LDA | 00000810: 20 24 32 42 20 20 20 20 20 20 20 20 3B 22 49 4E | $2B ;"IN| 00000820: 49 54 20 42 41 53 49 43 20 54 58 54 20 50 54 52 |IT BASIC TXT PTR| 00000830: 20 54 4F 00 62 0C 02 03 4C 44 58 20 20 24 32 43 | TO.b...LDX $2C| 00000840: 20 20 20 20 20 20 20 20 3B 22 53 45 41 52 43 48 | ;"SEARCH| 00000850: 20 46 4F 52 20 4C 49 4E 45 20 53 54 41 52 54 49 | FOR LINE STARTI| 00000860: 4E 47 00 84 0C 0C 03 4C 44 59 20 20 23 24 30 30 |NG.....LDY #$00| 00000870: 20 20 20 20 20 20 20 3B 22 57 49 54 48 20 26 4C | ;"WITH &L| 00000880: 41 42 45 4C 00 A8 0C 16 03 42 45 51 20 20 53 52 |ABEL.....BEQ SR| 00000890: 43 48 4C 4E 20 20 20 20 20 3B 22 46 4F 52 43 45 |CHLN ;"FORCE| 000008A0: 44 20 42 52 41 4E 43 48 00 AE 0C 20 03 3B 00 DC |D BRANCH... .;..| 000008B0: 0C 2A 03 4E 58 53 54 41 54 20 20 20 4C 44 59 20 |.*.NXSTAT LDY | 000008C0: 20 23 24 30 30 20 20 20 20 20 20 20 3B 22 47 45 | #$00 ;"GE| 000008D0: 54 20 50 4F 49 4E 54 45 52 20 54 4F 00 06 0D 34 |T POINTER TO...4| 000008E0: 03 4C 44 41 20 20 28 24 35 46 29 2C 59 20 20 20 |.LDA ($5F),Y | 000008F0: 20 3B 22 50 52 45 53 45 4E 54 20 4C 49 4E 45 20 | ;"PRESENT LINE | 00000900: 49 4E 20 24 35 46 00 0C 0D 3E 03 3B 00 1D 0D 48 |IN $5F...>.;...H| 00000910: 03 53 52 43 48 4C 4E 20 20 20 43 4C 43 00 2A 0D |.SRCHLN CLC.*.| 00000920: 52 03 53 54 41 20 20 24 35 46 00 38 0D 5C 03 41 |R.STA $5F.8.\.A| 00000930: 44 43 20 20 23 24 30 34 00 45 0D 66 03 53 54 41 |DC #$04.E.f.STA| 00000940: 20 20 24 35 44 00 4D 0D 70 03 54 58 41 00 5A 0D | $5D.M.p.TXA.Z.| 00000950: 7A 03 53 54 41 20 20 24 36 30 00 68 0D 84 03 41 |z.STA $60.h...A| 00000960: 44 43 20 20 23 24 30 30 00 75 0D 8E 03 53 54 41 |DC #$00.u...STA| 00000970: 20 20 24 35 45 00 90 0D 98 03 49 4E 59 20 20 20 | $5E.....INY | 00000980: 20 20 20 20 20 20 20 20 20 20 3B 22 2E D9 3D 31 | ;"..=1| 00000990: 00 C1 0D A2 03 4C 44 41 20 20 28 24 35 46 29 2C |.....LDA ($5F),| 000009A0: 59 20 20 20 20 3B 22 43 48 4B 20 46 4F 52 20 4E |Y ;"CHK FOR N| 000009B0: 55 4C 4C 20 4C 49 4E 4B 2C 20 45 4E 44 50 52 4F |ULL LINK, ENDPRO| 000009C0: 47 00 EC 0D AC 03 42 45 51 20 20 55 4E 96 44 20 |G.....BEQ UN.D | 000009D0: 20 20 20 20 3B 22 49 46 20 53 4F 2C 20 4C 41 42 | ;"IF SO, LAB| 000009E0: 45 4C 20 4E 4F 54 20 46 4F 55 4E 44 00 F4 0D B6 |EL NOT FOUND....| 000009F0: 03 54 41 58 00 FC 0D C0 03 44 45 59 00 02 0E CA |.TAX.....DEY....| 00000A00: 03 3B 00 3C 0E D4 03 4D 41 54 43 48 20 20 20 20 |.;.<...MATCH | 00000A10: 4C 44 41 20 20 28 24 35 44 29 2C 59 20 20 20 20 |LDA ($5D),Y | 00000A20: 3B 22 54 45 53 54 20 46 4F 52 20 26 4C 41 42 45 |;"TEST FOR &LABE| 00000A30: 4C 20 54 45 52 4D 49 4E 41 54 4F 52 00 64 0E DE |L TERMINATOR.d..| 00000A40: 03 42 45 51 20 20 A5 44 54 52 4D 20 20 20 20 20 |.BEQ .DTRM | 00000A50: 3B 22 4E 55 4C 4C 3F 2C 20 45 4E 44 20 4F 46 20 |;"NULL?, END OF | 00000A60: 4C 49 4E 45 00 92 0E E8 03 43 4D 50 20 20 23 24 |LINE.....CMP #$| 00000A70: 33 41 20 20 20 20 20 20 20 3B 22 43 4F 4C 4F 4E |3A ;"COLON| 00000A80: 2C 20 45 4E 44 20 4F 46 20 53 54 41 54 45 4D 45 |, END OF STATEME| 00000A90: 4E 54 00 A1 0E F2 03 42 45 51 20 20 A5 44 54 52 |NT.....BEQ .DTR| 00000AA0: 4D 00 BE 0E FC 03 43 4D 50 20 20 23 24 32 30 20 |M.....CMP #$20 | 00000AB0: 20 20 20 20 20 20 3B 22 53 50 41 43 45 3F 00 EF | ;"SPACE?..| 00000AC0: 0E 06 04 42 45 51 20 20 A5 44 54 52 4D 20 20 20 |...BEQ .DTRM | 00000AD0: 20 20 3B 22 4E 4F 20 54 45 52 4D 49 4E 41 54 4F | ;"NO TERMINATO| 00000AE0: 52 2C 20 54 45 53 54 20 41 47 41 49 4E 53 54 00 |R, TEST AGAINST.| 00000AF0: 25 0F 10 04 43 4D 50 20 20 28 24 37 41 29 2C 59 |%...CMP ($7A),Y| 00000B00: 20 20 20 20 3B 22 47 49 56 45 4E 20 26 4C 41 42 | ;"GIVEN &LAB| 00000B10: 45 4C 20 2D 54 4F 20 4E 45 58 54 20 53 54 41 54 |EL -TO NEXT STAT| 00000B20: 45 4D 45 4E 54 00 59 0F 1A 04 42 4E 45 20 20 4E |EMENT.Y...BNE N| 00000B30: 58 53 54 41 54 20 20 20 20 20 3B 22 49 46 20 4E |XSTAT ;"IF N| 00000B40: 4F 54 20 54 48 49 53 20 4F 4E 45 2E 20 CD 41 54 |OT THIS ONE. .AT| 00000B50: 43 48 20 53 4F 20 46 41 52 00 83 0F 24 04 49 4E |CH SO FAR...$.IN| 00000B60: 59 20 20 20 20 20 20 20 20 20 20 20 20 20 3B 22 |Y ;"| 00000B70: 54 45 53 54 20 4E 45 58 59 20 43 48 41 52 41 43 |TEST NEXY CHARAC| 00000B80: 54 45 52 00 A7 0F 2E 04 42 4E 45 20 20 4D 41 54 |TER.....BNE MAT| 00000B90: 43 48 20 20 20 20 20 20 3B 22 42 52 41 4E 43 48 |CH ;"BRANCH| 00000BA0: 20 41 4C 57 41 59 53 00 AD 0F 38 04 3B 00 E3 0F | ALWAYS...8.;...| 00000BB0: 42 04 A5 44 54 52 4D 20 20 20 4C 44 41 20 20 28 |B..DTRM LDA (| 00000BC0: 24 37 41 29 2C 59 20 20 20 20 3B 22 46 4F 55 4E |$7A),Y ;"FOUN| 00000BD0: 44 20 54 45 52 4D 49 4E 2E 20 54 48 49 53 20 4C |D TERMIN. THIS L| 00000BE0: 49 4E 45 00 15 10 4C 04 42 45 51 20 20 54 52 4E |INE...L.BEQ TRN| 00000BF0: 53 B8 58 20 20 20 3B 22 54 45 53 54 20 47 49 56 |S.X ;"TEST GIV| 00000C00: 45 4E 20 26 4C 41 42 45 4C 20 46 4F 52 20 54 45 |EN &LABEL FOR TE| 00000C10: 52 4D 49 4E 2E 00 45 10 56 04 43 4D 50 20 20 23 |RMIN..E.V.CMP #| 00000C20: 24 32 43 20 20 20 20 20 20 20 3B 22 54 45 52 4D |$2C ;"TERM| 00000C30: 49 4E 53 2E 20 41 52 45 20 4E 55 4C 4C 2C 20 43 |INS. ARE NULL, C| 00000C40: 4F 4D 4D 41 2C 00 55 10 60 04 42 45 51 20 20 54 |OMMA,.U.`.BEQ T| 00000C50: 52 4E 53 B8 58 00 72 10 6A 04 43 4D 50 20 20 23 |RNS.X.r.j.CMP #| 00000C60: 24 33 41 20 20 20 20 20 20 20 3B 22 43 4F 4C 4F |$3A ;"COLO| 00000C70: 4E 2C 00 82 10 74 04 42 45 51 20 20 54 52 4E 53 |N,...t.BEQ TRNS| 00000C80: B8 58 00 9E 10 7E 04 43 4D 50 20 20 23 24 32 30 |.X...~.CMP #$20| 00000C90: 20 20 20 20 20 20 20 3B 22 53 50 41 43 45 00 CD | ;"SPACE..| 00000CA0: 10 88 04 42 4E 45 20 20 4E 58 53 54 41 54 20 20 |...BNE NXSTAT | 00000CB0: 20 20 20 3B 22 4E 4F 20 54 45 52 4D 49 4E 2C 20 | ;"NO TERMIN, | 00000CC0: 54 52 59 20 4E 45 58 54 20 4C 49 4E 45 00 D3 10 |TRY NEXT LINE...| 00000CD0: 92 04 3B 00 0B 11 9C 04 54 52 4E 53 B8 58 20 50 |..;.....TRNS.X P| 00000CE0: 4C 50 20 20 20 20 20 20 20 20 20 20 20 20 20 3B |LP ;| 00000CF0: 22 52 45 43 41 4C 4C 20 54 48 45 4E 2F 47 4F 54 |"RECALL THEN/GOT| 00000D00: 4F 20 56 53 2E 20 47 4F 53 55 42 00 32 11 A6 04 |O VS. GOSUB.2...| 00000D10: 42 43 53 20 20 4E 4F 53 55 42 20 20 20 20 20 20 |BCS NOSUB | 00000D20: 3B 22 53 45 54 3F 2C 20 4E 4F 54 20 41 20 53 55 |;"SET?, NOT A SU| 00000D30: 42 2E 00 67 11 B0 04 4C 44 41 20 20 24 37 42 20 |B..g...LDA $7B | 00000D40: 20 20 20 20 20 20 20 3B 22 43 4C 52 3F 2C 20 50 | ;"CLR?, P| 00000D50: 55 54 20 52 45 54 55 52 4E 20 44 41 54 41 20 4F |UT RETURN DATA O| 00000D60: 4E 20 53 54 41 43 4B 00 6F 11 BA 04 50 48 41 00 |N STACK.o...PHA.| 00000D70: 7C 11 C4 04 4C 44 41 20 20 24 37 41 00 84 11 CE ||...LDA $7A....| 00000D80: 04 50 48 41 00 91 11 D8 04 4C 44 41 20 20 24 33 |.PHA.....LDA $3| 00000D90: 41 00 99 11 E2 04 50 48 41 00 A6 11 EC 04 4C 44 |A.....PHA.....LD| 00000DA0: 41 20 20 24 33 39 00 AE 11 F6 04 50 48 41 00 BC |A $39.....PHA..| 00000DB0: 11 00 05 4C 44 41 20 20 23 24 38 44 00 C4 11 0A |...LDA #$8D....| 00000DC0: 05 50 48 41 00 E1 11 14 05 4C 44 41 20 20 23 24 |.PHA.....LDA #$| 00000DD0: 41 37 20 20 20 20 20 20 20 3B 22 28 23 24 43 37 |A7 ;"(#$C7| 00000DE0: 29 00 E9 11 1E 05 50 48 41 00 F7 11 28 05 4C 44 |).....PHA...(.LD| 00000DF0: 41 20 20 23 24 41 44 00 FF 11 32 05 50 48 41 00 |A #$AD...2.PHA.| 00000E00: 05 12 3C 05 3B 00 3E 12 46 05 4E 4F 53 55 42 20 |..<.;.>.F.NOSUB | 00000E10: 20 20 20 4A 53 52 20 20 24 41 38 43 35 20 20 20 | JSR $A8C5 | 00000E20: 20 20 20 3B 22 53 45 54 20 4E 45 57 20 45 58 45 | ;"SET NEW EXE| 00000E30: 43 55 54 49 4F 4E 20 28 24 43 38 43 35 29 00 44 |CUTION ($C8C5).D| 00000E40: 12 50 05 3B 00 82 12 5A 05 45 58 49 54 32 20 20 |.P.;...Z.EXIT2 | 00000E50: 20 20 4A 53 52 20 20 24 41 38 46 38 20 20 20 20 | JSR $A8F8 | 00000E60: 20 20 3B 22 53 4B 49 50 20 52 45 53 54 20 4F 46 | ;"SKIP REST OF| 00000E70: 20 53 54 41 54 45 4D 45 4E 54 20 28 24 43 38 46 | STATEMENT ($C8F| 00000E80: 38 29 00 A9 12 64 05 4A 4D 50 20 20 24 30 30 37 |8)...d.JMP $007| 00000E90: 39 20 20 20 20 20 20 3B 22 52 45 54 55 52 4E 20 |9 ;"RETURN | 00000EA0: 54 4F 20 43 48 52 47 4F 54 00 00 00 |TO CHRGOT... |
..0.... THE TRANSACTOR VOLUME 4 ISSUE 03
PAGE 57.`.D... $033C ;"DUMMY, DO
NOT ASSMBL HERE.F.N.;...X.LDA #$4C
;"SYS HERE TO LINK (AD IN LOADER)....
.STA $0073.....LDA $0037.B...CLC.O. .A
DC #21.....STA $0074.....LDA $0038...
..ADC #00...H.STA $0075...R.RTS.N...UN
.D JMP $A8E3 ;"UNDEF'D STATEMENT
ERROR ($C8E3).....ENTRY INC $7A
;"PERFORM TXTPTR INC.....BNE NOHINC
;"FOR CHRGET.....INC $7B.....;....
.NOHINC TXA ;"SAVE .X.....
PHA ;"ON STACK.$.".LDX #$FF
;"TEST IMMEDIATE MODE.1.,.CPX $3
A.S.6.BEQ EXIT ;"IF SO, EXIT.Y.@.
LDA ($7B,X) ;"NO, CHECK FOR &...J.CM
P #$26...T.BEQ CHKLAB ;"FOUND, GO
TEST...^.;...H.EXIT PLA
;"NO, RESTORE .X...R.TAX...|.JMP $0079
;"RETURN TO BASIC.....;.>...CHKLAB
PLA ;"RESTORE .X.F...TAX.X
...PLA ;"PULL LO BYT OF CALL
ING ADDR.....CMP #$DD ;"C64 LINK
SCAN (#$83).C...BNE CHKTHN ;"NO, GO
ON...B.PHA ;"YES, IGNORE...
L.JMP $0079.!.V.CHKTHN CMP #$36
;"BASIC 'THEN'?.I...BEQ CHKC.D ;"Y
ES, CHK CONDITION.V...CMP #$D2 ;"
64-LINK 'THEN'? (#$ED).....BEQ CHKC.D..
...CMP #$9F ;"GOTO?.N...BEQ ENTR
1 ;"YES, GO FIND TRANSFER.....CMP
#$82 ;"GOSUB?.....BEQ ENTR0
;"YES, GO FIND.=.&.PHA ;"LO
BYTE TO STACK IN CASE.A.0.CMP #$61
;"NOTHING TO DO...:.BNE EXIT2 ;"
NO, SKIP STATEMENT...D.PLA ;
"YES, DO 'ON'.Q.N.PLA ;"PULL
RTN ADDR.W.X.;...B..DCOM JSR $0073
;"ADVANCE TXTPTR.#.L.CMP #$2C
;"TO COMMA.H.V.BNE .DCOM ;"FOLLOWI
NG LABEL.K...JMP $A957 ;"CONT WITH
ON.Q...;.....CHKC.D LDA $61 ;"
CHK CONDITION FOR IF.F...BNE ENTR1
;"TRUE, GO ON.....PLA ;"FAL
SE, PULL REST OF ADDR.....JMP $A93B
;"AND SKIP LINE.U...ENTR1 SEC
;"CARRY FLAG SET FOR GOTO/THEN.D.
F.BCS ENTRK...P.ENTR0 CLC
;"CARRY CLR TO REMEMBER GOSUB...Z.;.U.
..ENTRK PLA ;"PULL REST OF
ADDR.....PHP ;"TO SAVE CARR
Y FLAG.3...FLABEL LDA $2B ;"IN
IT BASIC TXT PTR TO.B...LDX $2C
;"SEARCH FOR LINE STARTING.....LDY #$00
;"WITH &LABEL.....BEQ SRCHLN
;"FORCED BRANCH... .;...*.NXSTAT LDY
#$00 ;"GET POINTER TO...4.LDA ($
5F),Y ;"PRESENT LINE IN $5F...>.;...H
.SRCHLN CLC.*.R.STA $5F.8.\.ADC #$04
.E.F.STA $5D.M.P.TXA.Z.Z.STA $60.H...A
DC #$00.U...STA $5E.....INY
;".Y=1.A...LDA ($5F),Y ;"CHK FOR N
ULL LINK, ENDPROG.....BEQ UN.D ;"IF
SO, LABEL NOT FOUND.....TAX.....DEY...J
.;.<.T.MATCH LDA ($5D),Y ;"TEST F
OR &LABEL TERMINATOR.D...BEQ .DTRM
;"NULL?, END OF LINE.....CMP #$3A
;"COLON, END OF STATEMENT.....BEQ .DTR
M.....CMP #$20 ;"SPACE?.....BEQ
.DTRM ;"NO TERMINATOR, TEST AGAINST.
%...CMP ($7A),Y ;"GIVEN &LABEL -TO N
EXT STATEMENT.Y...BNE NXSTAT ;"IF N
OT THIS ONE. MATCH SO FAR...$.INY
;"TEST NEXY CHARACTER.....BNE MAT
CH ;"BRANCH ALWAYS...8.;...B..DTRM
LDA ($7A),Y ;"FOUND TERMIN. THIS L
INE...L.BEQ TRNS.X ;"TEST GIVEN &LABE
L FOR TERMIN..E.V.CMP #$2C ;"TERM
INS. ARE NULL, COMMA,.U.`.BEQ TRNS.X.R.
J.CMP #$3A ;"COLON,...T.BEQ TRNS
.X...~.CMP #$20 ;"SPACE.M...BNE
NXSTAT ;"NO TERMIN, TRY NEXT LINE.S.
..;.....TRNS.X PLP ;"RECALL
THEN/GOTO VS. GOSUB.2...BCS NOSUB
;"SET?, NOT A SUB..G...LDA $7B ;
"CLR?, PUT RETURN DATA ON STACK.O...PHA.
|.D.LDA $7A...N.PHA...X.LDA $3A.....PH
A.....LDA $39.....PHA.....LDA #$8D.D..
.PHA.....LDA #$A7 ;"(#$C7).....PH
A...(.LDA #$AD...2.PHA...<.;.>.F.NOSUB
JSR $A8C5 ;"SET NEW EXECUTION (
$C8C5).D.P.;...Z.EXIT2 JSR $A8F8
;"SKIP REST OF STATEMENT ($C8F8)...D.J
MP $0079 ;"RETURN TO CHRGOT...
×
C64 Image
> CLICK IMAGE PREVIEW FOR FULL MODAL