assembler€86ˆ 3

assembler€86ˆ 3



206    & Uruchamianie programów asemblerowych

Znaczenie poszczególnych kolumn komunikatu jest następujące

1    - numer wiersza programu źródÅ‚owego,

2    - offset rozkazu liczony wzglÄ™dem zdefiniowanego w programie źródÅ‚owym poczÄ…tku segmentu,

3    - wygenerowany przez asembler kod rozkazu maszynowego w kodzie szesnastkowym,

4    - instrukcje programu źródÅ‚owego (wg pliku o rozszerzeniu ASM).

Jeżeli wystąpił błąd syntaktyczny, to komunikat zostanie zapisany bezpośrednio po wierszu instrukcji, w której wystąpił błąd. Wydruk programu może ponadto zawierać inne dodatkowe informacje oznaczone następująco

R - adresowa część kodu rozkazu będzie uaktualniona przez program łączący bądź ładujący,

E - symbol zewnętrzny,

U - symbol niezdefiniowany,

= - instrukcja zawiera dyrektywÄ™ EQU lub =,

nn: - instrukcja zawiera przedrostek określający segment,

nn/ - instrukcja zawiera przedrostek REP lub LOCK,

+ - wiersz, który powstał w wyniku rozwinięcia makroinstrukcji,

C - wiersz, który powstał w wyniku dołączenia pliku dyrektywą 1NCLUDE.

Na rysunku 8.2 przedstawiono przykÅ‚adowe wywoÅ‚ania makroasemblera M ASM oraz komunikaty na ekranie monitora.    J

83. Programy pomocnicze

8J.1. Program Å‚Ä…czÄ…cy LINK

Program Å‚Ä…czÄ…cy LINK.EXE tworzy plik z programem maszynowym gotowym do zaÅ‚adowania do pamiÄ™ci komputera i wykonania. Danymi wejÅ›ciowymi jest plik lub pliki uzyskane w wyniku procesu asemblacji lub też kompilacji programów napisanych w jÄ™zykach wysokiego poziomu, takich jak Pascal, Fortran itp. Program LINK speÅ‚nia nastÄ™pujÄ…ce funkcje

-    Å‚Ä…czenia modułów (plików o rozszerzeniu OBJ) uzyskanych niezależnie w czasie asemblacji lub (i) kompilacji,

-    przeszukiwania plików bibliotecznych celem znalezienia definicji symboli zewnÄ™trznych,

-    rozwiÄ…zywania problemów poÅ‚Ä…czeÅ„ zewnÄ™trznych,

-    wytwarzania listy (w postaci pliku o rozszerzeniu MAP dogodnego do drukowania) zawierajÄ…cej informacje o bÅ‚Ä™dach i sposobie rozwiÄ…zania zewnÄ™trznych poÅ‚Ä…czeÅ„,

-    wytwarzania przesuwalnych (relokowalnych) modułów z programem maszynowym przygotowanym do zaÅ‚adowania i wykonania w postaci pliku o rozszerzeniu EXE.

Podobnie jak makroascmbler, program łączący LINK można uruchomić na kilka sposobów, które podano w przykładach.

powered by

8.3. Programy pomocnicze


Mi sTbl

Przykład

A > LINK[/przełączniki]

W wyniku polecenia system operacyjny ładuje program łączący do pamięci operacyjnej, który po przedstawieniu się żąda wprowadzenia parametrów.

Object modules [.OBJ]:

Nazwa pliku lub nazwy plików oddzielone od siebie spacją lub znakiem +, przeznaczone do łączenia. Rozszerzenie OBJ jest przyjmowane automatycznie i nie trzeba go wprowadzać.

Run File [object.EXE]:

Nazwa tworzonego pliku z programem maszynowym. Potwierdzenie klawiszem Enter spowoduje przyjÄ™cie takiej samej nazwy, jakÄ… ma plik wejÅ›ciowy, jednak z rozszerzeniem EXE. W poleceniu wywoÅ‚ania programu Å‚Ä…czÄ…cego, za nazwÄ… pliku można wybrać nastÄ™pujÄ…ce przeÅ‚Ä…czniki

/M (ang. map) - drukowanie wszystkich symboli globalnych zdefiniowanych w module

wejściowym,

/P (ang. pause) - wstrzymanie pracy programu Å‚Ä…czÄ…cego przed utworzeniem pliku o rozszerzeniu EXE i wyÅ›wietlenie na monitorze komunikatu About to generate .EXE file Change disks < hit ENTER >

Przełącznik pozwala na zmianę dysketki, na którą będzie wyprowadzony plik o rozszerzeniu EXE.

List file [NUL.MAP]:

Nazwa tworzonego przez LINK pliku z listą adresów poszczególnych segmentów programu w modułach wejściowych i odpowiadające im adresy względne w module łado-walnym EXE. Pozostawienie nazwy NUL i potwierdzenie jedynie klawiszem Enter nie tworzy pliku o rozszerzeniu .MAP.

Libraries [.LIB]:

Nazwa pliku (lub plików oddzielonych spacjÄ… lub znakiem +) z programami bibliotecznymi. Jeżeli rozszerzenie nazwy jest standardowe (LIB), to nic trzeba go wprowadzać. Jeżeli programy biblioteczne nie sÄ… doÅ‚Ä…czane, wystarczy nacisnąć klawisz Enter. Biblioteki sÄ… przeszukiwane w kolejnoÅ›ci wystÄ™powania na liÅ›cie.    â™¦

Wywołanie programu LINK z przełącznikiem /HE powoduje wyświetlenie wszystkich dostępnych opcji programu łączącego (zobacz rys. 8.3.d). Wymienimy jedynie funkcje dodatkowych przełączników.

/HI (ang. high) - lokalizacja programu maszynowego tak wysoko w pamięci jak to jest możliwe (przy uwzględnieniu rezydentnej części COMMAND.COM). Brak przełącznika /HI powoduje lokalizację programu na najmniejszych możliwych adresach.

/DS (ang. disallocation) - zdefiniowanie wszystkich danych w grupie (zob. opis dyrektywy GROUP) i Å‚adowanie na najwiÄ™ksze adresy grupy. W poÅ‚Ä…czeniu z przeÅ‚Ä…cznikiem /HI pozwala to na specyfikacjÄ™ dynamicznej alokacji pamiÄ™ci. Jest to Istotne, gdy w pamiÄ™ci wykorzystujemy zmienne wskaźnikowe. PrzeÅ‚Ä…cznik stosuje siÄ™ głównie dla programów napisanych w jÄ™zykach wysokiego poziomu.


Wyszukiwarka

Podobne podstrony:
assembler?86? 3 226 8. Uruchamianie programów asemblerowych -    stanu rejestrów, 7
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? 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? 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? 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? 3 46 4. Język asemblerowy mikroprocesorów 8086/8088 PARA - początek segmentu będzie
assembler?86? 3 66 4. Język asemblerowy mikroprocesorów 8086/8088 66 4. Język asemblerowy mikropro
assembler?86? 3 186 7. Wybrane techniki programowania Przykład • •• ASSUME SS:STOS MOV AX, STOS MO
assembler?86? 3 266 10. PrzykÅ‚ady programów 80    ) 81 82    006C 00

więcej podobnych podstron