FOXMON - manuál
Tu je popis funkcií programu FOXMON.
FOXMON je monitor/disassembler strojového kódu procesora Z80. Vie spracovávať všetky inštrukcie okrem niektorých "tajných". Nevie napr. INC HX a zobrazuje to ako INC H. Je určený hlavne na odlaďovanie programov a na písanie krátkych rutín priamo v strojovom kóde. Na rozdiel od iných monitorov nevie zobraziť obsah registrov procesora.
Pohyb po disassemblovanom texte sa uskutočňuje pomocou kláves 5, 6, 7 a 8. Aktuálna adresa (teda tá, na ktorú sa bude pokovať) je prvý riadok na obrazovke. Pri zadávaní číselných hodnôt je možné zadávať dec aj hexa hodnoty (s mriežkou, #FD).
Funkčné klávesy
Nasleduje popis funkcií, ktoré je možné previesť po stlačení príslušnej klávesy.
Q - návrat z monitora
Návrat späť do basicu. Vráti sa tam, odkiaľ bol spustený. V priebehu práce používa vlastný zásobník, takže ak sa nejakým spôsobom poruší zásobník BASICu, môže dôjsť k zrúteniu systému.
W - nastavenie breakpointu
Po nastavení sa na zvolenú adresu a stlačení W umiestni CALL 21249. Pokiaľ sa potom spustí strojový program a príde po túto adresu, inicializuje sa FOXMON (nesmie sa však zmazať obrazovka!!!) a vráti na miesto breakpointu pôvodnú hodnotu.
R - štart kódu
Otvorí dialóg pre zadanie adresy odkiaľ bude spustený strojový program. Vykoná JP adresa. Napr. JP 4535 prevedie príkaz NEW.
T - vpisovanie textu
Od nastavenej adresy umožňuje vpísať niekoľko ASCII znakov (max. 16)
I - operácie s blokom pamäti
Otvorí dialóg, v ktorom sa zadá začiatok a koniec bloku pamäti, na ktorom sa budú prevádzať nasledovné funkcie po stlačení príslušnej klávesy:
1 - ADD - Pripočíta ku každej hodnote v bloku zadané číslo.
2 - SUB - Odpočíta od každej hodnoty v bloku zadané číslo.
3 - RL - Roluje hodnoty v bloku do ľava.
4 - RR - Roluje hodnoty v bloku do prava.
5 - XOR - Xoruje blok zadaným číslom.
6 - n - Naplní blok zadaným číslom.
O - POKE
Zadáva POKE na nastavenú adresu. Je možné zadávať aj 16 bitové čísla. FOXMON ich korektne vloží do pamäti a nastaví sa na nasledujúcu adresu (pri 8bit číslach je to adr+1 a pri 16bit je to adr+2).
P - print
Vytlačí viditeľnú časť výpisu na ZX Printer pomocou COPY.
L - presun bloku pamäti
Presunie blok pamäti so od zadanej odresy so zadanou dĺžkou. Funguje korektne, nie ako LDIR
A - zmena výpisu text/assembler
Prepína medzi výpisom ASCII a assembler.
S - save
Uloží blok kódu na kazetu.
D - kalkulátor
Umožňuje sčítať alebo odčítať dve čísla pričom výsledok je v rozmedzí 0-65535.
F - hľadanie reťazca
Vyhľadá zadaný reťazec ASCII znakov.
G - hľadanie číselných hodnôt
Vyhľadáva zadanú postupnosť čísel. Zadať sa môžu aj 16bit čísla.
H - prepína zobrazenie HEX/DEC
Prepína medzi zobrazením čísel HEX/DEC. Táto voľba má vplyv aj na zadávanie číselných hodnôt.
J - load
Nahrá blok od zadanej adresy so zadanou dĺžkou. Pokiaľ je dĺžka zadaná nesprávne, píše chybu.
B - binárna konverzia
Zmení dekadické alebo hexa číslo na binárne.
N - nasledujúca adresa
Hľadá ďalší výskyt hodnoty zadanej v F alebo G.
M - nastavenie adresy monitorovania
Po stlačení si vypýta adresu, od ktorej bude disassemblovať.
Toť vsjo. Verím, že sa vám bude FOXMON páčiť a ak nie, tak smola...:)
POL/Phantasy