> DETECTED: COMMODORE BASIC PROGRAM (LOAD ADDRESS $0801)
00000000: 01 08 45 08 00 00 8F 20 2A 2A 2A 2A 2A 2A 2A 2A |..E.... ********|
00000010: 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A |****************|
00000020: 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A |****************|
00000030: 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A |****************|
00000040: 2A 2A 2A 2A 2A 00 89 08 01 00 8F 20 2A 2A 2A 20 |*****...... *** |
00000050: 20 20 20 20 20 20 4E 55 4D 42 45 52 20 52 4F 55 | NUMBER ROU|
00000060: 4E 44 49 4E 47 20 53 55 42 52 4F 55 54 49 4E 45 |NDING SUBROUTINE|
00000070: 20 46 4F 52 20 36 34 20 20 20 20 20 20 20 20 20 | FOR 64 |
00000080: 20 20 20 20 20 20 2A 2A 2A 00 CD 08 02 00 8F 20 | ***...... |
00000090: 2A 20 57 48 45 4E 20 2B 56 45 20 4F 52 20 2D 56 |* WHEN +VE OR -V|
000000A0: 45 20 56 20 49 53 20 49 4E 50 55 54 3B 20 56 24 |E V IS INPUT; V$|
000000B0: 20 52 45 54 55 52 4E 53 20 57 49 54 48 20 4C 45 | RETURNS WITH LE|
000000C0: 4E 47 54 48 20 31 32 2C 20 20 20 20 2A 00 11 09 |NGTH 12, *...|
000000D0: 03 00 8F 20 2A 20 41 4E 44 20 54 52 55 4E 43 41 |... * AND TRUNCA|
000000E0: 54 45 44 20 54 4F 20 32 20 44 45 43 2E 20 50 4C |TED TO 2 DEC. PL|
000000F0: 41 43 45 53 20 28 55 53 45 52 20 43 41 4E 20 43 |ACES (USER CAN C|
00000100: 48 41 4E 47 45 20 54 48 45 53 45 29 2E 20 20 20 |HANGE THESE). |
00000110: 2A 00 55 09 04 00 8F 20 2A 20 45 58 50 4F 4E 45 |*.U.... * EXPONE|
00000120: 4E 54 20 45 3A 20 42 45 4C 4F 57 20 2E 30 31 20 |NT E: BELOW .01 |
00000130: 47 45 54 20 30 2E 30 30 3B 20 48 55 47 45 20 4E |GET 0.00; HUGE N|
00000140: 55 4D 42 45 52 53 20 47 45 54 20 4F 56 45 52 46 |UMBERS GET OVERF|
00000150: 4C 4F 57 20 2A 00 99 09 05 00 8F 20 2A 20 20 20 |LOW *...... * |
00000160: 20 20 20 2E 30 30 32 20 49 53 20 20 46 4F 52 4D | .002 IS FORM|
00000170: 41 54 54 45 44 20 41 53 20 22 20 20 20 20 20 20 |ATTED AS " |
00000180: 20 20 30 2E 30 30 22 20 20 20 20 20 20 20 20 20 | 0.00" |
00000190: 20 20 20 20 20 20 20 20 2A 00 DD 09 06 00 8F 20 | *...... |
000001A0: 2A 20 20 20 20 20 20 20 2D 2E 32 20 49 53 20 20 |* -.2 IS |
000001B0: 46 4F 52 4D 41 54 54 45 44 20 41 53 20 22 20 20 |FORMATTED AS " |
000001C0: 20 20 20 20 20 20 2D 2E 32 30 22 20 20 20 20 20 | -.20" |
000001D0: 20 20 20 20 20 20 20 20 20 20 20 20 2A 00 21 0A | *.!.|
000001E0: 07 00 8F 20 2A 20 20 31 32 33 34 2E 35 36 37 20 |... * 1234.567 |
000001F0: 49 53 20 20 46 4F 52 4D 41 54 54 45 44 20 41 53 |IS FORMATTED AS|
00000200: 20 22 20 20 20 20 20 31 32 33 34 2E 35 36 22 20 | " 1234.56" |
00000210: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | |
00000220: 2A 00 65 0A 08 00 8F 20 2A 20 20 20 20 20 20 20 |*.e.... * |
00000230: 39 45 39 20 49 53 20 20 46 4F 52 4D 41 54 54 45 |9E9 IS FORMATTE|
00000240: 44 20 41 53 20 22 2A 2A 2A 20 4F 56 45 52 46 4C |D AS "*** OVERFL|
00000250: 4F 57 22 20 20 20 20 20 20 20 20 20 20 20 20 20 |OW" |
00000260: 20 20 20 20 2A 00 A9 0A 09 00 8F 20 2A 2A 2A 2A | *...... ****|
00000270: 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A |****************|
00000280: 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A |****************|
00000290: 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A |****************|
000002A0: 2A 2A 2A 2A 2A 2A 2A 2A 2A 00 E2 0A 14 00 81 20 |*********...... |
000002B0: 56 B2 AB 32 30 20 A4 20 32 30 30 20 A9 20 31 32 |V..20 . 200 . 12|
000002C0: 2E 37 3A 20 8D 20 31 30 30 3A 20 99 20 56 3B 20 |.7: . 100: . V; |
000002D0: 56 24 3A 20 82 3A 20 80 3A 20 20 20 8F 20 44 45 |V$: .: .: . DE|
000002E0: 4D 4F 00 2D 0B 64 00 54 39 24 B2 C4 28 56 29 20 |MO.-.d.T9$..(V) |
000002F0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | |
00000300: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | |
00000310: 20 20 20 20 20 20 20 20 20 3A 8F 20 57 45 27 4C | :. WE'L|
00000320: 4C 20 55 53 45 20 53 54 52 49 4E 47 53 00 70 0B |L USE STRINGS.p.|
00000330: 69 00 45 39 B2 30 3A 20 81 20 4A 39 B2 31 20 A4 |i.E9.0: . J9.1 .|
00000340: 20 C3 28 54 39 24 29 3A 20 8B 20 CA 28 54 39 24 | .(T9$): . .(T9$|
00000350: 2C 4A 39 2C 31 29 B2 22 45 22 20 A7 20 45 39 B2 |,J9,1)."E" . E9.|
00000360: 4A 39 3A 20 8F 20 4C 4F 4F 4B 20 46 4F 52 20 45 |J9: . LOOK FOR E|
00000370: 00 AF 0B 6E 00 82 3A 20 8B 20 45 39 B1 30 20 AF |...n..: . E9.0 .|
00000380: 20 CA 28 54 39 24 2C 45 39 AA 31 2C 31 29 B2 22 | .(T9$,E9.1,1)."|
00000390: 2D 22 20 A7 20 54 39 24 B2 22 30 2E 30 30 22 3A |-" . T9$."0.00":|
000003A0: 20 89 20 31 35 30 3A 20 8F 20 55 4E 44 45 52 00 | . 150: . UNDER.|
000003B0: F2 0B 73 00 8B 20 45 39 B1 30 20 AF 20 CA 28 54 |..s.. E9.0 . .(T|
000003C0: 39 24 2C 45 39 AA 31 2C 31 29 B2 22 2B 22 20 A7 |9$,E9.1,1)."+" .|
000003D0: 20 54 39 24 B2 22 2A 2A 2A 20 4F 56 45 52 46 4C | T9$."*** OVERFL|
000003E0: 4F 57 22 3A 20 89 20 31 35 30 3A 20 8F 20 4F 56 |OW": . 150: . OV|
000003F0: 45 52 00 23 0C 78 00 8B 20 CA 28 54 39 24 2C 32 |ER.#.x.. .(T9$,2|
00000400: 2C 31 29 B2 22 2E 22 20 A7 20 54 39 24 B2 C8 28 |,1)."." . T9$..(|
00000410: 54 39 24 2C 31 29 AA 22 30 22 AA CA 28 54 39 24 |T9$,1)."0"..(T9$|
00000420: 2C 32 29 00 6C 0C 79 00 8F 20 41 44 44 20 4C 45 |,2).l.y.. ADD LE|
00000430: 41 44 49 4E 47 20 5A 45 52 4F 20 54 4F 20 28 45 |ADING ZERO TO (E|
00000440: 2E 47 2E 29 20 2E 35 20 4F 52 20 2E 31 32 33 2C |.G.) .5 OR .123,|
00000450: 20 52 45 54 41 49 4E 49 4E 47 20 27 2D 27 20 57 | RETAINING '-' W|
00000460: 48 45 52 45 20 50 52 45 53 45 4E 54 00 AC 0C 7D |HERE PRESENT...}|
00000470: 00 44 39 B2 30 3A 20 81 20 4A 39 B2 31 20 A4 20 |.D9.0: . J9.1 . |
00000480: C3 28 54 39 24 29 3A 20 8B 20 CA 28 54 39 24 2C |.(T9$): . .(T9$,|
00000490: 4A 39 2C 31 29 B2 22 2E 22 20 A7 20 44 39 B2 4A |J9,1)."." . D9.J|
000004A0: 39 20 3A 8F 20 44 45 43 49 4D 41 4C 00 F6 0C 82 |9 :. DECIMAL....|
000004B0: 00 82 20 20 20 20 20 20 20 20 20 20 20 20 20 20 |.. |
000004C0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | |
000004D0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | |
000004E0: 3A 8F 20 50 4F 49 4E 54 20 49 53 20 41 54 20 50 |:. POINT IS AT P|
000004F0: 4F 53 4E 20 44 39 00 3C 0D 87 00 8B 20 44 39 B2 |OSN D9.<.... D9.|
00000500: 30 20 A7 20 44 39 B2 C3 28 54 39 24 29 AA 31 3A |0 . D9..(T9$).1:|
00000510: 20 54 39 24 B2 54 39 24 AA 22 2E 22 20 20 20 20 | T9$.T9$."." |
00000520: 20 20 20 20 20 20 20 3A 8F 20 4F 52 20 41 44 44 | :. OR ADD|
00000530: 20 44 2E 50 2E 20 4F 4E 20 45 4E 44 00 84 0D 8C | D.P. ON END....|
00000540: 00 54 39 24 B2 54 39 24 AA 22 30 30 22 20 20 20 |.T9$.T9$."00" |
00000550: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | |
00000560: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | |
00000570: 20 20 20 3A 8F 20 41 4C 57 41 59 53 20 41 44 44 | :. ALWAYS ADD|
00000580: 20 30 30 2C 00 CC 0D 91 00 54 39 24 B2 C8 28 54 | 00,.....T9$..(T|
00000590: 39 24 2C 44 39 AA 32 29 20 20 20 20 20 20 20 20 |9$,D9.2) |
000005A0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | |
000005B0: 20 20 20 20 20 20 20 3A 8F 20 32 20 44 45 43 2E | :. 2 DEC.|
000005C0: 20 50 4C 41 43 45 53 20 48 45 52 45 00 13 0E 96 | PLACES HERE....|
000005D0: 00 56 24 B2 20 C9 28 22 20 20 20 20 20 20 20 20 |.V$. .(" |
000005E0: 20 20 20 20 22 AA 54 39 24 2C 31 32 29 20 20 20 | ".T9$,12) |
000005F0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3A 8F | :.|
00000600: 20 41 44 44 20 4C 45 41 44 49 4E 47 20 53 50 41 | ADD LEADING SPA|
00000610: 43 45 53 00 19 0E 9B 00 8E 00 00 00 |CES......... |
..E.... ********************************
*****************************...... ***
NUMBER ROUNDING SUBROUTINE FOR 64
***.M.... * WHEN +VE OR -V
E V IS INPUT; V$ RETURNS WITH LENGTH 12,
*...... * AND TRUNCATED TO 2 DEC. PL
ACES (USER CAN CHANGE THESE). *.U....
* EXPONENT E: BELOW .01 GET 0.00; HUGE N
UMBERS GET OVERFLOW *...... * .002
IS FORMATTED AS " 0.00"
*...... * -.2 IS FORMATTE
D AS " -.20" *.!.
... * 1234.567 IS FORMATTED AS " 1
234.56" *.E.... *
9E9 IS FORMATTED AS "*** OVERFLOW"
*...... ********************
****************************************
*...... V..20 . 200 . 12.7: . 100: . V;
V$: .: .: . DEMO.-.D.T9$.D(V)
:. WE'L
L USE STRINGS.P.I.E9.0: . J9.1 . C(T9$):
. J(T9$,J9,1)."E" . E9.J9: . LOOK FOR E
...N..: . E9.0 . J(T9$,E9.1,1)."-" . T9$
."0.00": . 150: . UNDER...S.. E9.0 . J(T
9$,E9.1,1)."+" . T9$."*** OVERFLOW": . 1
50: . OVER.#.X.. J(T9$,2,1)."." . T9$.H(
T9$,1)."0".J(T9$,2).L.Y.. ADD LEADING ZE
RO TO (E.G.) .5 OR .123, RETAINING '-' W
HERE PRESENT...}.D9.0: . J9.1 . C(T9$):
. J(T9$,J9,1)."." . D9.J9 :. DECIMAL....
..
:. POINT IS AT POSN D9.<.... D9.
0 . D9.C(T9$).1: T9$.T9$."." :
. OR ADD D.P. ON END.....T9$.T9$."00"
:. AL
WAYS ADD 00,.L...T9$.H(T9$,D9.2)
:. 2 DEC. PLACES
HERE.....V$. I(" ".T9$,12)
:. ADD LEADING SPACES.....
....
×
C64 Image
> CLICK IMAGE PREVIEW FOR FULL MODAL