assembler86 0

assembler86 0



220 8. Uruchamianie programów asemblerowych

E adres [lista]

Polecenie może mieć dwojaką postać

-E adres lista - powoduje załadowanie pamięci, począwszy od adresu, kolejnymi bajtami z listy.

Przykład

-E ES:0 0A "ala ma kota" OD 0A "$"    #

Polecenie spowoduje załadowanie 15 bajtów.

-E adres - powoduje wyświetlanie kolejnych bajtów, począwszy od adresu, i oczekiwanie na zmianę ich zawartości. Można wprowadzić: liczbę szesnastkową wpisywaną do pamięci zamiast poprzedniej wartości, spację w celu przejścia do następnego adresu, kreseczkę (-) w celu powrotu do poprzedniego bajtu, lub Entcr do zakończenia polecenia.

Przykład

-E CS: 100 04BA:0100 EB

t oczekiwanie na wprowadzenie jednego z znaków    +

Na rysunku 8.6 przedstawiono przykład wykorzystania polecenia E.

-c C9:0

831*2:0000

41.20

42.20

43. Sf

A0.-

83E2:0002

3F.

A0.

00.

9A.-

83E2:0004

00.-

83F2:0003

A0.-

83E2:0002

3F.20

Rys. 8.6. Przykład polecenia E. (Znaki wprowadzane z klawiatury zostały na rysunku pogrubione)

F zakres lista

Polecenie powoduje wypełnienie obszaru pamięci określonego przez zakres jedną lub wieloma wartościami z listy. Jeżeli lista zawiera mniej bajtów niż zakres, to zostaje użyta ponownie aż do wypełnienia całego zadeklarowanego obszaru pamięci. Jeżeli lista jest większa niż wypełniany obszar pamięci, to nadliczbowe bajty listy są pomijane.

Przykład    ,    , v    ^ r

-F SS:0 L 100 FF

Obszar stosu o długości 100 bajtów został zainicjowany wartością 0FFH.

-F 53D:100 L 7 AA "XYZ” 7C

Począwszy od adresu 530:100 zostaną wpisane następujące wartości szesnastkowe:


AA 58 59 5A 7C AA 58.

8.4. Programy uruchomieniowe


G [ = adres] [adres [adres...] ]

Polecenie powoduje rozpoczęcie wykonywania testowanego programu począwszy od zadeklarowanego adresu, a następnie zatrzymanie po dojściu do adresu zadeklarowanego jako tzw. punkt kontrolny (ang. breakpoint - punkt wstrzymania). Po osiągnięciu punktu kontrolnego jest wyświetlany stan rejestrów, rejestr znaczników oraz następny rozkaz oczekujący na wykonanie. Adres "startowy” programu musi być adresem pierwszego bajtu rozkazu, o ile jest to rozkaz dwubajtowy lub więcej bajtowy. Niespełnienie tego warunku może spowodować skutki nie do przewidzenia. Ponadto wskaźnik stosu musi zawierać właściwą wartość, bowiem zlecenie (i korzysta ze stosu zajmując trzy słowa. Możliwe są następujące postaci polecenia G

G - program zostanie uruchomiony od adresu określonego zawartością rejestrów CS:IP i wykonany do końca.

-G = adres - program zostanie uruchomiony od adresu określonego w zleceniu i wykonany do końca. Jeżeli zostanie podany jedynie offset, to adres zostanie uzupełniony standardowo, tj. o rejestr CS.

-G adres [adres...]

-G = adres adres [adres ...] - program zostanie uruchomiony od adresu określonego przez rejestry CS:IP lub parametr polecenia = adres i wykonywany aż do osiągnięcia któregokolwiek z adresów podanych jako kolejne parametry polecenia adres adres ... .-

Adresy definiują punkty kontrolne, których w jednym poleceniu może wystąpić maksymalnie 10. Rozkaz, na którym wykonywanie programu zostało zatrzymane, nie jest wykonywany. Po osiągnięciu punktu kontrolnego (dowolnego z zadeklarowanych) jest wyświetlany stan rejestrów, znaczników i wykonanie polecenia G jest zakończone. Oznacza to, że deklaracja wszystkich punklów kontrolnych (osiągniętych i nieosiągniętych) jest anulowana.

Przykład

-G = 100 13F 1FF 200

-G 109    4

H liczba liczba

Polecenie arytmetyczne oblicza sumę i różnicę dwóch liczb szesnastkowych.

Przykład

-H 0F8

17 07    4

I adres we

Polecenie odczytuje i wyświetla szesnastkową wartość stanu układu wejściowego o adresie adres we.

Przykład

-I 1FA


5C


Wyszukiwarka

Podobne podstrony:
assembler?86? 2 224 8. Uruchamianie programów asemblerowych S zakres lista Polecenie powoduje odsz
assembler?86? 1 222 & Uruchamianie programów asemblerowych L [adres [drive sektor sektor]] Pol
assembler?86? 1 202 8. Uruchamianie programów asemblerowych boliczne zebrane w tabeli zostają w pr
assembler?86? 2 204 8. Uruchamianie programów asemblerowych /L - utworzenie pliku z listingiem o n
assembler?86? 3 206    & Uruchamianie programów asemblerowych Znaczenie poszcze
assembler?86? 4 208 8. Uruchamianie programów asemblerowych /NO (ang. node) - bez podajania nazw b
assembler?86? 5 ■210    8. Uruchamianie programów asemblerowych o rozszerzeniu EXE
assembler?86? 6 212 8. Uruchamianie programów asemblerowych ???1???? - nazwa podkatalogu ??1?????
assembler?86? 9 218 S. Uruchamianie programów asemblerowych z pliku o rozszerzeniu MAP pozwoli to
assembler?86? 3 226 8. Uruchamianie programów asemblerowych -    stanu rejestrów, 7
assembler?86? 4 228 8. Uruchamianie programów asemblerowych wprowadzanie rozpoczyna się od bieżące
assembler?86? 5 230 8. Uruchamianie programów asemblerowych BREAKPOINT ENTRY MENU BR# Break
assembler?86? 8 216 8. Uruchamianie programów asemblerowych Wywołanie programu bibliotekarza A>
assembler?86? 0 8. Uruchamianie programów asemblerowych8.1. Programy pomocnicze W rozdziale zostan
assembler?86? 7 214 214 8. Uruchamianie programów asemblerowych Program CREF833. W wyniku działani
assembler?86? 0 40 4. Język asemblerowy mikroprocesorów 8086/8088 W książce omówimy wersję MASM 4.
assembler?86? 0 180 6. Makrojęzyk asemblera MASM DBA ENDM ; wersja bez % BAJTY MACRO A BAJTY M
assembler?86? 0 240 9. Wykorzystanie procedur systemowych w programach użytkowych A < 2 > -
assembler?86? 4 248 9. Wykorzystanie procedur systemowych w programach użytkowych adres pola FCB,

więcej podobnych podstron