assembler86 9

assembler86 9



218 S. Uruchamianie programów asemblerowych

z pliku o rozszerzeniu MAP pozwoli to na obliczenie absolutnych adresów wewnątrz modułu. Polecenia programu DEBUG są jednoliterowe i mogą być pisane zarówno małymi jak i wielkimi literami. Polecenia i ich parametry mogą być oddzielone od siebie spacją lub przecinkiem. Jedynie parametry będące liczbami muszą być oddzielone od siebie. Błędna syntaktyka polecenia jest sygnalizowana odpowiednim komunikatem. Przykładowo następujące polecenia są równoważne

dds: 400 500 d ds:400 500

d,ds:400,500    : 8

Wykonywane polecenie można przerwać naciskając klawisze Ctrl-C.

Polecenia programu DEBUG mogą posiadać następujące parametry

adres - adres lokacji w pamięci (wartości numeryczne w kodzie szesnastkowym) będący nazwą rejestru segmentowego i offsetem (np. DS.03A4), adresem segmentu i offsetem (np. 32C.0), offsetem - w domyśle standardowy rejestr segmentowy (np. OB 10).

adres we/wy - adres układu wejściowego lub wyjściowego;    !

bajt - jedno- lub dwucyfrowa liczba szesnastkowa;    tt J

zakres - dwa adresy ograniczające wybrany obszar pamięci operacyjnej określone jako: adres adres np. ES:200 300, 4E0:100 1FF (drugi adres określony wyłącznie przez offset) lub adres L liczba bajtów np. CS:100L20, 0A5L5, przy czym liczba bajtów jest liczona od podanego adresu początkowego i jest wyrażona liczbą szesnastkową (L = 0 deklaruje maksymalny dopuszczalny zakres równy 10000H);

lista - jeden lub więcej bajtów lub (i) ciągów znaków, np.

A5 tekst* 3 lb ' Znaki' Ac (obejmuje 6 odrębnych poi, łącznie 14 bajtów); łańcuch - ciąg znaków w apostrofach (’) lub cudzysłowie (") np.    jfl

’słowo 'ciąg” jest w apostrofach'

'słowo ciąg" jest w cudzysłowie’

"słowo ’ciągł jest w apostrofach”    J*

"słowo ""ciąg”" jest w cudzysłowie"

jest zamieniany na ciąg bajtów zawierających kody ASCII kolejnych znaków; liczba - jedno-, dwu-, trzy- lub czterocyfrowa liczba szesnastkowa;

sektor sektor - jedno-, dwu- lub trzycyfrowe liczby osnastkowe definiujące względny numer sektoru (1) początkowego oraz liczbę zapisywanych i odczytywanych sektorów (2);

drive - numer stacji dysków: 0 dla mechanizmu A, 1 dla B, 2 dla C ild.;    yj

rejestr - nazwa rejestru zgodna z przyjętą w asemblerze.    M

Polecenia programu uruchomieniowego DEBUG (porządek alfabetyczny).

A [adres]

Polecenie pozwala na wprowadzenie rozkazów mikroprocesora w postaci kodów symbolicznych bezpośrednio do pamięci operacyjnej. Jeżeli nie występuje parametr adres, to zostaje przyjęty przez domniemanie adres wynikający z zawartości rejestrów CS i IF*

powered by

8.4. Programy uruchomieniowe


Mi saol

Przykład

-A 100

45000100    MOV BX,10

45000101    MOV CL,CS:[15]

45000102    JMP 110    ^

C zakres adres

Polecenie realizuje porównanie zawartości dwóch obszarów pamięci operacyjnej. Wielkość porównywanych obszarów wynika z parametru zakres. W przypadku stwierdzenia niezgodności bajtów jest wyświetlany komunikat adresl bajt l bajt_2 adi es_2

przy czym bajt l, bajt! oznaczają wartości nierównych bajtów, a adres_ 1, adres l ich adresy.

Przykład

-C 100L50 200

5C40:105 5A 5B 5C40:205    ą

D [adres] lub D zakres

Polecenie wyprowadza na ekran zawartość obszaru pamięci w kodach szesnastkowych oraz jako znaki kodu ASCII. Kody znaków niedrukowalnych są zastępowane w tym drugim przypadku kropką. Jeżeli w pierwszej postaci polecenia nie wystąpi parametr adres, to będzie wyświetlany obszar począwszy od ostatniego adresu wyświetlonego poprzednim poleceniem D. Przy pierwszym użyciu polecenia będzie to adres DS:0100. Jeżeli w parametrze polecenia jest podany tylko offset, to przyjmuje się przez domniemanie rejestr segmentowy DS.

Przykłady

-D CS: 100 10A

-D SS:Q    .    ’ ir^

-D 200L20 -D

Na rysunku 8.5 przedstawiono wynik działania polecenia D.

-d ds:8d0.97f

S3E2:08D0

83E2:08ł*;0

83E2:08F0

83112:0900

831*2:0910

83E2:0920

83E2:0930

831*2:0940

83E2:0950

831*2:0960

83E2:0970


..............Pr

awid.owe wywo.ari ic programu ma n astepuj.c. posta .:...X> TEST 1 (opcja bez wy. wietlania liczb) ..X> TEST 2 ( opcja z wy.wietl aniem liczb)....

$...............


02 00 00 00 E9 03 0A 00-00 00 00 00 OA OD 50 72 61 77 69 64 8C 6F 77 65-20 77 79 77 6F 8C 61 6E 69 65 20 70 72 6F 67 72-61 6D 75 20 6D 61 20 6E 61 73 74 65 70 75 6A 89-63 89 20 70 6F 73 74 61 8A 3A OA 0A OD 20 58 3E-20 54 45 53 54 20 31 20 20 20 28 6F 70 63 6A 61-20 62 65 7A 20 77 79 8F 77 69 65 74 6C 61 6E 69-61 20 6C 69 63 7A 62 29 0A OD 20 58 3E 20 54 45-53 54 20 32 20 20 20 28 6F 70 63 6A 61 20 7A 20-77 79 8F 77 69 65 74 6C 61 6E 69 65 6D 20 6C 69-63 7A 62 29 0A OD 0A OD 24 00 00 00 00 00 00 00-00 00 00 00 00 00 00 00

%$• 8.5 Przykład działania polecenia D. (Fragment segmentu danych z przykładu w rozdz. 10.1.)


Wyszukiwarka

Podobne podstrony:
assembler?86? 2 204 8. Uruchamianie programów asemblerowych /L - utworzenie pliku z listingiem o n
assembler?86? 5 ■210    8. Uruchamianie programów asemblerowych o rozszerzeniu EXE
assembler?86? 1 202 8. Uruchamianie programów asemblerowych boliczne zebrane w tabeli zostają w pr
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? 6 212 8. Uruchamianie programów asemblerowych ???1???? - nazwa podkatalogu ??1?????
assembler?86? 0 220 8. Uruchamianie programów asemblerowych E adres [lista] Polecenie może mieć dw
assembler?86? 1 222 & Uruchamianie programów asemblerowych L [adres [drive sektor sektor]] Pol
assembler?86? 2 224 8. Uruchamianie programów asemblerowych S zakres lista Polecenie powoduje odsz
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? 9 25810. Przykłady programów 104 105    0871    D
assembler?86? 9 78 4. Język asemblerowy mikroprocesorów 8086/8088 PROGRAM SEGMENT • • • A DALEKO E
assembler?86? 9 58 4. Język asemblerowy mikroprocesorów 808618088 Dyrektywy: DB, DW, DD, DQ, DT Li

więcej podobnych podstron