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 Image
> CLICK IMAGE PREVIEW FOR FULL MODAL