ADMA
From Atariki
Atari-Debug/MiniASM - mały (2108 bajtów) debugger przeportowany z Apple II przez Nathana Hartwella. ADMA jest kombinacją dwóch programów: Apple II System Monitor oraz Apple II Mini-Assembler. Autorami kodu są Steve Wozniak i A. Baum.
Mini-asembler
Komenda "!" powoduje przejście do mini-asemblera. Mini-asembler pozwala na wpisywanie mnemoników bezpośrednio z linii komend pod wskazany adres. Mozna to zrobić na jeden z dwóch sposobów:
- adres:mnemonik dane - np. 0600:JMP E477 - ustawia to jednocześnie "licznik programu" na wskazany adres.
- [spacja]mnemonik dane - wpisuje podany rozkaz pod następny adres wskazywany przez "licznik programu"
Wyjście z mini asemblera i powrót do trybu debuggera uzyskuje się przez wydanie pustej komendy, tj. wciśnięcie klawisza Return.
Komendy debuggera
Wszystkie komendy - np. Ctrl/C - zatwierdza się klawiszem Return.
- Ctrl/B - uruchomienie cartridge'a
- Ctrl/C - wyjście do DOS-u
- Ctrl/E - wyświetlenie zawartości rejestrów procesora
- Ctrl/Y - skok do funkcji zdefiniowanej przez uzytkownika (wektor $1C-$1D)
- Return - potwierdzenie komendy. Jeśli podano przy tym adres, zawartość bajtu pod tym adresem jest wyświetlana na ekranie. Jeśli adresu nie podano, program wyświetli zawartość ośmiu bajtów znajdujących się pod aktualnie ustawionym adresem. Inkrementacja jest automatyczna.
- : - wprowadzanie danych pod podany adres. Przykład: $2000:A9 00 60
- . - wyświetlenie zawartości zdefiniowanego bloku pamięci. Przykład: $E000.E00F
- ! - wejście do mini-asemblera
- ? - przeszukiwanie pamięci. Przykład: $9B<C000.CFFF? (znajdź wartość $9B w bloku od $C000 do $CFFF)
- + - dodawanie. Przykład: $43+20
- - - odejmowanie. Przykład: $43-20
- G - uruchonienie programu od podanego adresu. Przykład: $E477G
- L - disasemblacja 20 rozkazów od podanego adresu. Przykład: $2000L
- M - kopiowanie bloku pamięci. Przykład: $4000<C000.CFFFM (skopiuj dane spod $C000-$CFFF pod adres $4000)
- N - NOP
- S - wykonaj jeden rozkaz znajdujący się pod podanym adresem. Przykład: $4000S
- T - wykonuj rozkazy jeden po drugim, wyświetlając po każdym kroku zawartość rejestrów, aż do napotkania BRK
- V - porównywanie bloków pamięci. Przykład: $4000<C000.CFFFV
- / - przekazanie wydanej komendy do SpartaDOS. Przykład: /DIR