_  __   _  _         _ _     _      _           _           
  __| |/ /_ | || |     __| (_)___| | __ (_)_ __   __| | _____  __
 / _` | '_ \| || |_   / _` | / __| |/ / | | '_ \ / _` |/ _ \ \/ /
| (_| | (_) |__   _| | (_| | \__ \   <  | | | | | (_| |  __/>  < 
 \__,_|\___/   |_|    \__,_|_|___/_|\_\ |_|_| |_|\__,_|\___/_/\_\
                                                                 
            

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 Preview

> CLICK IMAGE PREVIEW FOR FULL MODAL