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

MA-MACRLIB  474E

FILE INFORMATION

FILENAME(S): MA-MACRLIB  474E

FILE TYPE(S): PRG

FILE SIZE: 3.2K

FIRST SEEN: 2025-11-30 21:24:01

APPEARS ON: 1 disk(s)

FILE HASH

3625e7c54597ffa4c2bf508720527d198f5b116bd273242801df6e9f077ce5c0

FOUND ON DISKS (1 DISKS)

DISK TITLE FILENAME FILE TYPE COLLECTION TRACK SECTOR ACTIONS
C64 HULP 29 2 MA-MACRLIB  474E PRG DuncanTwain 6 1 DOWNLOAD FILE

FILE CONTENT & ANALYSIS

00000000: AA 00 30 F6 3C AA 10 00  3B 20 2A 2A 2A 2A 2A 2A  |..0.<...; ******|
00000010: 2A 2A 2A 2A 20 4D 41 43  52 4F 20 4C 49 42 52 41  |**** MACRO LIBRA|
00000020: 52 59 20 46 4F 52 20 4D  4C 20 44 45 56 45 4C 4F  |RY FOR ML DEVELO|
00000030: 50 4D 45 4E 54 20 2A 2A  2A 2A 2A 2A 2A 2A 2A AA  |PMENT *********.|
00000040: 20 00 AE 30 00 20 2E 4D  47 20 3B 44 45 43 4C 41  | ..0. .MG ;DECLA|
00000050: 52 45 20 41 53 20 4D 41  43 52 4F 20 47 4C 4F 42  |RE AS MACRO GLOB|
00000060: 41 CC 40 00 AE 50 00 3B  46 4C 41 47 20 4D 41 4E  |A.@..P.;FLAG MAN|
00000070: 49 50 55 4C 41 54 49 4F  4E 20 4D 41 43 52 4F 53  |IPULATION MACROS|
00000080: BA 60 00 AE 70 00 3B 53  45 54 20 42 49 54 53 20  |.`..p.;SET BITS |
00000090: 49 4E 20 53 50 45 43 49  46 49 45 44 20 46 4C 41  |IN SPECIFIED FLA|
000000A0: 47 20 52 45 47 49 53 54  45 52 20 57 48 49 43 48  |G REGISTER WHICH|
000000B0: 20 43 4F 52 52 45 53 50  4F 4E 44 20 57 49 54 C8  | CORRESPOND WIT.|
000000C0: 80 00 3B 31 27 53 20 49  4E 20 4D 41 53 4B AE 90  |..;1'S IN MASK..|
000000D0: 00 AE 00 01 21 21 21 53  45 54 42 49 54 20 2E 4D  |....!!!SETBIT .M|
000000E0: 44 20 28 2E 2E 2E 46 4C  47 53 20 2E 2E 2E 4D 53  |D (...FLGS ...MS|
000000F0: 4B 53 A9 10 01 20 4C 44  41 20 2A 2E 2E 2E 46 4C  |KS... LDA *...FL|
00000100: 47 D3 20 01 20 4F 52 41  20 23 2E 2E 2E 4D 53 4B  |G. . ORA #...MSK|
00000110: D3 30 01 20 53 54 41 20  2A 2E 2E 2E 46 4C 47 D3  |.0. STA *...FLG.|
00000120: 40 01 20 2E 4D C5 50 01  AE 60 01 AE 70 01 3B 43  |@. .M.P..`..p.;C|
00000130: 4C 45 41 52 20 42 49 54  53 20 49 4E 20 53 50 45  |LEAR BITS IN SPE|
00000140: 43 49 46 49 45 44 20 46  4C 41 47 20 52 45 47 49  |CIFIED FLAG REGI|
00000150: 53 54 45 52 20 57 48 49  43 48 20 43 4F 52 52 45  |STER WHICH CORRE|
00000160: 53 50 4F 4E 44 20 57 49  54 C8 80 01 3B 31 27 53  |SPOND WIT...;1'S|
00000170: 20 49 4E 20 4D 41 53 4B  AE 90 01 AE 00 02 21 21  | IN MASK......!!|
00000180: 21 43 4C 52 42 49 54 20  2E 4D 44 20 28 2E 2E 2E  |!CLRBIT .MD (...|
00000190: 46 4C 47 43 20 2E 2E 2E  4D 53 4B 43 A9 10 02 20  |FLGC ...MSKC... |
000001A0: 4C 44 41 20 23 2E 2E 2E  4D 53 4B C3 20 02 20 45  |LDA #...MSK. . E|
000001B0: 4F 52 20 23 24 46 C6 30  02 20 41 4E 44 20 2A 2E  |OR #$F.0. AND *.|
000001C0: 2E 2E 46 4C 47 C3 40 02  20 53 54 41 20 2A 2E 2E  |..FLG.@. STA *..|
000001D0: 2E 46 4C 47 C3 50 02 20  2E 4D C5 60 02 AE 70 02  |.FLG.P. .M.`..p.|
000001E0: AE 80 02 3B 54 45 53 54  20 53 50 45 43 49 46 49  |...;TEST SPECIFI|
000001F0: 45 44 20 46 4C 41 47 20  41 4E 44 20 42 52 41 4E  |ED FLAG AND BRAN|
00000200: 43 48 20 49 46 20 53 4F  4D 45 20 43 4F 52 52 45  |CH IF SOME CORRE|
00000210: 53 50 4F 4E 44 49 4E 47  20 57 49 54 C8 90 02 3B  |SPONDING WIT...;|
00000220: 4D 41 53 4B 20 41 52 45  20 53 45 54 AE 00 03 AE  |MASK ARE SET....|
00000230: 10 03 21 21 21 54 42 46  53 20 2E 4D 44 20 28 2E  |..!!!TBFS .MD (.|
00000240: 2E 2E 46 4C 47 54 53 20  2E 2E 2E 4D 53 4B 54 53  |..FLGTS ...MSKTS|
00000250: 20 2E 2E 2E 4C 50 54 53  A9 20 03 20 4C 44 41 20  | ...LPTS. . LDA |
00000260: 2A 2E 2E 2E 46 4C 47 54  D3 30 03 20 41 4E 44 20  |*...FLGT.0. AND |
00000270: 23 2E 2E 2E 4D 53 4B 54  D3 40 03 20 42 4E 45 20  |#...MSKT.@. BNE |
00000280: 2E 2E 2E 4C 50 54 D3 50  03 20 2E 4D C5 60 03 AE  |...LPT.P. .M.`..|
00000290: 70 03 AE 80 03 3B 54 45  53 54 20 53 50 45 43 49  |p....;TEST SPECI|
000002A0: 46 49 45 44 20 46 4C 41  47 20 41 4E 44 20 42 52  |FIED FLAG AND BR|
000002B0: 41 4E 43 48 20 49 46 20  41 4C 4C 20 42 49 54 53  |ANCH IF ALL BITS|
000002C0: 20 43 4F 52 52 45 53 50  4F 4E 44 49 4E 47 20 57  | CORRESPONDING W|
000002D0: 49 54 C8 90 03 3B 4D 41  53 4B 20 41 52 45 20 43  |IT...;MASK ARE C|
000002E0: 4C 45 41 52 AE 00 04 AE  10 04 21 21 21 54 42 46  |LEAR......!!!TBF|
000002F0: 43 20 2E 4D 44 20 28 2E  2E 2E 46 4C 47 54 43 20  |C .MD (...FLGTC |
00000300: 2E 2E 2E 4D 53 4B 54 43  20 2E 2E 2E 4C 50 54 43  |...MSKTC ...LPTC|
00000310: A9 20 04 20 4C 44 41 20  2A 2E 2E 2E 46 4C 47 54  |. . LDA *...FLGT|
00000320: C3 30 04 20 41 4E 44 20  23 2E 2E 2E 4D 53 4B 54  |.0. AND #...MSKT|
00000330: C3 40 04 20 42 45 51 20  2E 2E 2E 4C 50 54 C3 50  |.@. BEQ ...LPT.P|
00000340: 04 20 2E 4D C5 60 04 AE  70 04 AE 80 04 3B 42 52  |. .M.`..p....;BR|
00000350: 41 4E 43 48 20 4F 4E 20  4C 45 53 53 20 54 48 41  |ANCH ON LESS THA|
00000360: CE 90 04 AE 00 05 21 21  21 42 4C 54 20 2E 4D 44  |......!!!BLT .MD|
00000370: 20 28 2E 2E 2E 4C 50 42  4C 54 A9 10 05 20 42 43  | (...LPBLT... BC|
00000380: 43 20 2E 2E 2E 4C 50 42  4C D4 20 05 20 2E 4D C5  |C ...LPBL. . .M.|
00000390: 30 05 AE 40 05 AE 50 05  3B 42 52 41 4E 43 48 20  |0..@..P.;BRANCH |
000003A0: 4F 4E 20 4C 45 53 53 20  54 48 41 4E 20 4F 52 20  |ON LESS THAN OR |
000003B0: 45 51 55 41 CC 60 05 AE  70 05 21 21 21 42 4C 45  |EQUA.`..p.!!!BLE|
000003C0: 20 2E 4D 44 20 28 2E 2E  2E 4C 50 42 4C 45 A9 80  | .MD (...LPBLE..|
000003D0: 05 20 42 43 43 20 2E 2E  2E 4C 50 42 4C C5 90 05  |. BCC ...LPBL...|
000003E0: 20 42 45 51 20 2E 2E 2E  4C 50 42 4C C5 00 06 20  | BEQ ...LPBL... |
000003F0: 2E 4D C5 10 06 AE 20 06  AE 30 06 3B 42 52 41 4E  |.M.... ..0.;BRAN|
00000400: 43 48 20 4F 4E 20 47 52  45 41 54 45 52 20 54 48  |CH ON GREATER TH|
00000410: 41 CE 40 06 AE 50 06 21  21 21 42 47 54 20 2E 4D  |A.@..P.!!!BGT .M|
00000420: 44 20 28 2E 2E 2E 4C 50  42 47 54 A9 60 06 20 42  |D (...LPBGT.`. B|
00000430: 45 51 20 2E 2E 2E 53 4B  42 47 D4 70 06 20 42 43  |EQ ...SKBG.p. BC|
00000440: 53 20 2E 2E 2E 4C 50 42  47 D4 80 06 2E 2E 2E 53  |S ...LPBG......S|
00000450: 4B 42 47 54 20 2E 4D C5  90 06 AE 00 07 AE 10 07  |KBGT .M.........|
00000460: 3B 42 52 41 4E 43 48 20  4F 4E 20 47 52 45 41 54  |;BRANCH ON GREAT|
00000470: 45 52 20 54 48 41 4E 20  4F 52 20 45 51 55 41 CC  |ER THAN OR EQUA.|
00000480: 20 07 AE 30 07 21 21 21  42 47 45 20 2E 4D 44 20  | ..0.!!!BGE .MD |
00000490: 28 2E 2E 2E 4C 50 42 47  45 A9 40 07 20 42 43 53  |(...LPBGE.@. BCS|
000004A0: 20 2E 2E 2E 4C 50 42 47  C5 50 07 20 2E 4D C5 60  | ...LPBG.P. .M.`|
000004B0: 07 AE 70 07 AE 80 07 3B  50 55 53 48 20 5A 45 52  |..p....;PUSH ZER|
000004C0: 4F 20 50 41 47 45 20 31  36 2D 42 49 54 20 52 45  |O PAGE 16-BIT RE|
000004D0: 47 2E 20 4F 4E 20 53 54  41 43 CB 90 07 AE 00 08  |G. ON STAC......|
000004E0: 21 21 21 50 55 53 48 20  2E 4D 44 20 28 2E 2E 2E  |!!!PUSH .MD (...|
000004F0: 5A 52 50 48 A9 10 08 20  4C 44 41 20 2A 2E 2E 2E  |ZRPH... LDA *...|
00000500: 5A 52 50 48 2B B1 20 08  20 50 48 C1 30 08 20 4C  |ZRPH+. . PH.0. L|
00000510: 44 41 20 2A 2E 2E 2E 5A  52 50 48 2B B0 40 08 20  |DA *...ZRPH+.@. |
00000520: 50 48 C1 50 08 20 2E 4D  C5 60 08 AE 70 08 AE 80  |PH.P. .M.`..p...|
00000530: 08 3B 50 55 4C 4C 20 5A  45 52 4F 20 50 41 47 45  |.;PULL ZERO PAGE|
00000540: 20 31 36 2D 42 49 54 20  52 45 47 2E 20 4F 46 46  | 16-BIT REG. OFF|
00000550: 20 53 54 41 43 CB 90 08  AE 00 09 21 21 21 50 55  | STAC......!!!PU|
00000560: 4C 4C 20 2E 4D 44 20 28  2E 2E 2E 5A 52 50 4C A9  |LL .MD (...ZRPL.|
00000570: 10 09 20 50 4C C1 20 09  20 53 54 41 20 2A 2E 2E  |.. PL. . STA *..|
00000580: 2E 5A 52 50 4C 2B B0 30  09 20 50 4C C1 40 09 20  |.ZRPL+.0. PL.@. |
00000590: 53 54 41 20 2A 2E 2E 2E  5A 52 50 4C 2B B1 50 09  |STA *...ZRPL+.P.|
000005A0: 20 2E 4D C5 60 09 AE 70  09 AE 80 09 3B 49 4E 43  | .M.`..p....;INC|
000005B0: 52 45 4D 45 4E 54 20 5A  45 52 4F 20 50 41 47 45  |REMENT ZERO PAGE|
000005C0: 20 31 36 2D 42 49 54 20  52 45 47 AE 90 09 AE 00  | 16-BIT REG.....|
000005D0: 10 21 21 21 44 49 4E 43  20 2E 4D 44 20 28 2E 2E  |.!!!DINC .MD (..|
000005E0: 2E 4C 31 A9 10 10 20 49  4E 43 20 2A 2E 2E 2E 4C  |.L1... INC *...L|
000005F0: B1 20 10 20 42 4E 45 20  2E 2E 2E 53 4B B1 30 10  |. . BNE ...SK.0.|
00000600: 20 49 4E 43 20 2A 2E 2E  2E 4C 31 2B B1 40 10 2E  | INC *...L1+.@..|
00000610: 2E 2E 53 4B 31 20 2E 4D  C5 50 10 AE 60 10 AE 70  |..SK1 .M.P..`..p|
00000620: 10 3B 44 45 43 52 45 4D  45 4E 54 20 5A 45 52 4F  |.;DECREMENT ZERO|
00000630: 20 50 41 47 45 20 31 36  2D 42 49 54 20 52 45 47  | PAGE 16-BIT REG|
00000640: AE 80 10 AE 90 10 21 21  21 44 44 45 43 20 2E 4D  |......!!!DDEC .M|
00000650: 44 20 28 2E 2E 2E 4C 32  A9 00 11 20 44 45 43 20  |D (...L2... DEC |
00000660: 2A 2E 2E 2E 4C B1 10 11  20 4C 44 41 20 2A 2E 2E  |*...L... LDA *..|
00000670: 2E 4C B1 20 11 20 43 4D  50 20 23 24 46 C6 30 11  |.L. . CMP #$F.0.|
00000680: 20 42 4E 45 20 2E 2E 2E  53 4B B2 40 11 20 44 45  | BNE ...SK.@. DE|
00000690: 43 20 2A 2E 2E 2E 4C 31  2B B1 50 11 2E 2E 2E 53  |C *...L1+.P....S|
000006A0: 4B 32 20 2E 4D C5 60 11  AE 70 11 AE 80 11 3B 41  |K2 .M.`..p....;A|
000006B0: 44 44 20 5A 45 52 4F 20  50 41 47 45 20 52 45 47  |DD ZERO PAGE REG|
000006C0: 49 53 54 45 52 D3 90 11  AE 00 12 21 21 21 44 41  |ISTER......!!!DA|
000006D0: 44 44 20 2E 4D 44 20 28  2E 2E 2E 4C 33 20 2E 2E  |DD .MD (...L3 ..|
000006E0: 2E 4C 34 A9 10 12 20 43  4C C3 20 12 20 4C 44 41  |.L4... CL. . LDA|
000006F0: 20 2A 2E 2E 2E 4C B3 30  12 20 41 44 43 20 2A 2E  | *...L.0. ADC *.|
00000700: 2E 2E 4C B4 40 12 20 53  54 41 20 2A 2E 2E 2E 4C  |..L.@. STA *...L|
00000710: B3 50 12 20 4C 44 41 20  2A 2E 2E 2E 4C 33 2B B1  |.P. LDA *...L3+.|
00000720: 60 12 20 41 44 43 20 2A  2E 2E 2E 4C 34 2B B1 70  |`. ADC *...L4+.p|
00000730: 12 20 53 54 41 20 2A 2E  2E 2E 4C 33 2B B1 80 12  |. STA *...L3+...|
00000740: 20 2E 4D C5 90 12 AE 00  13 AE 10 13 3B 53 55 42  | .M.........;SUB|
00000750: 54 52 41 43 54 20 5A 45  52 4F 20 50 41 47 45 20  |TRACT ZERO PAGE |
00000760: 52 45 47 49 53 54 45 52  D3 20 13 AE 30 13 21 21  |REGISTER. ..0.!!|
00000770: 21 44 53 55 42 20 2E 4D  44 20 28 2E 2E 2E 4C 35  |!DSUB .MD (...L5|
00000780: 20 2E 2E 2E 4C 36 A9 40  13 20 53 45 C3 50 13 20  | ...L6.@. SE.P. |
00000790: 4C 44 41 20 2A 2E 2E 2E  4C B5 60 13 20 53 42 43  |LDA *...L.`. SBC|
000007A0: 20 2A 2E 2E 2E 4C B6 70  13 20 53 54 41 20 2A 2E  | *...L.p. STA *.|
000007B0: 2E 2E 4C B5 80 13 20 4C  44 41 20 2A 2E 2E 2E 4C  |..L... LDA *...L|
000007C0: 35 2B B1 90 13 20 53 42  43 20 2A 2E 2E 2E 4C 36  |5+... SBC *...L6|
000007D0: 2B B1 00 14 20 53 54 41  20 2A 2E 2E 2E 4C 35 2B  |+... STA *...L5+|
000007E0: B1 10 14 20 2E 4D C5 20  14 AE 30 14 AE 40 14 3B  |... .M. ..0..@.;|
000007F0: 44 4F 55 42 4C 45 20 43  4F 4D 50 41 52 45 20 5A  |DOUBLE COMPARE Z|
00000800: 45 52 4F 20 50 41 47 45  20 52 45 47 49 53 54 45  |ERO PAGE REGISTE|
00000810: 52 D3 50 14 AE 60 14 21  21 21 44 43 4D 50 20 2E  |R.P..`.!!!DCMP .|
00000820: 4D 44 20 28 2E 2E 2E 4C  37 20 2E 2E 2E 4C 38 A9  |MD (...L7 ...L8.|
00000830: 70 14 20 53 45 C3 80 14  20 4C 44 41 20 2A 2E 2E  |p. SE... LDA *..|
00000840: 2E 4C B7 90 14 20 53 42  43 20 2A 2E 2E 2E 4C B8  |.L... SBC *...L.|
00000850: 00 15 20 4C 44 41 20 2A  2E 2E 2E 4C 37 2B B1 10  |.. LDA *...L7+..|
00000860: 15 20 53 42 43 20 2A 2E  2E 2E 4C 38 2B B1 20 15  |. SBC *...L8+. .|
00000870: 20 2E 4D C5 30 15 AE 40  15 AE 50 15 3B 4D 4F 56  | .M.0..@..P.;MOV|
00000880: 45 20 5A 45 52 4F 20 50  41 47 45 20 52 45 47 49  |E ZERO PAGE REGI|
00000890: 53 54 45 52 D3 60 15 AE  70 15 21 21 21 44 4D 4F  |STER.`..p.!!!DMO|
000008A0: 56 20 2E 4D 44 20 28 2E  2E 2E 4C 39 20 2E 2E 2E  |V .MD (...L9 ...|
000008B0: 4C 31 30 A9 80 15 20 4C  44 41 20 2E 2E 2E 4C 31  |L10... LDA ...L1|
000008C0: B0 90 15 20 53 54 41 20  2A 2E 2E 2E 4C B9 00 16  |... STA *...L...|
000008D0: 20 4C 44 41 20 2E 2E 2E  4C 31 30 2B B1 10 16 20  | LDA ...L10+... |
000008E0: 53 54 41 20 2A 2E 2E 2E  4C 39 2B B1 20 16 20 2E  |STA *...L9+. . .|
000008F0: 4D C5 30 16 AE 40 16 AE  50 16 3B 4D 4F 56 45 20  |M.0..@..P.;MOVE |
00000900: 49 4D 4D 2E 20 54 4F 20  5A 45 52 4F 20 50 41 47  |IMM. TO ZERO PAG|
00000910: 45 20 52 45 47 49 53 54  45 D2 60 16 AE 70 16 21  |E REGISTE.`..p.!|
00000920: 21 21 44 4D 4F 56 49 20  2E 4D 44 20 28 2E 2E 2E  |!!DMOVI .MD (...|
00000930: 4C 31 31 20 2E 2E 2E 4C  31 32 A9 80 16 20 4C 44  |L11 ...L12... LD|
00000940: 41 20 23 4C 2C 2E 2E 2E  4C 31 B2 90 16 20 53 54  |A #L,...L1... ST|
00000950: 41 20 2A 2E 2E 2E 4C 31  B1 00 17 20 4C 44 41 20  |A *...L1... LDA |
00000960: 23 48 2C 2E 2E 2E 4C 31  B2 10 17 20 53 54 41 20  |#H,...L1... STA |
00000970: 2A 2E 2E 2E 4C 31 31 2B  B1 20 17 20 2E 4D C5 30  |*...L11+. . .M.0|
00000980: 17 AE 40 17 AE 50 17 3B  4D 4F 56 45 20 46 52 4F  |..@..P.;MOVE FRO|
00000990: 4D 20 52 45 47 2E 20 54  4F 20 41 42 53 2E 20 4D  |M REG. TO ABS. M|
000009A0: 45 4D 4F 52 D9 60 17 AE  70 17 21 21 21 44 4D 4F  |EMOR.`..p.!!!DMO|
000009B0: 56 4D 20 2E 4D 44 20 28  2E 2E 2E 4C 31 33 20 2E  |VM .MD (...L13 .|
000009C0: 2E 2E 4C 31 34 A9 80 17  20 4C 44 41 20 2A 2E 2E  |..L14... LDA *..|
000009D0: 2E 4C 31 B3 90 17 20 53  54 41 20 2E 2E 2E 4C 31  |.L1... STA ...L1|
000009E0: B4 00 18 20 4C 44 41 20  2A 2E 2E 2E 4C 31 33 2B  |... LDA *...L13+|
000009F0: B1 10 18 20 53 54 41 20  2E 2E 2E 4C 31 34 2B B1  |... STA ...L14+.|
00000A00: 20 18 20 2E 4D C5 30 18  AE 40 18 AE 50 18 3B 41  | . .M.0..@..P.;A|
00000A10: 44 44 20 49 4D 4D 2E 20  54 4F 20 5A 2D 50 41 47  |DD IMM. TO Z-PAG|
00000A20: 45 20 52 45 47 49 53 54  45 D2 60 18 AE 70 18 21  |E REGISTE.`..p.!|
00000A30: 21 21 44 41 44 44 49 20  2E 4D 44 20 28 2E 2E 2E  |!!DADDI .MD (...|
00000A40: 4C 31 35 20 2E 2E 2E 4C  31 36 A9 80 18 20 43 4C  |L15 ...L16... CL|
00000A50: C3 90 18 20 4C 44 41 20  23 4C 2C 2E 2E 2E 4C 31  |... LDA #L,...L1|
00000A60: B6 00 19 20 41 44 43 20  2A 2E 2E 2E 4C 31 B5 10  |... ADC *...L1..|
00000A70: 19 20 53 54 41 20 2A 2E  2E 2E 4C 31 B5 20 19 20  |. STA *...L1. . |
00000A80: 4C 44 41 20 23 48 2C 2E  2E 2E 4C 31 B6 30 19 20  |LDA #H,...L1.0. |
00000A90: 41 44 43 20 2A 2E 2E 2E  4C 31 35 2B B1 40 19 20  |ADC *...L15+.@. |
00000AA0: 53 54 41 20 2A 2E 2E 2E  4C 31 35 2B B1 50 19 20  |STA *...L15+.P. |
00000AB0: 2E 4D C5 60 19 AE 70 19  AE 80 19 3B 53 55 42 54  |.M.`..p....;SUBT|
00000AC0: 52 41 43 54 20 49 4D 4D  2E 20 46 52 4F 4D 20 5A  |RACT IMM. FROM Z|
00000AD0: 2D 50 41 47 45 20 52 45  47 49 53 54 45 D2 90 19  |-PAGE REGISTE...|
00000AE0: AE 00 20 21 21 21 44 53  55 42 49 20 2E 4D 44 20  |.. !!!DSUBI .MD |
00000AF0: 28 2E 2E 2E 4C 31 37 20  2E 2E 2E 4C 31 38 A9 10  |(...L17 ...L18..|
00000B00: 20 20 53 45 C3 20 20 20  4C 44 41 20 23 4C 2C 2E  |  SE.   LDA #L,.|
00000B10: 2E 2E 4C 31 B8 30 20 20  53 42 43 20 2A 2E 2E 2E  |..L1.0  SBC *...|
00000B20: 4C 31 B7 40 20 20 53 54  41 20 2A 2E 2E 2E 4C 31  |L1.@  STA *...L1|
00000B30: B7 50 20 20 4C 44 41 20  23 48 2C 2E 2E 2E 4C 31  |.P  LDA #H,...L1|
00000B40: B8 60 20 20 53 42 43 20  2A 2E 2E 2E 4C 31 37 2B  |.`  SBC *...L17+|
00000B50: B1 70 20 20 53 54 41 20  2A 2E 2E 2E 4C 31 37 2B  |.p  STA *...L17+|
00000B60: B1 80 20 20 2E 4D C5 90  20 AE 00 21 AE 10 21 3B  |..  .M.. ..!..!;|
00000B70: 44 4F 20 4C 4F 4F D0 20  21 AE 30 21 21 21 21 44  |DO LOO. !.0!!!!D|
00000B80: 4F 20 2E 4D 44 20 28 2E  2E 2E 45 58 44 4F 20 2E  |O .MD (...EXDO .|
00000B90: 2E 2E 4C 31 39 A9 40 21  20 4C 44 41 20 2E 2E 2E  |..L19.@! LDA ...|
00000BA0: 4C 31 B9 50 21 20 42 45  51 20 2E 2E 2E 45 58 44  |L1.P! BEQ ...EXD|
00000BB0: 4F B1 60 21 2E 2E 2E 4C  50 44 4F 20 4A 53 52 20  |O.`!...LPDO JSR |
00000BC0: 2E 2E 2E 44 4F 4C 4F 4F  D0 70 21 20 44 45 43 20  |...DOLOO.p! DEC |
00000BD0: 2E 2E 2E 4C 31 B9 80 21  20 42 4E 45 20 2E 2E 2E  |...L1..! BNE ...|
00000BE0: 4C 50 44 CF 90 21 2E 2E  2E 45 58 44 4F 31 20 4A  |LPD..!...EXDO1 J|
00000BF0: 4D 50 20 2E 2E 2E 45 58  44 CF 00 22 2E 2E 2E 44  |MP ...EXD.."...D|
00000C00: 4F 4C 4F 4F 50 20 2E 4D  C5 10 22 AE 20 22 AE 30  |OLOOP .M..". ".0|
00000C10: 22 3B 45 4E 44 20 53 54  41 54 45 4D 45 4E 54 20  |";END STATEMENT |
00000C20: 54 4F 20 54 45 52 4D 49  4E 41 54 45 20 44 4F 20  |TO TERMINATE DO |
00000C30: 4C 4F 4F D0 40 22 AE 50  22 21 21 21 45 4E 44 20  |LOO.@".P"!!!END |
00000C40: 2E 4D C4 60 22 20 52 54  D3 70 22 20 2E 4D C5 80  |.M.`" RT.p" .M..|
00000C50: 22 AE 90 22 AE 00 23 3B  20 20 53 41 20 28 53 20  |".."..#;  SA (S |
00000C60: 44 29 20 20 2D 20 20 53  54 4F 52 45 20 41 44 44  |D)  -  STORE ADD|
00000C70: 52 45 53 53 20 22 53 22  20 41 54 20 5A 45 52 4F  |RESS "S" AT ZERO|
00000C80: 20 50 41 47 45 20 4C 4F  43 2E 20 22 44 A2 10 23  | PAGE LOC. "D..#|
00000C90: 21 21 21 53 41 20 2E 4D  44 20 28 2E 2E 2E 53 20  |!!!SA .MD (...S |
00000CA0: 2E 2E 2E 44 29 20 3B 38  2D 42 59 54 45 20 49 4E  |...D) ;8-BYTE IN|
00000CB0: 53 54 52 55 43 54 49 4F  CE 20 23 20 4C 44 41 20  |STRUCTIO. # LDA |
00000CC0: 23 4C 2C 2E 2E 2E D3 30  23 20 53 54 41 20 2A 2E  |#L,....0# STA *.|
00000CD0: 2E 2E C4 40 23 20 4C 44  41 20 23 48 2C 2E 2E 2E  |...@# LDA #H,...|
00000CE0: D3 50 23 20 53 54 41 20  2A 2E 2E 2E 44 2B B1 60  |.P# STA *...D+.`|
00000CF0: 23 20 2E 4D C5 70 23 AE  80 23 2F AF 54           |# .M.p#..#/.T   |
..0.<...; ********** MACRO LIBRARY FOR M
L DEVELOPMENT *********. ..0. .MG ;DECLA
RE AS MACRO GLOBAL@..P.;FLAG MANIPULATIO
N MACROS.`..P.;SET BITS IN SPECIFIED FLA
G REGISTER WHICH CORRESPOND WITH..;1'S I
N MASK......!!!SETBIT .MD (...FLGS ...MS
KS... LDA *...FLGS . ORA #...MSKS0. STA 
*...FLGS@. .MEP..`..P.;CLEAR BITS IN SPE
CIFIED FLAG REGISTER WHICH CORRESPOND WI
TH..;1'S IN MASK......!!!CLRBIT .MD (...
FLGC ...MSKC... LDA #...MSKC . EOR #$FF0
. AND *...FLGC@. STA *...FLGCP. .ME`..P.
...;TEST SPECIFIED FLAG AND BRANCH IF SO
ME CORRESPONDING WITH..;MASK ARE SET....
..!!!TBFS .MD (...FLGTS ...MSKTS ...LPTS
. . LDA *...FLGTS0. AND #...MSKTS@. BNE 
...LPTSP. .ME`..P....;TEST SPECIFIED FLA
G AND BRANCH IF ALL BITS CORRESPONDING W
ITH..;MASK ARE CLEAR......!!!TBFC .MD (.
..FLGTC ...MSKTC ...LPTC. . LDA *...FLGT
C0. AND #...MSKTC@. BEQ ...LPTCP. .ME`..
P....;BRANCH ON LESS THAN.....!!!BLT .MD
 (...LPBLT... BCC ...LPBLT . .ME0..@..P.
;BRANCH ON LESS THAN OR EQUAL`..P.!!!BLE
 .MD (...LPBLE... BCC ...LPBLE.. BEQ ...
LPBLE.. .ME... ..0.;BRANCH ON GREATER TH
AN@..P.!!!BGT .MD (...LPBGT.`. BEQ ...SK
BGTP. BCS ...LPBGT.....SKBGT .ME........
;BRANCH ON GREATER THAN OR EQUAL ..0.!!!
BGE .MD (...LPBGE.@. BCS ...LPBGEP. .ME`
..P....;PUSH ZERO PAGE 16-BIT REG. ON ST
ACK.....!!!PUSH .MD (...ZRPH... LDA *...
ZRPH+. . PHA0. LDA *...ZRPH+.@. PHAP. .M
E`..P....;PULL ZERO PAGE 16-BIT REG. OFF
 STACK.....!!!PULL .MD (...ZRPL... PLA .
 STA *...ZRPL+.0. PLA@. STA *...ZRPL+.P.
 .ME`..P....;INCREMENT ZERO PAGE 16-BIT 
REG......!!!DINC .MD (...L1... INC *...L
. . BNE ...SK.0. INC *...L1+.@....SK1 .M
EP..`..P.;DECREMENT ZERO PAGE 16-BIT REG
......!!!DDEC .MD (...L2... DEC *...L...
 LDA *...L. . CMP #$FF0. BNE ...SK.@. DE
C *...L1+.P....SK2 .ME`..P....;ADD ZERO 
PAGE REGISTERS.....!!!DADD .MD (...L3 ..
.L4... CLC . LDA *...L.0. ADC *...L.@. S
TA *...L.P. LDA *...L3+.`. ADC *...L4+.P
. STA *...L3+... .ME........;SUBTRACT ZE
RO PAGE REGISTERS ..0.!!!DSUB .MD (...L5
 ...L6.@. SECP. LDA *...L.`. SBC *...L.P
. STA *...L... LDA *...L5+... SBC *...L6
+... STA *...L5+... .ME ..0..@.;DOUBLE C
OMPARE ZERO PAGE REGISTERSP..`.!!!DCMP .
MD (...L7 ...L8.P. SEC.. LDA *...L... SB
C *...L... LDA *...L7+... SBC *...L8+. .
 .ME0..@..P.;MOVE ZERO PAGE REGISTERS`..
P.!!!DMOV .MD (...L9 ...L10... LDA ...L1
... STA *...L... LDA ...L10+... STA *...
L9+. . .ME0..@..P.;MOVE IMM. TO ZERO PAG
E REGISTER`..P.!!!DMOVI .MD (...L11 ...L
12... LDA #L,...L1... STA *...L1... LDA 
#H,...L1... STA *...L11+. . .ME0..@..P.;
MOVE FROM REG. TO ABS. MEMORY`..P.!!!DMO
VM .MD (...L13 ...L14... LDA *...L1... S
TA ...L1... LDA *...L13+... STA ...L14+.
 . .ME0..@..P.;ADD IMM. TO Z-PAGE REGIST
ER`..P.!!!DADDI .MD (...L15 ...L16... CL
C.. LDA #L,...L1... ADC *...L1... STA *.
..L1. . LDA #H,...L1.0. ADC *...L15+.@. 
STA *...L15+.P. .ME`..P....;SUBTRACT IMM
. FROM Z-PAGE REGISTER.... !!!DSUBI .MD 
(...L17 ...L18..  SEC   LDA #L,...L1.0  
SBC *...L1.@  STA *...L1.P  LDA #H,...L1
.`  SBC *...L17+.P  STA *...L17+..  .ME.
 ..!..!;DO LOOP !.0!!!!DO .MD (...EXDO .
..L19.@! LDA ...L1.P! BEQ ...EXDO.`!...L
PDO JSR ...DOLOOPP! DEC ...L1..! BNE ...
LPDO.!...EXDO1 JMP ...EXDO."...DOLOOP .M
E.". ".0";END STATEMENT TO TERMINATE DO 
LOOP@".P"!!!END .MD`" RTSP" .ME.".."..#;
  SA (S D)  -  STORE ADDRESS "S" AT ZERO
 PAGE LOC. "D..#!!!SA .MD (...S ...D) ;8
-BYTE INSTRUCTION # LDA #L,...S0# STA *.
..D@# LDA #H,...SP# STA *...D+.`# .MEP#.
.#/.T
C64 Preview

> CLICK IMAGE PREVIEW FOR FULL MODAL