home *** CD-ROM | disk | FTP | other *** search
/ ABBUC Magazin 43A / ABBUC_Magazin_43_199x_ABBUC_Side_A.atr / atadis.txt next >
Text File  |  2023-02-26  |  4KB  |  1 lines

  1. ABBUC # 43¢¢¢¢ATADIS.TUR¢(bitte mit TurboBasic laden)¢von Pavel Hammerschmidt¢¢ATADIS ist ein Programm, mit dem man Programme in der Maschinensprache schreiben, anschauen und veraendern kann. Es ist in TURBO-BASIC geschrieben und entstand durch Verbesserung eines Programms mit dem gleichen Namen, dass in ATARI-BASIC geschrieben war und einige Fehler und Maengel enthielt.¢  ATADIS hat folgende Funktionen:¢  "Q"  QUIT¢  "O"  BINARY LOAD¢  "G"  GOTO¢  "P"  DUMP¢  "B"  BINARY DUMP¢  "D"  DISASSEMBLE¢  "X"  MOVE¢  "M"  MONITOR¢  "T"  TEXT WRITE¢  "A"  ASSEMBLE¢  "L"  LOAD¢  "S"  SAVE¢  "3"  PRINTER¢  "4"  HEX/DEC¢  ">"  DEC -> HEX¢  "<"  HEX -> DEC¢  "H"  DIR¢¢  Erklaerungen zu einigen Funktionen:¢¢QUIT: RAMTOP bleibt $60, damit das RAM von $6000 bis $BFFF unveraendert bleibt. Mit der RESET-Taste kann RAMTOP auf $C0 gesetzt werden.¢¢BINARY LOAD: Das geladene Programm muss in einem Block sein, es darf weder Segmente noch RUN- oder INIT-Adressen enthalten. Wenn die Anfangsadresse <$6000 ist, wird das Programm von $6000 geladen.¢¢GOTO: Das gestartete Programm darf, muss aber nicht mit PLA beginnen. BRK-instruktionen werden ignoriert. Wenn vom gestarteten Programm ATADIS oder Adressen $80...$CA ueberschrieben werden, ist die Rueckkekr in ATADIS nicht moeglich. GOTO wird nicht ausgefuehrt, wenn die eingegebene Adresse kleiner als $100 ist.¢¢BINARY DUMP: Bei der Ausgabe auf den Bildschirm sind die "1" invers. Wenn man BINARY DUMP waehlt und $E308 eingibt, sieht man sofort warum.¢¢MOVE: ATADIS entscheidet selber, ob von unten (wie beim MOVE Befehl in TURBO-BASIC) oder von oben (wie beim -MOVE Befehl) verschoben werden muss.¢¢ASSEMBLE: Bei der Eingabe der Instruktionen werden die Zahlen als decimal angenommen. Hexadecimale Zahlen muessen mit "$" beginnen. Zahlen, die kleiner als $100 sind, koennen auch binaer eingegeben werden. Sie muessen mit "%" bezeichnet werden. Nach der Eingabe der Instruktion wird sie wieder Disassembliert, damit man ueberpruefen kann, ob ATADIS die Instruktion richtig verstanden hat. Ist das nicht der Fall, so kann man "DEL" eingeben. Mit "DEL" kann man nur eine Instruktion zurueckgehen! In ATADIS kann bei Instruktionen, die sowohl ZERO-PAGE als auch ABSOLUTe Adressierung benutzen, bei einem ZERO-PAGE-Operand die ABSOLUTe Adressierung erzwungen werden, indem man den Operand hexadecimal und 3- oder 4-stellig angibt. In MAC/65 ist dass nicht moeglich, so dass zum Beispiel "STA $0080,X" mit ".BYTE" umschrieben werden muss. ASSEMBLE kann mit der Pseudoinstruktion "END" oder durch Druecken von <CTL>-<3> beendet werden. Bei "END" werden nach dem Programmende noch 2 Nullen in den Speicher geschrieben.¢¢LOAD: Der Benutzer ist selber verantwortlich, dass die eingegebene Adresse sinvoll ist.¢¢HEX/DEC: Betrifft nur die Ausgabe. Die eingegebenen Zahlen (ausser bei ASSEMBLE) muessen HEX sein!¢¢  Allgemeine Bemerkungen:¢- Ausser bei BINARY LOAD ist ATADIS nicht gegen Fehleingaben geschuetzt.¢- Auf den Adressen $C000... $CFFF und $D800...$FFFF wird ROM ausgelesen, das Schreiben wird dort ignoriert.¢- Ich weiss, dass ATADIS nicht das beste Monitorprogramm ist. Mit Programmen, die nur in der Maschinensprache geschrieben sind, ist ATADIS nur schlecht brauchbar. Es ist vor allem gut, um das OS anzuschauen und Routinen in der Maschinensprache fuer TURBO-BASIC-Programme zu schreiben und anzuschauen.                      - ATADIS ist Public Domain, sollte aber ohne mein Wissen nicht veraendert werden. Es ist sehr wahrscheinlich fehlerlos, wer aber trotzdem einen Fehler findet, wird gebeten, ihn mir mitzuteilen.¢¢    Pavel Hannerschmied¢    Burgernzielweg 14/3¢    3006 BERN¢    SCHWEIZ¢    TEL: 004131 3528131¢¢