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

COMPLEX.PAL

FILE INFORMATION

FILENAME(S): COMPLEX.PAL

FILE TYPE(S): PRG

FILE SIZE: 6.6K

FIRST SEEN: 2025-11-30 21:12:51

APPEARS ON: 1 disk(s)

FILE HASH

428efba0b0c597a8b57a39d2af82d35fdb4ab48578fda0fbab9bcf7dafb1e3ec

FOUND ON DISKS (1 DISKS)

DISK TITLE FILENAME FILE TYPE COLLECTION TRACK SECTOR ACTIONS
TRANSACTOR DISK COMPLEX.PAL PRG DuncanTwain 9 7 DOWNLOAD FILE

FILE CONTENT & ANALYSIS

00000000: 01 04 2C 04 64 00 8F 20  43 4F 4D 50 4C 45 58 20  |..,.d.. COMPLEX |
00000010: 4E 55 4D 42 45 52 20 41  52 49 54 48 4D 45 54 49  |NUMBER ARITHMETI|
00000020: 43 20 50 41 4C 20 53 4F  55 52 43 45 00 45 04 6E  |C PAL SOURCE.E.n|
00000030: 00 9F 38 2C 38 2C 31 2C  22 30 3A 43 4F 4D 50 4C  |..8,8,1,"0:COMPL|
00000040: 45 58 2E 4D 4C 00 4E 04  78 00 9E 37 30 30 00 5A  |EX.ML.N.x..700.Z|
00000050: 04 82 00 2E 4F 50 54 20  4F 38 00 60 04 8C 00 3B  |....OPT O8.`...;|
00000060: 00 8D 04 96 00 3B AC AC  AC AC AC AC AC AC AC AC  |.....;..........|
00000070: AC AC AC AC AC AC AC AC  AC AC AC AC AC AC AC AC  |................|
00000080: AC AC AC AC AC AC AC AC  AC AC AC AC AC 00 BA 04  |................|
00000090: A0 00 3B AC 20 20 20 20  20 20 20 20 20 20 20 20  |..;.            |
000000A0: 20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
000000B0: 20 20 20 20 20 20 20 20  20 AC 00 E7 04 AA 00 3B  |         ......;|
000000C0: AC 20 20 20 20 20 20 43  4F 4D 50 4C 45 58 20 4E  |.      COMPLEX N|
000000D0: 55 4D 42 45 52 20 41 52  49 54 48 4D 45 54 49 43  |UMBER ARITHMETIC|
000000E0: 20 20 20 20 20 20 AC 00  11 05 B4 00 3B AC 20 20  |      ......;.  |
000000F0: 20 20 20 20 20 20 81 20  54 48 45 20 43 4F 4D 4D  |      . THE COMM|
00000100: 4F 44 B0 45 20 36 34 20  20 20 20 20 20 20 20 20  |OD.E 64         |
00000110: AC 00 3E 05 BE 00 3B AC  20 20 20 20 20 20 20 20  |..>...;.        |
00000120: 20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
00000130: 20 20 20 20 20 20 20 20  20 20 20 20 20 AC 00 68  |             ..h|
00000140: 05 C8 00 3B AC 20 20 AA  2C AB 2C AC 20 AF 20 AD  |...;.  .,.,. . .|
00000150: 20 41 52 45 20 41 4C 4C  20 53 55 50 50 B0 54 45  | ARE ALL SUPP.TE|
00000160: 44 20 41 53 20 20 20 AC  00 95 05 D2 00 3B AC 20  |D AS   ......;. |
00000170: 20 20 20 20 20 20 57 45  4C 4C 20 41 53 20 43 4F  |      WELL AS CO|
00000180: 4D 50 4C 45 58 20 4E 55  4D 42 45 52 53 20 20 20  |MPLEX NUMBERS   |
00000190: 20 20 20 20 AC 00 C1 05  DC 00 3B AC 20 20 20 20  |    ......;.    |
000001A0: 28 52 45 50 52 45 53 45  4E 54 45 44 20 41 53 20  |(REPRESENTED AS |
000001B0: B0 44 45 52 45 44 20 50  41 49 52 53 29 2E 20 20  |.DERED PAIRS).  |
000001C0: AC 00 EE 05 E6 00 3B AC  20 20 20 20 20 20 20 20  |......;.        |
000001D0: 20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
000001E0: 20 20 20 20 20 20 20 20  20 20 20 20 20 AC 00 1B  |             ...|
000001F0: 06 F0 00 3B AC 20 20 20  20 20 20 20 20 20 20 20  |...;.           |
00000200: 20 54 48 4F 4D 41 53 20  48 45 4E 52 59 20 20 20  | THOMAS HENRY   |
00000210: 20 20 20 20 20 20 20 20  20 20 AC 00 48 06 FA 00  |          ..H...|
00000220: 3B AC 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |;.              |
00000230: 20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
00000240: 20 20 20 20 20 20 20 AC  00 75 06 04 01 3B AC AC  |       ..u...;..|
00000250: AC AC AC AC AC AC AC AC  AC AC AC AC AC AC AC AC  |................|
00000260: AC AC AC AC AC AC AC AC  AC AC AC AC AC AC AC AC  |................|
00000270: AC AC AC AC AC 00 7B 06  0E 01 3B 00 A4 06 18 01  |......{...;.....|
00000280: B5 46 4C 47 20 B2 20 24  30 45 20 3B 24 30 30 20  |.FLG . $0E ;$00 |
00000290: B2 20 46 4C 54 50 54 2C  20 24 38 30 20 B2 20 B5  |. FLTPT, $80 . .|
000002A0: 45 47 45 52 00 C4 06 22  01 81 50 4E 54 20 B2 20  |EGER..."..PNT . |
000002B0: 24 34 39 20 3B 54 45 4D  50 20 50 4F B5 45 52 20  |$49 ;TEMP PO.ER |
000002C0: 49 4E 20 9B 00 E8 06 2C  01 46 41 43 BD 20 B2 20  |IN ....,.FAC. . |
000002D0: 24 36 31 20 3B 46 4C 54  50 4E 54 20 41 43 43 55  |$61 ;FLTPNT ACCU|
000002E0: 4D 2C 20 BD 91 45 4E 54  00 0B 07 36 01 46 41 43  |M, ..ENT...6.FAC|
000002F0: B4 20 B2 20 24 36 36 20  3B 46 4C 54 50 4E 54 20  |. . $66 ;FLTPNT |
00000300: 41 43 43 55 4D 2C 20 53  49 47 4E 00 31 07 40 01  |ACCUM, SIGN.1.@.|
00000310: 41 52 47 B4 20 B2 20 24  36 45 20 3B 46 4C 54 50  |ARG. . $6E ;FLTP|
00000320: 4E 54 20 41 43 43 55 4D  20 23 32 2C 20 53 49 47  |NT ACCUM #2, SIG|
00000330: 4E 00 5B 07 4A 01 41 52  49 B4 20 B2 20 24 36 46  |N.[.J.ARI. . $6F|
00000340: 20 3B 46 41 43 31 20 26  20 46 41 43 32 20 53 49  | ;FAC1 & FAC2 SI|
00000350: 47 4E 20 43 4D 50 20 46  4C 41 47 00 81 07 54 01  |GN CMP FLAG...T.|
00000360: 43 48 52 A1 20 B2 20 24  37 33 20 3B 42 41 53 49  |CHR. . $73 ;BASI|
00000370: 43 20 43 48 41 52 41 43  54 45 52 20 A1 20 52 54  |C CHARACTER . RT|
00000380: 4E 00 A5 07 5E 01 43 48  52 CB 54 20 B2 20 24 37  |N...^.CHR.T . $7|
00000390: 39 20 3B 52 45 AB A1 20  4F 4C 44 20 43 48 41 52  |9 ;RE.. OLD CHAR|
000003A0: 41 43 54 45 52 00 CE 07  68 01 52 45 41 4C 4F 54  |ACTER...h.REALOT|
000003B0: 20 B2 20 24 30 32 41 37  20 3B 52 45 41 4C 20 50  | . $02A7 ;REAL P|
000003C0: 41 52 54 20 4F 55 54 50  55 54 20 50 4E 54 00 F8  |ART OUTPUT PNT..|
000003D0: 07 72 01 49 4D 41 CB 54  20 B2 20 52 45 41 4C 4F  |.r.IMA.T . REALO|
000003E0: 54 AA 33 20 3B 49 4D 47  20 50 41 52 54 20 4F 55  |T.3 ;IMG PART OU|
000003F0: 54 50 55 54 20 50 4E 54  00 22 08 7C 01 52 45 41  |TPUT PNT.".|.REA|
00000400: 4C 31 20 B2 20 49 4D 41  CB 54 AA 33 20 3B 31 53  |L1 . IMA.T.3 ;1S|
00000410: 54 20 4E 55 4D 42 45 52  20 52 45 41 4C 20 50 41  |T NUMBER REAL PA|
00000420: 52 54 00 4B 08 86 01 49  4D 41 47 31 20 B2 20 52  |RT.K...IMAG1 . R|
00000430: 45 41 4C 31 AA 35 20 3B  31 53 54 20 4E 55 4D 42  |EAL1.5 ;1ST NUMB|
00000440: 45 52 20 49 4D 47 20 50  41 52 54 00 75 08 90 01  |ER IMG PART.u...|
00000450: 52 45 41 4C 32 20 B2 20  49 4D 41 47 31 AA 35 20  |REAL2 . IMAG1.5 |
00000460: 3B 32 4E 44 20 4E 55 4D  42 45 52 20 52 45 41 4C  |;2ND NUMBER REAL|
00000470: 20 50 41 52 54 00 9E 08  9A 01 49 4D 41 47 32 20  | PART.....IMAG2 |
00000480: B2 20 52 45 41 4C 32 AA  35 20 3B 32 4E 44 20 4E  |. REAL2.5 ;2ND N|
00000490: 55 4D 42 45 52 20 49 4D  47 20 50 41 52 54 00 C5  |UMBER IMG PART..|
000004A0: 08 A4 01 43 4D 58 4F 50  20 B2 20 49 4D 41 47 32  |...CMXOP . IMAG2|
000004B0: AA 35 20 3B 43 4F 4D 50  4C 45 58 20 23 20 4F 50  |.5 ;COMPLEX # OP|
000004C0: 45 52 41 A4 52 00 ED 08  AE 01 49 45 52 52 B0 20  |ERA.R.....IERR. |
000004D0: B2 20 24 30 33 30 30 20  3B 56 45 43 A4 52 20 A4  |. $0300 ;VEC.R .|
000004E0: 20 45 52 52 B0 20 52 4F  55 54 49 4E 45 00 17 09  | ERR. ROUTINE...|
000004F0: B8 01 56 41 52 53 54 52  20 B2 20 24 41 39 43 32  |..VARSTR . $A9C2|
00000500: 20 3B 53 A4 52 45 20 4E  55 4D 45 52 49 43 20 56  | ;S.RE NUMERIC V|
00000510: 41 52 49 41 42 4C 45 00  3C 09 C2 01 46 52 4D 4E  |ARIABLE.<...FRMN|
00000520: 55 4D 20 B2 20 24 41 44  38 41 20 3B 45 C5 55 41  |UM . $AD8A ;E.UA|
00000530: 54 45 20 41 20 4E 55 4D  45 52 49 43 00 5F 09 CC  |TE A NUMERIC._..|
00000540: 01 43 48 4B 4E 55 4D 20  B2 20 24 41 44 38 44 20  |.CHKNUM . $AD8D |
00000550: 3B 43 48 45 43 4B 20 81  20 4E 55 4D 42 45 52 00  |;CHECK . NUMBER.|
00000560: 83 09 D6 01 43 48 4B 43  4C 53 20 B2 20 24 41 45  |....CHKCLS . $AE|
00000570: 46 37 20 3B 43 48 45 43  4B 20 81 20 A0 20 50 41  |F7 ;CHECK . . PA|
00000580: 52 45 4E 00 A7 09 E0 01  43 48 4B 4F 50 4E 20 B2  |REN.....CHKOPN .|
00000590: 20 24 41 45 46 41 20 3B  43 48 45 43 4B 20 81 20  | $AEFA ;CHECK . |
000005A0: 9F 20 50 41 52 45 4E 00  C9 09 EA 01 43 48 4B 43  |. PAREN.....CHKC|
000005B0: 4F 4D 20 B2 20 24 41 45  46 44 20 3B 43 48 45 43  |OM . $AEFD ;CHEC|
000005C0: 4B 20 81 20 43 4F 4D 4D  41 00 F0 09 F4 01 43 48  |K . COMMA.....CH|
000005D0: 4B 43 48 52 20 B2 20 24  41 45 46 46 20 3B 43 48  |KCHR . $AEFF ;CH|
000005E0: 45 43 4B 20 81 20 43 48  52 20 49 4E 20 41 43 43  |ECK . CHR IN ACC|
000005F0: 00 14 0A FE 01 53 4E 45  52 52 20 B2 20 24 41 46  |.....SNERR . $AF|
00000600: 30 38 20 3B 44 4F 20 27  53 59 4E 54 41 58 20 45  |08 ;DO 'SYNTAX E|
00000610: 52 52 B0 27 00 34 0A 08  02 50 54 52 A1 20 B2 20  |RR.'.4...PTR. . |
00000620: 24 42 30 38 42 20 3B 46  49 4E 44 20 56 41 52 49  |$B08B ;FIND VARI|
00000630: 41 42 4C 45 00 62 0A 12  02 46 53 55 42 20 B2 20  |ABLE.b...FSUB . |
00000640: 24 42 38 35 30 20 3B 46  41 43 31 20 B2 20 28 41  |$B850 ;FAC1 . (A|
00000650: 3A 4C 53 42 2C 59 3A 4D  53 42 29 20 AB 20 46 41  |:LSB,Y:MSB) . FA|
00000660: 43 31 00 90 0A 1C 02 46  41 44 44 20 B2 20 24 42  |C1.....FADD . $B|
00000670: 38 36 37 20 3B 46 41 43  31 20 B2 20 28 41 3A 4C  |867 ;FAC1 . (A:L|
00000680: 53 42 2C 59 3A 4D 53 42  29 20 AA 20 46 41 43 31  |SB,Y:MSB) . FAC1|
00000690: 00 BE 0A 26 02 46 41 44  44 54 20 B2 20 24 42 38  |...&.FADDT . $B8|
000006A0: 36 41 20 3B 46 41 43 31  20 B2 20 46 41 43 32 20  |6A ;FAC1 . FAC2 |
000006B0: AA 20 46 41 43 31 20 28  53 45 54 55 50 29 00 ED  |. FAC1 (SETUP)..|
000006C0: 0A 30 02 46 4D 55 4C 54  20 B2 20 24 42 41 32 38  |.0.FMULT . $BA28|
000006D0: 20 3B 46 41 43 31 20 B2  20 28 41 3A 4C 53 42 2C  | ;FAC1 . (A:LSB,|
000006E0: 59 3A 4D 53 42 29 20 AC  20 46 41 43 31 00 1B 0B  |Y:MSB) . FAC1...|
000006F0: 3A 02 46 44 49 56 20 B2  20 24 42 42 30 46 20 3B  |:.FDIV . $BB0F ;|
00000700: 46 41 43 31 20 B2 20 28  41 3A 4C 53 42 2C 59 3A  |FAC1 . (A:LSB,Y:|
00000710: 4D 53 42 29 20 AD 20 46  41 43 31 00 41 0B 44 02  |MSB) . FAC1.A.D.|
00000720: 46 44 49 56 54 20 B2 20  24 42 42 31 32 20 3B 46  |FDIVT . $BB12 ;F|
00000730: 41 43 31 20 B2 20 46 41  43 32 20 AD 20 46 41 43  |AC1 . FAC2 . FAC|
00000740: 31 00 67 0B 4E 02 44 49  56 5A 45 52 20 B2 20 24  |1.g.N.DIVZER . $|
00000750: 42 42 38 41 20 3B 27 44  49 56 49 53 49 91 20 42  |BB8A ;'DIVISI. B|
00000760: 59 20 5A 45 52 4F 27 00  8F 0B 58 02 4D 4F 56 46  |Y ZERO'...X.MOVF|
00000770: 4D 20 B2 20 24 42 42 41  32 20 3B 46 41 43 31 20  |M . $BBA2 ;FAC1 |
00000780: B2 20 28 41 3A 4C 53 42  2C 59 3A 4D 53 42 29 00  |. (A:LSB,Y:MSB).|
00000790: B3 0B 62 02 46 4C 54 35  43 20 B2 20 24 42 42 43  |..b.FLT5C . $BBC|
000007A0: 37 20 3B D3 20 46 41 43  31 20 A4 20 24 35 43 AB  |7 ;. FAC1 . $5C.|
000007B0: 24 36 30 00 D7 0B 6C 02  46 4C 54 35 37 20 B2 20  |$60...l.FLT57 . |
000007C0: 24 42 42 43 41 20 3B D3  20 46 41 43 31 20 A4 20  |$BBCA ;. FAC1 . |
000007D0: 24 35 37 AB 24 35 42 00  FF 0B 76 02 4D 4F 56 4D  |$57.$5B...v.MOVM|
000007E0: 46 20 B2 20 24 42 42 44  34 20 3B 28 58 3A 4C 53  |F . $BBD4 ;(X:LS|
000007F0: 42 2C 59 3A 4D 53 42 29  20 B2 20 46 41 43 31 00  |B,Y:MSB) . FAC1.|
00000800: 1E 0C 80 02 4D 4F 56 41  46 20 B2 20 24 42 43 30  |....MOVAF . $BC0|
00000810: 43 20 3B 46 41 43 32 20  B2 20 46 41 43 31 00 3D  |C ;FAC2 . FAC1.=|
00000820: 0C 8A 02 4E 45 CB 50 20  B2 20 24 42 46 42 34 20  |...NE.P . $BFB4 |
00000830: 3B 46 41 43 31 20 B2 20  AB 46 41 43 31 00 68 0C  |;FAC1 . .FAC1.h.|
00000840: 94 02 4F 4C 44 45 52 52  20 B2 20 24 45 33 38 42  |..OLDERR . $E38B|
00000850: 20 3B 9A 49 4E 55 45 20  4F 4C 44 20 45 52 52 B0  | ;.INUE OLD ERR.|
00000860: 20 52 4F 55 54 49 4E 45  00 6E 0C 9E 02 3B 00 7C  | ROUTINE.n...;.||
00000870: 0C A8 02 AC 20 B2 20 24  43 30 30 30 00 82 0C B2  |.... . $C000....|
00000880: 02 3B 00 AB 0C BC 02 49  4E 49 54 20 4C 44 41 20  |.;.....INIT LDA |
00000890: 23 B3 43 4D 58 52 54 4E  20 3B 43 48 41 4E 47 45  |#.CMXRTN ;CHANGE|
000008A0: 20 45 52 52 B0 20 56 45  43 A4 52 00 B9 0C C6 02  | ERR. VEC.R.....|
000008B0: 53 54 41 20 49 45 52 52  B0 00 CA 0C D0 02 4C 44  |STA IERR......LD|
000008C0: 41 20 23 B1 43 4D 58 52  54 4E 00 DA 0C DA 02 53  |A #.CMXRTN.....S|
000008D0: 54 41 20 49 45 52 52 B0  AA 31 00 E2 0C E4 02 52  |TA IERR..1.....R|
000008E0: 54 53 00 E8 0C EE 02 3B  00 0D 0D F8 02 43 4D 58  |TS.....;.....CMX|
000008F0: 52 54 4E 20 43 50 58 20  23 24 30 42 20 3B 22 53  |RTN CPX #$0B ;"S|
00000900: 59 4E 54 41 58 2D 45 52  52 4F 52 20 3F 00 28 0D  |YNTAX-ERROR ?.(.|
00000910: 02 03 42 45 51 20 43 4D  58 31 20 3B 59 45 53 2C  |..BEQ CMX1 ;YES,|
00000920: 20 4D 4F 56 45 20 91 2E  00 59 0D 0C 03 43 4D 58  | MOVE ...Y...CMX|
00000930: 30 20 4A 4D 50 20 4F 4C  44 45 52 52 20 3B 4E 4F  |0 JMP OLDERR ;NO|
00000940: 2C 20 44 4F 20 52 45 47  55 4C 41 52 20 45 52 52  |, DO REGULAR ERR|
00000950: B0 20 52 4F 55 54 49 4E  45 00 5F 0D 16 03 3B 00  |. ROUTINE._...;.|
00000960: 89 0D 20 03 43 4D 58 31  20 4A 53 52 20 43 48 52  |.. .CMX1 JSR CHR|
00000970: CB 54 20 3B 52 45 A1 20  4F 46 46 80 49 4E 47 20  |.T ;RE. OFF.ING |
00000980: 43 48 41 52 41 43 54 45  52 00 A6 0D 2A 03 43 4D  |CHARACTER...*.CM|
00000990: 50 20 23 27 5B 27 20 3B  22 4C 45 46 54 2D 42 52  |P #'[' ;"LEFT-BR|
000009A0: 41 43 4B 45 54 3F 00 C5  0D 34 03 42 4E 45 20 43  |ACKET?...4.BNE C|
000009B0: 4D 58 30 20 3B 4E 4F 2C  20 B0 44 49 4E 41 52 59  |MX0 ;NO, .DINARY|
000009C0: 20 45 52 52 B0 00 E2 0D  3E 03 50 4C 41 20 3B 50  | ERR....>.PLA ;P|
000009D0: 4F 50 20 4A 55 4E 4B 20  46 52 4F 4D 20 53 54 41  |OP JUNK FROM STA|
000009E0: 43 4B 00 EA 0D 48 03 50  4C 41 00 0A 0E 52 03 4A  |CK...H.PLA...R.J|
000009F0: 53 52 20 43 48 52 A1 20  3B 46 45 54 43 48 20 82  |SR CHR. ;FETCH .|
00000A00: 20 43 48 41 52 41 43 54  45 52 00 2A 0E 5C 03 4A  | CHARACTER.*.\.J|
00000A10: 53 52 20 43 48 4B 4F 50  4E 20 3B 43 48 45 43 4B  |SR CHKOPN ;CHECK|
00000A20: 20 81 20 9F 20 50 41 52  45 4E 00 49 0E 66 03 4A  | . . PAREN.I.f.J|
00000A30: 53 52 20 50 54 52 A1 20  3B 46 49 4E 44 20 52 45  |SR PTR. ;FIND RE|
00000A40: 41 4C 20 4F 55 54 50 55  54 00 69 0E 70 03 4A 53  |AL OUTPUT.i.p.JS|
00000A50: 52 20 43 48 4B 4E 55 4D  20 3B 43 48 45 43 4B 20  |R CHKNUM ;CHECK |
00000A60: 8B 20 4E 55 4D 45 52 49  43 00 6F 0E 7A 03 3B 00  |. NUMERIC.o.z.;.|
00000A70: 85 0E 84 03 53 54 41 20  52 45 41 4C 4F 54 AA 31  |....STA REALOT.1|
00000A80: 20 3B 4C 53 42 00 9B 0E  8E 03 53 54 59 20 52 45  | ;LSB.....STY RE|
00000A90: 41 4C 4F 54 AA 32 20 3B  4D 53 42 00 B6 0E 98 03  |ALOT.2 ;MSB.....|
00000AA0: 4C 44 41 20 B5 46 4C 47  20 3B 94 20 B5 45 47 45  |LDA .FLG ;. .EGE|
00000AB0: 52 20 46 4C 41 47 00 C5  0E A2 03 53 54 41 20 52  |R FLAG.....STA R|
00000AC0: 45 41 4C 4F 54 00 E3 0E  AC 03 4A 53 52 20 43 48  |EALOT.....JSR CH|
00000AD0: 4B 43 4F 4D 20 3B 43 48  45 43 4B 20 81 20 43 4F  |KCOM ;CHECK . CO|
00000AE0: 4D 4D 41 00 01 0F B6 03  4A 53 52 20 50 54 52 A1  |MMA.....JSR PTR.|
00000AF0: 20 3B 46 49 4E 44 20 49  4D 47 20 4F 55 54 50 55  | ;FIND IMG OUTPU|
00000B00: 54 00 21 0F C0 03 4A 53  52 20 43 48 4B 4E 55 4D  |T.!...JSR CHKNUM|
00000B10: 20 3B 43 48 45 43 4B 20  8B 20 4E 55 4D 45 52 49  | ;CHECK . NUMERI|
00000B20: 43 00 36 0F CA 03 53 54  41 20 49 4D 41 CB 54 AA  |C.6...STA IMA.T.|
00000B30: 31 20 3B 4C 53 42 00 4B  0F D4 03 53 54 59 20 49  |1 ;LSB.K...STY I|
00000B40: 4D 41 CB 54 AA 32 20 3B  4D 53 42 00 58 0F DE 03  |MA.T.2 ;MSB.X...|
00000B50: 4C 44 41 20 B5 46 4C 47  00 74 0F E8 03 53 54 41  |LDA .FLG.t...STA|
00000B60: 20 49 4D 41 CB 54 20 3B  94 20 B5 45 47 45 52 20  | IMA.T ;. .EGER |
00000B70: 46 4C 41 47 00 94 0F F2  03 4A 53 52 20 43 48 4B  |FLAG.....JSR CHK|
00000B80: 43 4C 53 20 3B 43 48 45  43 4B 20 81 20 A0 20 50  |CLS ;CHECK . . P|
00000B90: 41 52 45 4E 00 AE 0F FC  03 4C 44 41 20 23 24 42  |AREN.....LDA #$B|
00000BA0: 32 20 3B 43 48 45 43 4B  20 81 20 27 B2 27 00 BD  |2 ;CHECK . '.'..|
00000BB0: 0F 06 04 4A 53 52 20 43  48 4B 43 48 52 00 DD 0F  |...JSR CHKCHR...|
00000BC0: 10 04 4A 53 52 20 43 48  4B 4F 50 4E 20 3B 43 48  |..JSR CHKOPN ;CH|
00000BD0: 45 43 4B 20 81 20 9F 20  50 41 52 45 4E 00 FC 0F  |ECK . . PAREN...|
00000BE0: 1A 04 4A 53 52 20 46 52  4D 4E 55 4D 20 3B 45 C5  |..JSR FRMNUM ;E.|
00000BF0: 55 41 54 45 20 52 45 41  4C 20 23 31 00 0C 10 24  |UATE REAL #1...$|
00000C00: 04 4C 44 58 20 23 B3 52  45 41 4C 31 00 1C 10 2E  |.LDX #.REAL1....|
00000C10: 04 4C 44 59 20 23 B1 52  45 41 4C 31 00 38 10 38  |.LDY #.REAL1.8.8|
00000C20: 04 4A 53 52 20 4D 4F 56  4D 46 20 3B 94 20 49 54  |.JSR MOVMF ;. IT|
00000C30: 20 81 20 4C 41 54 45 52  00 56 10 42 04 4A 53 52  | . LATER.V.B.JSR|
00000C40: 20 43 48 4B 43 4F 4D 20  3B 43 48 45 43 4B 20 81  | CHKCOM ;CHECK .|
00000C50: 20 43 4F 4D 4D 41 00 74  10 4C 04 4A 53 52 20 46  | COMMA.t.L.JSR F|
00000C60: 52 4D 4E 55 4D 20 3B 45  C5 55 41 54 45 20 49 4D  |RMNUM ;E.UATE IM|
00000C70: 47 20 23 31 00 84 10 56  04 4C 44 58 20 23 B3 49  |G #1...V.LDX #.I|
00000C80: 4D 41 47 31 00 94 10 60  04 4C 44 59 20 23 B1 49  |MAG1...`.LDY #.I|
00000C90: 4D 41 47 31 00 B0 10 6A  04 4A 53 52 20 4D 4F 56  |MAG1...j.JSR MOV|
00000CA0: 4D 46 20 3B 94 20 49 54  20 81 20 4C 41 54 45 52  |MF ;. IT . LATER|
00000CB0: 00 D0 10 74 04 4A 53 52  20 43 48 4B 43 4C 53 20  |...t.JSR CHKCLS |
00000CC0: 3B 43 48 45 43 4B 20 81  20 A0 20 50 41 52 45 4E  |;CHECK . . PAREN|
00000CD0: 00 E9 10 7E 04 53 54 41  20 43 4D 58 4F 50 20 3B  |...~.STA CMXOP ;|
00000CE0: 94 20 4F 50 45 52 41 A4  52 00 05 11 88 04 4A 53  |. OPERA.R.....JS|
00000CF0: 52 20 43 48 52 A1 20 3B  A1 20 82 20 43 48 41 52  |R CHR. ;. . CHAR|
00000D00: 41 43 54 45 52 00 25 11  92 04 4A 53 52 20 43 48  |ACTER.%...JSR CH|
00000D10: 4B 4F 50 4E 20 3B 43 48  45 43 4B 20 81 20 9F 20  |KOPN ;CHECK . . |
00000D20: 50 41 52 45 4E 00 44 11  9C 04 4A 53 52 20 46 52  |PAREN.D...JSR FR|
00000D30: 4D 4E 55 4D 20 3B 45 C5  55 41 54 45 20 52 45 41  |MNUM ;E.UATE REA|
00000D40: 4C 20 23 32 00 54 11 A6  04 4C 44 58 20 23 B3 52  |L #2.T...LDX #.R|
00000D50: 45 41 4C 32 00 64 11 B0  04 4C 44 59 20 23 B1 52  |EAL2.d...LDY #.R|
00000D60: 45 41 4C 32 00 80 11 BA  04 4A 53 52 20 4D 4F 56  |EAL2.....JSR MOV|
00000D70: 4D 46 20 3B 94 20 49 54  20 81 20 4C 41 54 45 52  |MF ;. IT . LATER|
00000D80: 00 9E 11 C4 04 4A 53 52  20 43 48 4B 43 4F 4D 20  |.....JSR CHKCOM |
00000D90: 3B 43 48 45 43 4B 20 81  20 43 4F 4D 4D 41 00 BC  |;CHECK . COMMA..|
00000DA0: 11 CE 04 4A 53 52 20 46  52 4D 4E 55 4D 20 3B 45  |...JSR FRMNUM ;E|
00000DB0: C5 55 41 54 45 20 49 4D  47 20 23 32 00 D9 11 D8  |.UATE IMG #2....|
00000DC0: 04 4A 53 52 20 4F 54 49  4D 47 32 20 3B 94 20 49  |.JSR OTIMG2 ;. I|
00000DD0: 54 20 81 20 4C 41 54 45  52 00 F9 11 E2 04 4A 53  |T . LATER.....JS|
00000DE0: 52 20 43 48 4B 43 4C 53  20 3B 43 48 45 43 4B 20  |R CHKCLS ;CHECK |
00000DF0: 81 20 A0 20 50 41 52 45  4E 00 12 12 EC 04 4C 44  |. . PAREN.....LD|
00000E00: 41 20 23 27 5D 20 3B 43  48 45 43 4B 20 81 20 27  |A #'] ;CHECK . '|
00000E10: 5D 27 00 21 12 F6 04 4A  53 52 20 43 48 4B 43 48  |]'.!...JSR CHKCH|
00000E20: 52 00 27 12 00 05 3B 00  40 12 0A 05 4C 44 41 20  |R.'...;.@...LDA |
00000E30: 43 4D 58 4F 50 20 3B 8C  20 4F 50 45 52 41 A4 52  |CMXOP ;. OPERA.R|
00000E40: 00 59 12 14 05 43 4D 50  20 23 24 41 41 20 3B 22  |.Y...CMP #$AA ;"|
00000E50: 49 53 20 49 54 20 2B 20  3F 00 76 12 1E 05 42 45  |IS IT + ?.v...BE|
00000E60: 51 20 43 4D 58 34 20 3B  42 52 41 4E 43 48 20 8B  |Q CMX4 ;BRANCH .|
00000E70: 20 49 54 20 49 53 00 7C  12 28 05 3B 00 95 12 32  | IT IS.|.(.;...2|
00000E80: 05 43 4D 50 20 23 24 41  42 20 3B 22 49 53 20 49  |.CMP #$AB ;"IS I|
00000E90: 54 20 2D 20 3F 00 B2 12  3C 05 42 45 51 20 43 4D  |T - ?...<.BEQ CM|
00000EA0: 58 34 20 3B 42 52 41 4E  43 48 20 8B 20 49 54 20  |X4 ;BRANCH . IT |
00000EB0: 49 53 00 B8 12 46 05 3B  00 D1 12 50 05 43 4D 50  |IS...F.;...P.CMP|
00000EC0: 20 23 24 41 43 20 3B 22  49 53 20 49 54 20 2A 20  | #$AC ;"IS IT * |
00000ED0: 3F 00 EA 12 5A 05 42 4E  45 20 43 4D 58 32 20 3B  |?...Z.BNE CMX2 ;|
00000EE0: 42 52 41 4E 43 48 20 8B  20 A8 00 F7 12 64 05 4A  |BRANCH . ....d.J|
00000EF0: 4D 50 20 43 4D 58 38 00  FD 12 6E 05 3B 00 1B 13  |MP CMX8...n.;...|
00000F00: 78 05 43 4D 58 32 20 43  4D 50 20 23 24 41 44 20  |x.CMX2 CMP #$AD |
00000F10: 3B 22 49 53 20 49 54 20  2F 20 3F 00 34 13 82 05  |;"IS IT / ?.4...|
00000F20: 42 4E 45 20 43 4D 58 33  20 3B 42 52 41 4E 43 48  |BNE CMX3 ;BRANCH|
00000F30: 20 8B 20 A8 00 41 13 8C  05 4A 4D 50 20 43 4D 58  | . ..A...JMP CMX|
00000F40: 36 00 47 13 96 05 3B 00  69 13 A0 05 43 4D 58 33  |6.G...;.i...CMX3|
00000F50: 20 4A 4D 50 20 53 4E 45  52 52 20 3B 27 53 59 4E  | JMP SNERR ;'SYN|
00000F60: 54 41 58 20 45 52 52 B0  27 00 6F 13 AA 05 3B 00  |TAX ERR.'.o...;.|
00000F70: 95 13 B4 05 43 4D 58 34  20 4A 53 52 20 49 4E 52  |....CMX4 JSR INR|
00000F80: 45 4C 32 20 3B 42 52 49  4E 47 20 49 4E 20 52 45  |EL2 ;BRING IN RE|
00000F90: 41 4C 20 23 32 00 A5 13  BE 05 4C 44 41 20 23 B3  |AL #2.....LDA #.|
00000FA0: 52 45 41 4C 31 00 B5 13  C8 05 4C 44 59 20 23 B1  |REAL1.....LDY #.|
00000FB0: 52 45 41 4C 31 00 CF 13  D2 05 4A 53 52 20 41 44  |REAL1.....JSR AD|
00000FC0: 44 53 55 42 20 3B 44 4F  20 AA 20 B0 20 AB 2E 00  |DSUB ;DO . . ...|
00000FD0: E0 13 DC 05 4C 44 58 20  52 45 41 4C 4F 54 AA 31  |....LDX REALOT.1|
00000FE0: 00 F1 13 E6 05 4C 44 59  20 52 45 41 4C 4F 54 AA  |.....LDY REALOT.|
00000FF0: 32 00 0C 14 F0 05 4C 44  41 20 52 45 41 4C 4F 54  |2.....LDA REALOT|
00001000: 20 3B B5 45 47 45 52 20  46 4C 41 47 00 2C 14 FA  | ;.EGER FLAG.,..|
00001010: 05 4A 53 52 20 53 A4 52  46 50 20 3B 53 A4 52 45  |.JSR S.RFP ;S.RE|
00001020: 20 52 45 41 4C 20 52 45  53 55 4C 54 00 4C 14 04  | REAL RESULT.L..|
00001030: 06 4A 53 52 20 49 4E 49  4D 47 32 20 3B 42 52 49  |.JSR INIMG2 ;BRI|
00001040: 4E 47 20 49 4E 20 49 4D  47 20 23 32 00 5C 14 0E  |NG IN IMG #2.\..|
00001050: 06 4C 44 41 20 23 B3 49  4D 41 47 31 00 6C 14 18  |.LDA #.IMAG1.l..|
00001060: 06 4C 44 59 20 23 B1 49  4D 41 47 31 00 85 14 22  |.LDY #.IMAG1..."|
00001070: 06 4A 53 52 20 41 44 44  53 55 42 20 3B 44 4F 20  |.JSR ADDSUB ;DO |
00001080: AA 20 B0 20 AB 00 9A 14  2C 06 43 4D 58 35 20 4C  |. . ....,.CMX5 L|
00001090: 44 58 20 49 4D 41 CB 54  AA 31 00 AA 14 36 06 4C  |DX IMA.T.1...6.L|
000010A0: 44 59 20 49 4D 41 CB 54  AA 32 00 C4 14 40 06 4C  |DY IMA.T.2...@.L|
000010B0: 44 41 20 49 4D 41 CB 54  20 3B B5 45 47 45 52 20  |DA IMA.T ;.EGER |
000010C0: 46 4C 41 47 00 E3 14 4A  06 4A 53 52 20 53 A4 52  |FLAG...J.JSR S.R|
000010D0: 46 50 20 3B 53 A4 52 45  20 49 4D 47 20 52 45 53  |FP ;S.RE IMG RES|
000010E0: 55 4C 54 00 EB 14 54 06  52 54 53 00 F1 14 5E 06  |ULT...T.RTS...^.|
000010F0: 3B 00 18 15 68 06 43 4D  58 36 20 4A 53 52 20 4E  |;...h.CMX6 JSR N|
00001100: 45 CB 50 20 3B 4E 45 47  41 54 45 20 44 20 81 20  |E.P ;NEGATE D . |
00001110: 43 91 4A 55 47 41 54 45  00 2C 15 72 06 4A 53 52  |C.JUGATE.,.r.JSR|
00001120: 20 4F 54 49 4D 47 32 20  3B 94 20 44 00 44 15 7C  | OTIMG2 ;. D.D.||
00001130: 06 4A 53 52 20 4D 4F 56  41 46 20 3B 46 41 43 32  |.JSR MOVAF ;FAC2|
00001140: 20 B2 20 44 00 5E 15 86  06 4A 53 52 20 43 4D 55  | . D.^...JSR CMU|
00001150: 4C 54 20 3B 46 41 43 31  20 B2 20 44 AC 44 00 73  |LT ;FAC1 . D.D.s|
00001160: 15 90 06 4A 53 52 20 46  4C 54 35 37 20 3B 94 20  |...JSR FLT57 ;. |
00001170: 44 AC 44 00 8E 15 9A 06  4A 53 52 20 49 4E 52 45  |D.D.....JSR INRE|
00001180: 4C 32 20 3B 42 52 49 4E  47 20 49 4E 20 43 00 A6  |L2 ;BRING IN C..|
00001190: 15 A4 06 4A 53 52 20 4D  4F 56 41 46 20 3B 46 41  |...JSR MOVAF ;FA|
000011A0: 43 32 20 B2 20 43 00 C0  15 AE 06 4A 53 52 20 43  |C2 . C.....JSR C|
000011B0: 4D 55 4C 54 20 3B 46 41  43 31 20 B2 20 43 AC 43  |MULT ;FAC1 . C.C|
000011C0: 00 CD 15 B8 06 4C 44 41  20 23 24 35 37 00 DA 15  |.....LDA #$57...|
000011D0: C2 06 4C 44 59 20 23 24  30 30 00 F9 15 CC 06 4A  |..LDY #$00.....J|
000011E0: 53 52 20 46 41 44 44 20  3B 46 41 43 31 20 B2 20  |SR FADD ;FAC1 . |
000011F0: 43 AC 43 20 AA 20 44 AC  44 00 14 16 D6 06 4C 44  |C.C . D.D.....LD|
00001200: 41 20 46 41 43 BD 20 3B  43 48 45 43 4B 20 81 20  |A FAC. ;CHECK . |
00001210: 5A 45 52 4F 00 30 16 E0  06 42 4E 45 20 43 4D 58  |ZERO.0...BNE CMX|
00001220: 37 20 3B 42 52 41 4E 43  48 20 8B 20 4F 4B 41 59  |7 ;BRANCH . OKAY|
00001230: 00 52 16 EA 06 4A 4D 50  20 44 49 56 5A 45 52 20  |.R...JMP DIVZER |
00001240: 3B 27 44 49 56 49 53 49  91 20 42 59 20 5A 45 52  |;'DIVISI. BY ZER|
00001250: 4F 27 00 58 16 F4 06 3B  00 78 16 FE 06 43 4D 58  |O'.X...;.x...CMX|
00001260: 37 20 4A 53 52 20 46 4C  54 35 37 20 3B 94 20 43  |7 JSR FLT57 ;. C|
00001270: AC 43 20 AA 20 44 AC 44  00 8D 16 08 07 43 4D 58  |.C . D.D.....CMX|
00001280: 38 20 4C 44 41 20 23 B3  52 45 41 4C 31 00 9D 16  |8 LDA #.REAL1...|
00001290: 12 07 4C 44 59 20 23 B1  52 45 41 4C 31 00 B7 16  |..LDY #.REAL1...|
000012A0: 1C 07 4A 53 52 20 4D 4F  56 46 4D 20 3B 42 52 49  |..JSR MOVFM ;BRI|
000012B0: 4E 47 20 49 4E 20 41 00  CF 16 26 07 4A 53 52 20  |NG IN A...&.JSR |
000012C0: 4D 4F 56 41 46 20 3B 46  41 43 32 20 B2 20 41 00  |MOVAF ;FAC2 . A.|
000012D0: EA 16 30 07 4A 53 52 20  49 4E 52 45 4C 32 20 3B  |..0.JSR INREL2 ;|
000012E0: 42 52 49 4E 47 20 49 4E  20 43 00 04 17 3A 07 4A  |BRING IN C...:.J|
000012F0: 53 52 20 43 4D 55 4C 54  20 3B 46 41 43 31 20 B2  |SR CMULT ;FAC1 .|
00001300: 20 41 AC 43 00 18 17 44  07 4A 53 52 20 46 4C 54  | A.C...D.JSR FLT|
00001310: 35 43 20 3B 94 20 49 54  00 33 17 4E 07 4A 53 52  |5C ;. IT.3.N.JSR|
00001320: 20 49 4E 49 4D 47 32 20  3B 42 52 49 4E 47 20 49  | INIMG2 ;BRING I|
00001330: 4E 20 44 00 4D 17 58 07  4A 53 52 20 43 4D 55 4C  |N D.M.X.JSR CMUL|
00001340: 54 20 3B 46 41 43 31 20  B2 20 41 AC 44 00 5E 17  |T ;FAC1 . A.D.^.|
00001350: 62 07 4C 44 58 20 52 45  41 4C 4F 54 AA 31 00 6F  |b.LDX REALOT.1.o|
00001360: 17 6C 07 4C 44 59 20 52  45 41 4C 4F 54 AA 32 00  |.l.LDY REALOT.2.|
00001370: 84 17 76 07 4A 53 52 20  4D 4F 56 4D 46 20 3B 94  |..v.JSR MOVMF ;.|
00001380: 20 41 AC 44 00 9F 17 80  07 4A 53 52 20 49 4E 49  | A.D.....JSR INI|
00001390: 4D 47 31 20 3B 42 52 49  4E 47 20 49 4E 20 42 00  |MG1 ;BRING IN B.|
000013A0: AF 17 8A 07 4C 44 41 20  23 B3 49 4D 41 47 32 00  |....LDA #.IMAG2.|
000013B0: BF 17 94 07 4C 44 59 20  23 B1 49 4D 41 47 32 00  |....LDY #.IMAG2.|
000013C0: D9 17 9E 07 4A 53 52 20  46 4D 55 4C 54 20 3B 46  |....JSR FMULT ;F|
000013D0: 41 43 31 20 B2 20 42 AC  44 00 E6 17 A8 07 4C 44  |AC1 . B.D.....LD|
000013E0: 41 20 23 24 35 43 00 F3  17 B2 07 4C 44 59 20 23  |A #$5C.....LDY #|
000013F0: 24 30 30 00 12 18 BC 07  4A 53 52 20 46 53 55 42  |$00.....JSR FSUB|
00001400: 20 3B 46 41 43 31 20 B2  20 41 AC 43 20 AB 20 42  | ;FAC1 . A.C . B|
00001410: AC 44 00 2B 18 C6 07 4A  53 52 20 46 4C 54 35 43  |.D.+...JSR FLT5C|
00001420: 20 3B 94 20 49 54 20 42  41 43 4B 00 46 18 D0 07  | ;. IT BACK.F...|
00001430: 4A 53 52 20 49 4E 49 4D  47 31 20 3B 42 52 49 4E  |JSR INIMG1 ;BRIN|
00001440: 47 20 49 4E 20 42 00 56  18 DA 07 4C 44 41 20 23  |G IN B.V...LDA #|
00001450: B3 52 45 41 4C 32 00 66  18 E4 07 4C 44 59 20 23  |.REAL2.f...LDY #|
00001460: B1 52 45 41 4C 32 00 80  18 EE 07 4A 53 52 20 46  |.REAL2.....JSR F|
00001470: 4D 55 4C 54 20 3B 46 41  43 31 20 B2 20 42 AC 43  |MULT ;FAC1 . B.C|
00001480: 00 91 18 F8 07 4C 44 41  20 52 45 41 4C 4F 54 AA  |.....LDA REALOT.|
00001490: 31 00 A2 18 02 08 4C 44  59 20 52 45 41 4C 4F 54  |1.....LDY REALOT|
000014A0: AA 32 00 C1 18 0C 08 4A  53 52 20 46 41 44 44 20  |.2.....JSR FADD |
000014B0: 3B 46 41 43 31 20 B2 20  41 AC 44 20 AA 20 42 AC  |;FAC1 . A.D . B.|
000014C0: 43 00 DE 18 16 08 4C 44  41 20 43 4D 58 4F 50 20  |C.....LDA CMXOP |
000014D0: 3B 43 48 45 43 4B 20 4F  50 45 52 41 A4 52 00 F7  |;CHECK OPERA.R..|
000014E0: 18 20 08 43 4D 50 20 23  24 41 43 20 3B 22 49 53  |. .CMP #$AC ;"IS|
000014F0: 20 49 54 20 2A 20 3F 00  11 19 2A 08 42 45 51 20  | IT * ?...*.BEQ |
00001500: 43 4D 58 39 20 3B 59 45  53 2C 20 42 52 41 4E 43  |CMX9 ;YES, BRANC|
00001510: 48 00 31 19 34 08 4A 53  52 20 4D 4F 56 41 46 20  |H.1.4.JSR MOVAF |
00001520: 3B 46 41 43 32 20 B2 20  41 AC 44 20 AA 20 42 AC  |;FAC2 . A.D . B.|
00001530: 43 00 53 19 3E 08 4A 53  52 20 46 4C 46 35 37 20  |C.S.>.JSR FLF57 |
00001540: 3B 46 41 43 31 20 B2 20  4D 41 47 20 53 51 55 41  |;FAC1 . MAG SQUA|
00001550: 52 45 44 00 6D 19 48 08  4A 53 52 20 41 44 4A B4  |RED.m.H.JSR ADJ.|
00001560: 20 3B 41 44 4A 55 53 54  20 53 49 47 4E 00 97 19  | ;ADJUST SIGN...|
00001570: 52 08 4A 53 52 20 46 44  49 56 54 20 3B 46 41 43  |R.JSR FDIVT ;FAC|
00001580: 31 20 B2 20 28 41 AC 44  AA 42 AC 43 29 AD 28 43  |1 . (A.D.B.C).(C|
00001590: AC 43 AA 44 AC 44 29 00  B9 19 5C 08 4A 53 52 20  |.C.D.D)...\.JSR |
000015A0: 43 4D 58 35 20 3B 53 A4  52 45 20 49 4D 41 47 49  |CMX5 ;S.RE IMAGI|
000015B0: 4E 41 52 59 20 50 41 52  54 00 DB 19 66 08 4A 53  |NARY PART...f.JS|
000015C0: 52 20 46 4C 46 35 37 20  3B 46 41 43 31 20 B2 20  |R FLF57 ;FAC1 . |
000015D0: 4D 41 47 20 53 51 55 41  52 45 44 00 04 1A 70 08  |MAG SQUARED...p.|
000015E0: 4C 44 41 20 23 24 35 43  20 3B 46 41 43 31 20 B2  |LDA #$5C ;FAC1 .|
000015F0: 20 28 41 AC 43 AB 42 AC  44 29 AD 28 43 AC 43 AA  | (A.C.B.D).(C.C.|
00001600: 44 AC 44 29 00 11 1A 7A  08 4C 44 59 20 23 24 30  |D.D)...z.LDY #$0|
00001610: 30 00 2C 1A 84 08 4A 53  52 20 46 44 49 56 20 3B  |0.,...JSR FDIV ;|
00001620: 46 49 4E 41 4C 20 52 45  53 55 4C 54 00 3A 1A 8E  |FINAL RESULT.:..|
00001630: 08 4A 4D 50 20 43 4D 58  31 30 00 40 1A 98 08 3B  |.JMP CMX10.@...;|
00001640: 00 67 1A A2 08 43 4D 58  39 20 4A 53 52 20 43 4D  |.g...CMX9 JSR CM|
00001650: 58 35 20 3B 53 A4 52 45  20 49 4D 41 47 49 4E 41  |X5 ;S.RE IMAGINA|
00001660: 52 59 20 50 41 52 54 00  87 1A AC 08 4A 53 52 20  |RY PART.....JSR |
00001670: 46 4C 46 35 43 20 3B 46  41 43 31 20 B2 20 52 45  |FLF5C ;FAC1 . RE|
00001680: 41 4C 20 50 41 52 54 00  9E 1A B6 08 43 4D 58 31  |AL PART.....CMX1|
00001690: 30 20 4C 44 58 20 52 45  41 4C 4F 54 AA 31 00 AF  |0 LDX REALOT.1..|
000016A0: 1A C0 08 4C 44 59 20 52  45 41 4C 4F 54 AA 32 00  |...LDY REALOT.2.|
000016B0: CA 1A CA 08 4C 44 41 20  52 45 41 4C 4F 54 20 3B  |....LDA REALOT ;|
000016C0: B5 45 47 45 52 20 46 4C  41 47 00 E8 1A D4 08 4A  |.EGER FLAG.....J|
000016D0: 53 52 20 53 A4 52 46 50  20 3B 53 A4 52 45 20 52  |SR S.RFP ;S.RE R|
000016E0: 45 41 4C 20 50 41 52 54  00 F0 1A DE 08 52 54 53  |EAL PART.....RTS|
000016F0: 00 F6 1A E8 08 3B 00 1C  1B F2 08 3B AD AD AD 20  |.....;.....;... |
00001700: 43 4F 4D 50 4C 45 58 20  4E 55 4D 42 45 52 20 55  |COMPLEX NUMBER U|
00001710: 54 49 4C 49 54 49 45 53  20 AD AD AD 00 22 1B FC  |TILITIES ...."..|
00001720: 08 3B 00 35 1B 06 09 53  A4 52 46 50 20 53 54 58  |.;.5...S.RFP STX|
00001730: 20 81 50 4E 54 00 44 1B  10 09 53 54 59 20 81 50  | .PNT.D...STY .P|
00001740: 4E 54 AA 31 00 5F 1B 1A  09 4A 4D 50 20 56 41 52  |NT.1._...JMP VAR|
00001750: 53 54 52 20 3B CB 20 53  A4 52 45 20 C5 55 45 00  |STR ;. S.RE .UE.|
00001760: 65 1B 24 09 3B 00 89 1B  2E 09 41 44 44 53 55 42  |e.$.;.....ADDSUB|
00001770: 20 4C 44 58 20 43 4D 58  4F 50 20 3B 43 48 45 43  | LDX CMXOP ;CHEC|
00001780: 4B 20 4F 50 45 52 41 A4  52 00 A2 1B 38 09 43 50  |K OPERA.R...8.CP|
00001790: 58 20 23 24 41 41 20 3B  22 49 53 20 49 54 20 2B  |X #$AA ;"IS IT +|
000017A0: 20 3F 00 AE 1B 42 09 42  4E 45 20 41 53 31 00 C3  | ?...B.BNE AS1..|
000017B0: 1B 4C 09 4A 4D 50 20 46  41 44 44 20 3B CB 20 44  |.L.JMP FADD ;. D|
000017C0: 4F 20 AA 00 C9 1B 56 09  3B 00 DA 1B 60 09 41 53  |O ....V.;...`.AS|
000017D0: 31 20 4A 4D 50 20 46 53  55 42 00 E0 1B 6A 09 3B  |1 JMP FSUB...j.;|
000017E0: 00 07 1C 74 09 49 4E 49  4D 47 31 20 4C 44 41 20  |...t.INIMG1 LDA |
000017F0: 23 B3 49 4D 41 47 31 20  3B 42 52 49 4E 47 20 49  |#.IMAG1 ;BRING I|
00001800: 4E 20 49 4D 41 47 31 00  17 1C 7E 09 4C 44 59 20  |N IMAG1...~.LDY |
00001810: 23 B1 49 4D 41 47 31 00  2C 1C 88 09 43 4D 4F 56  |#.IMAG1.,...CMOV|
00001820: 46 4D 20 4A 4D 50 20 4D  4F 56 46 4D 00 32 1C 92  |FM JMP MOVFM.2..|
00001830: 09 3B 00 59 1C 9C 09 49  4E 49 4D 47 32 20 4C 44  |.;.Y...INIMG2 LD|
00001840: 41 20 23 B3 49 4D 41 47  32 20 3B 42 52 49 4E 47  |A #.IMAG2 ;BRING|
00001850: 20 49 4E 20 49 4D 41 47  32 00 69 1C A6 09 4C 44  | IN IMAG2.i...LD|
00001860: 59 20 23 B1 49 4D 41 47  32 00 87 1C B0 09 42 4E  |Y #.IMAG2.....BN|
00001870: 45 20 43 4D 4F 56 46 4D  20 3B 42 52 41 4E 43 48  |E CMOVFM ;BRANCH|
00001880: 20 41 4C 57 41 59 53 00  8D 1C BA 09 3B 00 B4 1C  | ALWAYS.....;...|
00001890: C4 09 49 4E 52 45 4C 32  20 4C 44 41 20 23 B3 52  |..INREL2 LDA #.R|
000018A0: 45 41 4C 32 20 3B 42 52  49 4E 47 20 49 4E 20 52  |EAL2 ;BRING IN R|
000018B0: 45 41 4C 32 00 C4 1C CE  09 4C 44 59 20 23 B1 52  |EAL2.....LDY #.R|
000018C0: 45 41 4C 32 00 E2 1C D8  09 42 4E 45 20 43 4D 4F  |EAL2.....BNE CMO|
000018D0: 56 46 4D 20 3B 42 52 41  4E 43 48 20 41 4C 57 41  |VFM ;BRANCH ALWA|
000018E0: 59 53 00 E8 1C E2 09 3B  00 0B 1D EC 09 4F 54 49  |YS.....;.....OTI|
000018F0: 4D 47 32 20 4C 44 58 20  23 B3 49 4D 41 47 32 20  |MG2 LDX #.IMAG2 |
00001900: 3B 53 A4 52 45 20 49 4D  41 47 32 00 1B 1D F6 09  |;S.RE IMAG2.....|
00001910: 4C 44 59 20 23 B1 49 4D  41 47 32 00 38 1D 00 0A  |LDY #.IMAG2.8...|
00001920: 4A 4D 50 20 4D 4F 56 4D  46 20 3B 42 52 41 4E 43  |JMP MOVMF ;BRANC|
00001930: 48 20 41 4C 57 41 59 53  00 3E 1D 0A 0A 3B 00 51  |H ALWAYS.>...;.Q|
00001940: 1D 14 0A 46 4C 46 35 37  20 4C 44 41 20 23 24 35  |...FLF57 LDA #$5|
00001950: 37 00 5F 1D 1E 0A 2E 42  59 54 45 20 24 32 43 00  |7._....BYTE $2C.|
00001960: 72 1D 28 0A 46 4C 46 35  43 20 4C 44 41 20 23 24  |r.(.FLF5C LDA #$|
00001970: 35 43 00 7F 1D 32 0A 4C  44 59 20 23 24 30 30 00  |5C...2.LDY #$00.|
00001980: 9A 1D 3C 0A 4A 4D 50 20  4D 4F 56 46 4D 20 3B 4D  |..<.JMP MOVFM ;M|
00001990: 4F 56 45 20 A4 20 46 41  43 31 00 A0 1D 46 0A 3B  |OVE . FAC1...F.;|
000019A0: 00 C6 1D 50 0A 43 4D 55  4C 54 20 4A 53 52 20 41  |...P.CMULT JSR A|
000019B0: 44 4A B4 20 3B 53 45 54  20 55 50 20 81 20 4D 55  |DJ. ;SET UP . MU|
000019C0: 4C 54 49 50 4C 59 00 EA  1D 5A 0A 4A 4D 50 20 46  |LTIPLY...Z.JMP F|
000019D0: 4D 55 4C 54 AA 33 20 3B  46 41 43 31 20 B2 20 46  |MULT.3 ;FAC1 . F|
000019E0: 41 43 31 20 AC 20 46 41  43 32 00 F0 1D 64 0A 3B  |AC1 . FAC2...d.;|
000019F0: 00 0F 1E 6E 0A 41 44 4A  B4 20 4C 44 41 20 46 41  |...n.ADJ. LDA FA|
00001A00: 43 B4 20 3B 41 44 4A 55  53 54 20 53 49 47 4E 00  |C. ;ADJUST SIGN.|
00001A10: 1B 1E 78 0A 45 B0 20 41  52 47 B4 00 28 1E 82 0A  |..x.E. ARG..(...|
00001A20: 53 54 41 20 41 52 49 B4  00 35 1E 8C 0A 4C 44 41  |STA ARI..5...LDA|
00001A30: 20 46 41 43 BD 00 3D 1E  96 0A 52 54 53 00 43 1E  | FAC..=...RTS.C.|
00001A40: A0 0A 3B 00 4A 1E AA 0A  2E 80 00 00 00           |..;.J........   |
..,.D.. COMPLEX NUMBER ARITHMETIC PAL SO
URCE.E.N..8,8,1,"0:COMPLEX.ML.N.X..700.Z
....OPT O8.`...;.....;..................
........................ .;.            
                         ......;.      C
OMPLEX NUMBER ARITHMETIC      ......;.  
      . THE COMMOD.E 64         ..>...;.
                                     ..H
.H.;.  .,.,. . . ARE ALL SUPP.TED AS   .
...R.;.       WELL AS COMPLEX NUMBERS   
    ..A...;.    (REPRESENTED AS .DERED P
AIRS).  ......;.                        
             ......;.            THOMAS 
HENRY             ..H...;.              
                       ..U...;..........
..............................{...;.....
.FLG . $0E ;$00 . FLTPT, $80 . .EGER.D."
..PNT . $49 ;TEMP PO.ER IN ....,.FAC. . 
$61 ;FLTPNT ACCUM, ..ENT...6.FAC. . $66 
;FLTPNT ACCUM, SIGN.1.@.ARG. . $6E ;FLTP
NT ACCUM #2, SIGN.[.J.ARI. . $6F ;FAC1 &
 FAC2 SIGN CMP FLAG...T.CHR. . $73 ;BASI
C CHARACTER . RTN...^.CHRKT . $79 ;RE.. 
OLD CHARACTER.N.H.REALOT . $02A7 ;REAL P
ART OUTPUT PNT...R.IMAKT . REALOT.3 ;IMG
 PART OUTPUT PNT.".|.REAL1 . IMAKT.3 ;1S
T NUMBER REAL PART.K...IMAG1 . REAL1.5 ;
1ST NUMBER IMG PART.U...REAL2 . IMAG1.5 
;2ND NUMBER REAL PART.....IMAG2 . REAL2.
5 ;2ND NUMBER IMG PART.E...CMXOP . IMAG2
.5 ;COMPLEX # OPERA.R.....IERR. . $0300 
;VEC.R . ERR. ROUTINE.....VARSTR . $A9C2
 ;S.RE NUMERIC VARIABLE.<.B.FRMNUM . $AD
8A ;EEUATE A NUMERIC._.L.CHKNUM . $AD8D 
;CHECK . NUMBER...V.CHKCLS . $AEF7 ;CHEC
K .   PAREN.....CHKOPN . $AEFA ;CHECK . 
. PAREN.I...CHKCOM . $AEFD ;CHECK . COMM
A.....CHKCHR . $AEFF ;CHECK . CHR IN ACC
.....SNERR . $AF08 ;DO 'SYNTAX ERR.'.4..
.PTR. . $B08B ;FIND VARIABLE.B...FSUB . 
$B850 ;FAC1 . (A:LSB,Y:MSB) . FAC1.....F
ADD . $B867 ;FAC1 . (A:LSB,Y:MSB) . FAC1
...&.FADDT . $B86A ;FAC1 . FAC2 . FAC1 (
SETUP)...0.FMULT . $BA28 ;FAC1 . (A:LSB,
Y:MSB) . FAC1...:.FDIV . $BB0F ;FAC1 . (
A:LSB,Y:MSB) . FAC1.A.D.FDIVT . $BB12 ;F
AC1 . FAC2 . FAC1.G.N.DIVZER . $BB8A ;'D
IVISI. BY ZERO'...X.MOVFM . $BBA2 ;FAC1 
. (A:LSB,Y:MSB)...B.FLT5C . $BBC7 ;S FAC
1 . $5C.$60.W.L.FLT57 . $BBCA ;S FAC1 . 
$57.$5B...V.MOVMF . $BBD4 ;(X:LSB,Y:MSB)
 . FAC1.....MOVAF . $BC0C ;FAC2 . FAC1.=
...NEKP . $BFB4 ;FAC1 . .FAC1.H...OLDERR
 . $E38B ;.INUE OLD ERR. ROUTINE.N...;.|
.... . $C000.....;.....INIT LDA #.CMXRTN
 ;CHANGE ERR. VEC.R...F.STA IERR..J.P.LD
A #.CMXRTN.Z.Z.STA IERR..1.....RTS.....;
.....CMXRTN CPX #$0B ;"SYNTAX-ERROR ?.(.
..BEQ CMX1 ;YES, MOVE ...Y...CMX0 JMP OL
DERR ;NO, DO REGULAR ERR. ROUTINE._...;.
.. .CMX1 JSR CHRKT ;RE. OFF.ING CHARACTE
R...*.CMP #'[' ;"LEFT-BRACKET?.E.4.BNE C
MX0 ;NO, .DINARY ERR....>.PLA ;POP JUNK 
FROM STACK...H.PLA...R.JSR CHR. ;FETCH .
 CHARACTER.*.\.JSR CHKOPN ;CHECK . . PAR
EN.I.F.JSR PTR. ;FIND REAL OUTPUT.I.P.JS
R CHKNUM ;CHECK . NUMERIC.O.Z.;.....STA 
REALOT.1 ;LSB.....STY REALOT.2 ;MSB.....
LDA .FLG ;. .EGER FLAG.E...STA REALOT...
..JSR CHKCOM ;CHECK . COMMA.....JSR PTR.
 ;FIND IMG OUTPUT.!...JSR CHKNUM ;CHECK 
. NUMERIC.6.J.STA IMAKT.1 ;LSB.K.T.STY I
MAKT.2 ;MSB.X...LDA .FLG.T...STA IMAKT ;
. .EGER FLAG.....JSR CHKCLS ;CHECK .   P
AREN.....LDA #$B2 ;CHECK . '.'.....JSR C
HKCHR.....JSR CHKOPN ;CHECK . . PAREN...
..JSR FRMNUM ;EEUATE REAL #1...$.LDX #.R
EAL1.....LDY #.REAL1.8.8.JSR MOVMF ;. IT
 . LATER.V.B.JSR CHKCOM ;CHECK . COMMA.T
.L.JSR FRMNUM ;EEUATE IMG #1...V.LDX #.I
MAG1...`.LDY #.IMAG1...J.JSR MOVMF ;. IT
 . LATER.P.T.JSR CHKCLS ;CHECK .   PAREN
...~.STA CMXOP ;. OPERA.R.....JSR CHR. ;
. . CHARACTER.%...JSR CHKOPN ;CHECK . . 
PAREN.D...JSR FRMNUM ;EEUATE REAL #2.T..
.LDX #.REAL2.D...LDY #.REAL2.....JSR MOV
MF ;. IT . LATER...D.JSR CHKCOM ;CHECK .
 COMMA...N.JSR FRMNUM ;EEUATE IMG #2.Y.X
.JSR OTIMG2 ;. IT . LATER.....JSR CHKCLS
 ;CHECK .   PAREN.....LDA #'] ;CHECK . '
]'.!...JSR CHKCHR.'...;.@...LDA CMXOP ;.
 OPERA.R.Y...CMP #$AA ;"IS IT + ?.V...BE
Q CMX4 ;BRANCH . IT IS.|.(.;...2.CMP #$A
B ;"IS IT - ?...<.BEQ CMX4 ;BRANCH . IT 
IS...F.;.Q.P.CMP #$AC ;"IS IT * ?...Z.BN
E CMX2 ;BRANCH . ....D.JMP CMX8...N.;...
X.CMX2 CMP #$AD ;"IS IT / ?.4...BNE CMX3
 ;BRANCH . ..A...JMP CMX6.G...;.I. .CMX3
 JMP SNERR ;'SYNTAX ERR.'.O...;.....CMX4
 JSR INREL2 ;BRING IN REAL #2.....LDA #.
REAL1...H.LDY #.REAL1.O.R.JSR ADDSUB ;DO
 . . .......LDX REALOT.1.....LDY REALOT.
2.....LDA REALOT ;.EGER FLAG.,...JSR S.R
FP ;S.RE REAL RESULT.L...JSR INIMG2 ;BRI
NG IN IMG #2.\...LDA #.IMAG1.L...LDY #.I
MAG1...".JSR ADDSUB ;DO . . ....,.CMX5 L
DX IMAKT.1...6.LDY IMAKT.2.D.@.LDA IMAKT
 ;.EGER FLAG...J.JSR S.RFP ;S.RE IMG RES
ULT...T.RTS...^.;...H.CMX6 JSR NEKP ;NEG
ATE D . C.JUGATE.,.R.JSR OTIMG2 ;. D.D.|
.JSR MOVAF ;FAC2 . D.^...JSR CMULT ;FAC1
 . D.D.S...JSR FLT57 ;. D.D.....JSR INRE
L2 ;BRING IN C.....JSR MOVAF ;FAC2 . C..
...JSR CMULT ;FAC1 . C.C.M...LDA #$57.Z.
B.LDY #$00...L.JSR FADD ;FAC1 . C.C . D.
D...V.LDA FAC. ;CHECK . ZERO.0...BNE CMX
7 ;BRANCH . OKAY.R...JMP DIVZER ;'DIVISI
. BY ZERO'.X...;.X...CMX7 JSR FLT57 ;. C
.C . D.D.....CMX8 LDA #.REAL1.....LDY #.
REAL1.....JSR MOVFM ;BRING IN A.O.&.JSR 
MOVAF ;FAC2 . A...0.JSR INREL2 ;BRING IN
 C...:.JSR CMULT ;FAC1 . A.C...D.JSR FLT
5C ;. IT.3.N.JSR INIMG2 ;BRING IN D.M.X.
JSR CMULT ;FAC1 . A.D.^.B.LDX REALOT.1.O
.L.LDY REALOT.2...V.JSR MOVMF ;. A.D....
.JSR INIMG1 ;BRING IN B.....LDA #.IMAG2.
....LDY #.IMAG2.Y...JSR FMULT ;FAC1 . B.
D.....LDA #$5C.....LDY #$00.....JSR FSUB
 ;FAC1 . A.C . B.D.+.F.JSR FLT5C ;. IT B
ACK.F.P.JSR INIMG1 ;BRING IN B.V.Z.LDA #
.REAL2.F...LDY #.REAL2.....JSR FMULT ;FA
C1 . B.C.....LDA REALOT.1.....LDY REALOT
.2.A...JSR FADD ;FAC1 . A.D . B.C.....LD
A CMXOP ;CHECK OPERA.R... .CMP #$AC ;"IS
 IT * ?...*.BEQ CMX9 ;YES, BRANCH.1.4.JS
R MOVAF ;FAC2 . A.D . B.C.S.>.JSR FLF57 
;FAC1 . MAG SQUARED.M.H.JSR ADJ. ;ADJUST
 SIGN...R.JSR FDIVT ;FAC1 . (A.D.B.C).(C
.C.D.D)...\.JSR CMX5 ;S.RE IMAGINARY PAR
T...F.JSR FLF57 ;FAC1 . MAG SQUARED...P.
LDA #$5C ;FAC1 . (A.C.B.D).(C.C.D.D)...Z
.LDY #$00.,...JSR FDIV ;FINAL RESULT.:..
.JMP CMX10.@...;.G...CMX9 JSR CMX5 ;S.RE
 IMAGINARY PART.....JSR FLF5C ;FAC1 . RE
AL PART.....CMX10 LDX REALOT.1.....LDY R
EALOT.2.J.J.LDA REALOT ;.EGER FLAG...T.J
SR S.RFP ;S.RE REAL PART.....RTS.....;..
...;... COMPLEX NUMBER UTILITIES ...."..
.;.5...S.RFP STX .PNT.D...STY .PNT.1._..
.JMP VARSTR ;K S.RE EUE.E.$.;.....ADDSUB
 LDX CMXOP ;CHECK OPERA.R...8.CPX #$AA ;
"IS IT + ?...B.BNE AS1.C.L.JMP FADD ;K D
O ..I.V.;.Z.`.AS1 JMP FSUB...J.;...T.INI
MG1 LDA #.IMAG1 ;BRING IN IMAG1...~.LDY 
#.IMAG1.,...CMOVFM JMP MOVFM.2...;.Y...I
NIMG2 LDA #.IMAG2 ;BRING IN IMAG2.I...LD
Y #.IMAG2.....BNE CMOVFM ;BRANCH ALWAYS.
....;...D.INREL2 LDA #.REAL2 ;BRING IN R
EAL2.D.N.LDY #.REAL2...X.BNE CMOVFM ;BRA
NCH ALWAYS.....;.....OTIMG2 LDX #.IMAG2 
;S.RE IMAG2.....LDY #.IMAG2.8...JMP MOVM
F ;BRANCH ALWAYS.>...;.Q...FLF57 LDA #$5
7._....BYTE $2C.R.(.FLF5C LDA #$5C..2.L
DY #$00...<.JMP MOVFM ;MOVE . FAC1. .F.;
.F.P.CMULT JSR ADJ. ;SET UP . MULTIPLY..
.Z.JMP FMULT.3 ;FAC1 . FAC1 . FAC2...D.;
...N.ADJ. LDA FAC. ;ADJUST SIGN...X.E. A
RG..(...STA ARI..5...LDA FAC..=...RTS.C.
 .;.J........
C64 Preview

> CLICK IMAGE PREVIEW FOR FULL MODAL