226 8. Uruchamianie programów asemblerowych
- stanu rejestrów, 7Jiaczników i ostatnich pięciu warstw stosu, 1 pole;
- wybranych obszarów pamięci operacyjnej: 2 pole w kodach szesnastkowych i 3 pole w kodach szesnastkowych i ASCII;
- ośmiu rozkazów począwszy od rozkazu adresowanego przez CS:IP, 4 pole.
AX 0000 |
SI 0000 |
CS 9095 |
IP0000 |
Stack + 0 82BE |
FLAGS 0200 |
i BX 0000 |
DI 0000 |
DS 8FED |
+ 2 AC00 | ||
i CX 0AB3 |
BP 0000 |
ES8FED |
HS 8FED |
+4B850 |
OF DFIFSFZFAFPFCP |
DX 0000 |
SP 0100 |
SS 9085 |
FS 8FED |
+ 6 8FFD |
0 0 1 0 0 0 0 0 |
CMD > |
1 |
0 1 2 3 4 5 6 7 | |||
DS:0000 |
CD 20 00 A0 00 9A EE FE | ||||
DS:0008 |
1DFDED04E0 7F3C01 | ||||
0000 BE8200 |
MÓV |
SI ,0082 |
DS:0010 |
F7 7E 56 05F7 7EE0 7F | |
0003 AC |
LODSB |
DS-.0018 |
01 01 01 00 02 FF FF FF | ||
0004 50 |
PUSH |
AX |
DS:0020 |
FF FF FF FF FF FF FF FF | |
! 0005 B8FD8F |
MOV |
AX,8FFD |
DS:0028 |
FF FF FF FF E4 8F C4 FF | |
j 0008 8ED8 |
MOV |
DS,AX |
DS:0030 |
E0 7F 14 00 18 00 ED 8F | |
jOOOA 58 |
POP |
AX |
DS:0038 |
FF FFFF FF 00 0000 00 | |
|0O0B 3C31 |
CMP |
AL,31 |
DS:0040 |
00 00 00 00 00 00 00 00 | |
000D 740F .â– - â– |
JZ |
001E |
DS:0048 |
0000000000000000 | |
2 |
01234567 |
89 A B C D EF | |||
DS:0000 |
C D 20 00 A0 00 9A HF FE |
1DF0ED04E0 7F3C01 . <. | |||
DS:00i0 |
F7 7E 56 05 |
F7 7EE0 7F |
01 01 0100 02FF FF FF .~V..~......... | ||
DS-.0020 |
FF FF FF FF FF FF FF FF |
FF FF FF FF E4 8F C4 FF ................ 1 | |||
DS:0030 |
HO 7F 14 00 18 00 ED 8F |
FF FF FF FF 00 00 00 00 ............... .-I | |||
DS:0040 |
000000000000 0000 |
00 00 00 00 00 00 00 00 ................ | |||
1 Step |
2StepProc |
3Retrieve 4Help |
5 Set BRK6 7 |
up 8 dn 9 le 0 ri |
Rys. 8.9. Obraz monitora po wykonaniu polecenia A: >asd test 1
Do wprowadzania poleceń jest przeznaczone 5 pole, natomiast 6 pole informuje o funkcjach realizowanych za pośrednictwem klawiszy funkcyjnych F1...F10. Klawisz F4 umożliwia wyświetlenie w każdej chwili czterech stron informacji pomocniczych, wyjaśniających funkcje wszystkich poleceń dostępnych w programie. Kolejne strony są wybierane klawiszem spacji, powrót do trybu pracy następuje za pomocą klawisza Entcr lub ponownie F4. Klawisze F7...F10 umożliwiają przeniesienie kursora z 5 pola wprowadzania poleceń na dowolną pozycję pól 1, 2, 3 celem zmodyfikowania zawartości rejestrów, stosu, znaczników i pamięci. Dwuliterowe skróty przy symbolach tych klawiszy oznaczają kierunek przemieszczania kursora między polami ekranu: up (ang. up) - w górę, dn (ang. down) - w dół, le (ang. left) - w lewo, ri (ang. right) -w prawo. W wybranym polu przechodzenie z pozycji na pozycję jest możliwe za pośrednictwem klawiszy przesuwania kursora (ze strzałkami). Pozostałe klawisze funkcyjne mają następujące znaczenie
* 1 - krokowe wykonywanie programu rozkaz po rozkazie;
F2 - krokowe wykonanie programu (jak dla klawisza funkcyjnego FI) z pełnym, tzn. niekrokowym wykonaniem wszelkich procedur wywoływanych rozkazami CALL, INT, konstrukcji z LOOP oraz REP;
8.4. Programy uruchomieniowe
F3 - powtórzenie ostatniego polecenia;
F5 - przejście do trybu ustawiania, modyfikowania i sprawdzania punktów kontrolnych (wstrzymania) oraz śladu po wykonaniu programu;
F6 - przełączanie ekranów między programem uruchomieniowym a uruchamianym (zob. opis polecenia Modę).
Zestaw akceptowanych poleceń (6 pole), ich opis jest dostępny przy użyciu klawisza funkcyjnego F4.
Lnazwapliku [parametr] [,adres]
Załadowanie programu z pliku dyskowego (wraz z jego ewentualnym parametrem) do pamięci operacyjnej, począwszy od adresu adres. Jeżeli adres nie jest podany, to przyjmuje się standardowo CS:0100. Po wykonaniu polecenia rejestry BX i CX wskazują liczbę załadowanych bajtów.
W nazwapliku,adres,długość
Zapis danych do pliku dyskowego. Jeżeli adres jest określony jedynie przez ołlset, to standardowo jest przyjmowany rejestr DS. Długość określa liczbę bajtów wyrażoną maksymalnie przez 4 cyfry szesnastkowe.
[ R] nazwajrej estru = wartość
Ustawienie zawartości rejestrów o nazwach: AX,AL,AH,...,SI,...,CS, ... Nazwa FL oznacza rejestr znaczników traktowany jako rejestr 16-bitowy. Dostęp do pojedynczych znaczników jest możliwy przez nazwy: OF, DF, IF, SF, ZF, AF, PF, CF.
D adres
Wyświetlenie kolejnych symbolicznych kodów rozkazów' w' 4 polu, począwszy od adresu adres. Standardowo przyjmuje się rejestr segmentowy CS.
M n adres [nazwa_rejestru]
Określenie od jakiego adresu będą wyświetlane dane w 2 polu ekranu (n = 1) lub 3 polu (/i=2). Nazwa aktualnego rejestru segmentowego jest wyświetlana na ekranie. Przy’ adresowaniu pośrednim może być wykorzystany dowolny rejestr (np. [DI]).
G [adresstartu] [,adres_zatrzymania]
Uruchomienie programu od adresu określonego przez adres_startu lub zawartość rejestrów CS:IP. Drugim parametrem polecenia może być adres dodatkowego punktu kontrolnego (zob. opis funkcji klawisza F5). Rejestrem segmentowym dla adresu ja-trzymania jest CS (o bieżącej zawartości). Wykonywany program można zatrzymać klawiszami Clrl-Esc.
QUIT [R[ESIDENT]]
Powrót do systemu operacyjnego MS-DOS. Podanie parametru R powoduje, że program ASD staje się rezydentny i można go wywołać klawiszami Ctrl-Esc lub przerwaniem NMI.
A [adres]
Wprowadzenie programu w tryb asemblerowy, umożliwiający wprowadzanie do pamięci symbolicznych kodów rozkazów. Jeżeli parametr adres nie jest podany, to