Floppy-Lister
Mit einem einfachen SYS-Aufruf können Sie Programme und sequentielle Dateien direkt von Diskette listen. Programme im Speicher bleiben dabei erhalten.
»Floppy-Lister« bietet zwei Möglichkeiten ein Programm von Diskette zu listen. Basic-Programme und sequentielle Dateien können entweder als Klartext oder als Speicherauszug (Dumps) gelistet werden. Im Dumpmodus werden sämtliche Daten als Hexcodes ausgegeben und, soweit möglich, in ASCII-Zeichen übersetzt. Deshalb eignet er sich besonders zum Analysieren von unbekannten Programmdateien. Maschinenprogramme dürfen grundsätzlich nur auf diese Art gelistet werden, will man einen Absturz vermeiden.
Ist das Ladeprogramm mit dem MSE eingetippt, kann das Maschinenprogramm auf Diskette oder Kassette gespeichert werden. Der »Floppy-Lister« kann dann direkt geladen (LOAD "name", 8,1, oder LOAD "name", 1,1) und mit SYS 49152,"XY:filename" aufgerufen werden. Vergessen Sie nach dem absoluten Laden nicht, den erforderlichen NEU-Befehl im Direktmodus einzugeben, um die Basic-Zeiger in einen vernünftigen Zustand zu bringen. »X« steht für die Fileart: entweder »P« für Programm oder »S« für sequentielle Datei. »Y« steht für den Modus, in dem gelistet werden soll: »L« für einfaches Listen und »D« für Ausgabe in Form eines Speicherauszugs. Zum Beispiel listet der Befehl SYS 49152,"SL:TESTSEQUENZ" eine sequentielle Datei mit dem Namen »TESTSEQUENZ«. Abkürzungen des Filenamens mit »*« sind erlaubt. Falsche Eingaben werden mit einer Fehlermeldung quittiert.
Mit der CTRL-Taste kann die Ausgabe verlangsamt und mit der RUN/STOP-Taste unterbrochen werden. Eine Fortsetzung erfolgt mit der A-, und vorzeitiger Abbruch des Listens mit der DEL-Taste. Am Ende eines Listings muß immer die SPACE-Taste gedrückt werden.
Das Maschinenprogramm für »Floppy-Lister« liegt im Bereich von $C000-$C2B2 (49152-49842). An das Programm schließt sich noch ein Pufferbereich an, wo Daten zwischengespeichert werden. "Floppy-Lister" läuft mit den gängigen Erweiterungen, wie DOS 5.1, Simons Basic und Exbasic.
(B.Schulzki/hm)PROGRAMM : FLOPPYLISTER C000 C2B5 ----------------------------------- C000 : 20 FD AE 20 9E AD 20 A3 EE C008 : B6 A5 64 85 A7 A5 65 85 A3 C010 : A8 A0 00 B1 A7 99 1F C3 8A C018 : C8 C0 03 90 F6 AD 1F C3 F4 C020 : C9 14 B0 1E C9 04 90 24 2A C028 : A0 00 AD 21 C3 85 A8 AD BE C030 : 20 C3 85 A7 B1 A7 99 22 8B C038 : C3 C8 CC 1F C3 D0 F5 4C A9 C040 : 53 C0 A9 6F A0 C2 20 1E 28 C048 : AB 4C 74 A4 A9 88 A0 C2 B2 C050 : 4C 46 C0 A2 00 BD 22 C3 42 C058 : 8D 1E C3 C9 50 F0 08 C9 5F C060 : 53 D0 E9 A0 04 D0 02 A0 BA C068 : 00 E8 BD 22 C3 C9 4C F0 2E C070 : 06 C9 44 D0 D7 C8 C8 E8 3F C078 : BD 22 C3 C9 3A D0 CD 8C EB C080 : 0E C3 AE 1F C3 A9 2C 48 CA C088 : 9D 22 C3 E8 AD 1E C3 9D 5A C090 : 22 C3 68 E8 9D 22 C3 A9 18 C098 : 52 E8 9D 22 C3 A9 00 E8 65 C0A0 : 9D 22 C3 EE 1F C3 AD 28 34 C0A8 : 03 8D 0F C3 AD 29 03 8D F9 C0B0 : 10 C3 A9 22 8D 28 03 A9 CA C0B8 : C2 8D 29 03 AD 1F C3 A2 14 C0C0 : 25 A0 C3 20 BD FF A9 02 B1 C0C8 : A2 08 A0 02 20 BA FF 20 EF C0D0 : C0 FF A2 02 20 C6 FF AC 0A C0D8 : 0E C3 B9 AB C2 8D 11 C3 10 C0E0 : B9 AC C2 8D 12 C3 6C 11 65 C0E8 : C3 A9 00 8D 13 C3 8D 14 DF C0F0 : C3 8D 15 C3 A2 00 20 0F 00 C0F8 : C2 B0 03 4C E9 C1 20 CF 29 C100 : FF 9D 16 C3 A5 90 D0 05 F8 C108 : E8 E0 08 90 E9 8D 15 C3 5B C110 : A9 00 E8 E0 08 B0 07 9D 6D C118 : 16 C3 E8 4C 13 C1 20 4C 2C C120 : C2 AD 14 C3 20 2A C2 AD F0 C128 : 13 C3 20 2A C2 A9 3A 20 0D C130 : D2 FF A2 00 BD 16 C3 20 86 C138 : 23 C2 E8 E0 08 90 F5 20 30 C140 : 4C C2 A9 12 20 D2 FF A2 78 C148 : 00 BD 16 C3 29 7F C9 20 1B C150 : B0 04 A9 2E D0 03 BD 16 7B C158 : C3 20 D2 FF E8 E0 08 90 B7 C160 : E8 A9 0D 20 D2 FF AD 15 72 C168 : C3 D0 11 18 AD 13 C3 69 30 C170 : 08 8D 13 C3 90 03 EE 14 81 C178 : C3 4C F4 C0 4C E9 C1 20 12 C180 : 51 C2 20 51 C2 A2 FF 20 E6 C188 : 51 C2 A5 A7 E8 9D B3 C2 68 C190 : E0 03 90 F3 20 51 C2 E8 FE C198 : A5 A7 9D B3 C2 D0 F5 E8 4B C1A0 : 9D B3 C2 E8 9D B3 C2 A9 BA C1A8 : B3 85 5F A0 C2 84 60 20 1C C1B0 : 37 A5 AD 00 03 48 AD 01 50 C1B8 : 03 48 A9 22 8D 00 03 A9 C6 C1C0 : C2 8D 01 03 20 C3 A6 68 75 C1C8 : 8D 01 03 68 8D 00 03 20 C9 C1D0 : 0F C2 B0 B1 4C E9 C1 20 FE C1D8 : CF FF 20 D2 FF A5 90 D0 1A C1E0 : 08 20 0F C2 B0 F1 4C E9 B4 C1E8 : C1 20 CC FF A9 02 20 C3 9F C1F0 : FF AD 0F C3 8D 28 03 AD 84 C1F8 : 10 C3 8D 29 03 A9 60 A0 B3 C200 : C2 20 1E AB A5 CB C9 3C 28 C208 : D0 FA A9 00 85 C6 60 A5 1B C210 : CB F0 0E C9 3F D0 08 A5 F6 C218 : CB F0 06 C9 0A D0 F8 38 92 C220 : 60 18 60 48 A9 20 20 D2 6F C228 : FF 68 48 4A 4A 4A 4A 20 17 C230 : 42 C2 A8 68 29 0F 20 42 1B C238 : C2 48 98 20 D2 FF 68 4C B0 C240 : D2 FF 18 69 F6 90 02 69 14 C248 : 06 69 3A 60 A9 20 4C D2 10 C250 : FF 20 CF FF 85 A7 A5 90 A0 C258 : F0 05 68 68 4C E9 C1 60 CE C260 : 0D 20 20 20 20 12 20 53 43 C268 : 50 41 43 45 20 0D 00 0D 57 C270 : 46 45 48 4C 45 52 3A 20 05 C278 : 4E 41 4D 45 20 5A 55 20 CD C280 : 4C 41 4E 47 20 21 0D 00 29 C288 : 0D 46 45 48 4C 45 52 3A BF C290 : 20 46 41 4C 53 43 48 45 A8 C298 : 53 20 45 49 4E 47 41 42 1F C2A0 : 45 46 4F 52 4D 41 54 20 97 C2A8 : 21 0D 00 7F C1 E9 C0 D7 5E C2B0 : C1 E9 C0 32 A9 0F