assembler€86ˆ 4

assembler€86ˆ 4



208 8. Uruchamianie programów asemblerowych

/NO (ang. node) - bez podajania nazw bibliotek musi wystąpić zgodność nazw domniemanej bibliteki z łączonym programem.

/ST rozmiar - (deklaruje się), gdy przynajmniej jeden moduł wejściowy zawiera polecenie alokowania stosu.

Przykład

A > LINK lista_plik,plik_ładow,plik_połącz,lista_bibI [/przełączniki]

przy czym:

lista_plik - nazwa lub lista nazw plików (rozdzielonych spacją lub znakiem +) do łączenia (OBJ),

plik Jadów - nazwa pliku z Å‚adowalnym programem maszynowym (EXE), plik_poÅ‚Ä…cz - nazwa pliku z listÄ… adresów (MAP), lista bibl - nazwa lub lista nazw plików bibliotecznych (LIB), przeÅ‚Ä…czniki - znaczenie jak w poprzednim przykÅ‚adzie.

Sposób wywołania można uprościć stosując znaki przecinka i średnika. Przy wywołaniu

A > LINK PROGRAM

modułem wejściowym jest PROGRAM.OBJ. Dla wszystkich pozostałych plików są proponowane nazwy standardowe.

A > LINK PROGRAM;

Równoważne deklaracji LINK PROGRAM.OBJ, PROGRAM.EXE, NUL.MAP.

A > LINK PROGRAM,,;

Równoważne deklaracji PROGRAM.OBJ, PROGRAM.EXE, PROGRAM.MAP. « Przykład

A> LINK @nazwa_pliku_tekstowego

Plik tekstowy powinien zawierać wiersze, z których każdy odpowiada wÅ‚aÅ›ciwemu zapytaniu programu LINK, podobnie jak w przedstawionym pierwszym przykÅ‚adzie wywoÅ‚ania. Każdy wiersz w pliku musi być zakoÅ„czony znakiem Enter. WprowadzajÄ…c znak + i Enter, można kontynuować wprowadzanie listy w nowym wierszu. ObowiÄ…zujÄ… również opisane zasady stosowania przecinka i Å›rednika. Parametry można wprowadzić z wiÄ™cej niż jednego pliku.

Jeżeli wielkość wczytywanych przez program LINK modułów przekracza dostÄ™pnÄ… pojemność komputera, to jest tworzony przejÅ›ciowy plik roboczy o nazwie VM.TMP. Utworzenie pliku jest sygnalizowane komunikatem VM.TMP has been crcated Do not change diskette in drive A:

Drugi wiersz komunikatu informuje, że w czasie pracy programu LINK nie wolno zmienić dyskietki w stacji dysków. Plik VM.TMP jest kasowany automatycznie po zakoÅ„czeniu pracy przez program Å‚adujÄ…cy.

Na rysunku 8.3 przedstawiono przykładowe wywołania programu LINK oraz zawartość pliku o rozszerzeniu MAP.

BT 2T

8.3. Programy pomocnicze

powered by

Misi°ol

a)

A;\TEST>b:link

Microsoft (R) 8086 Objcct Linker Version 3.05

Copyright (C) Microsoft Corp 1983.1984, 1985. Ali rights reserved.

Object Modules [.OBJ]: test

Run File [TEST.EXE|:

List File [NUL.MAP): test Libraries [.LIB]:

b)

A:\TEST >b:link tesfeom

Microsoft (R) 8086 Object Linker Version 3.05

Copyright (C) Microsoft Corp 1983. 1984, 1985. Ali rights reserved.

Run File [TESTCOM.EXE]: a:

List File [NUL.MAP]:

Libraries [.LIB]: *

Warning: no stack segment


A:\TEST > type test.map Start    Stop    Length

c)


d)


Na mc Class DANE STOS PROGRAM


00000H    0087011    00871H

00880H    0097FH    00100H

00980H    00AB2H    00133H

Program entry point at 0098:0000

Microsoft (R) 8086 Object Linker Version 3.05

Copyright (C) Microsoft Corp 1983,1984, 1985. Ali rights reserved.

Valtd switches are:

CPARMAXAI LOC

DOSSEG

DASLLOCATE

EXEPACK

HELP

HIGH

L1NUNUMBERS

MAP

NODEFAULTLIBRARYSEARCII

NOGROLPASSOCIATION

NOIGNORECASE

OVERLAYINTERRUPT

PAUSE

SEGMENTS

SI A CK

Rys. 8.3. PrzykÅ‚adowe wywoÅ‚ania programu LINK: a) pierwszy sposób wywoÅ‚ania - przebieg Å‚Ä…czenia; b) ostrzeżenie o braku segmentu stosu; c) plik o rozszerzeniu MAP uzyskany z przykÅ‚adu w rozdz. 10.1; d) opcje programu LINK/HE.

Pliki z rozszerzeniem EXE uzyskane w wyniku dziaÅ‚ania programu LINK sÄ… Ograniczone jedynie rozmiarami dostÄ™pnej pamiÄ™ci operacyjnej. Oznacza to, że programy źródÅ‚owe mogÄ… zawierać wiele segmentów (do 64 KB), komunikujÄ…cych siÄ™ miÄ™dzy sobÄ… za pomocÄ… 32-bitowych adresów logicznych. Program maszynowy zawarty w pliku o rozszerzeniu EXE jest przesuwalny (relokowalny), może być zatem zaÅ‚adowany i uruchomiony poczÄ…wszy od dowolnego adresu bÄ™dÄ…cego wielokrotnoÅ›ciÄ… liczby 16 (10H). Wymaga to oczywiÅ›cie dodatkowych informacji zawartych w pliku


Wyszukiwarka

Podobne podstrony:
assembler?86? 4 228 8. Uruchamianie programów asemblerowych wprowadzanie rozpoczyna się od bieżące
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? 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? 3 226 8. Uruchamianie programów asemblerowych -    stanu rejestrów, 7
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? 4 26810. Przykłady programów 186 01C5 8A D8 mov bl,al 187 01C7 2E: A0 01BER mov
assembler?86? 4 48 4. Język asemblerowy mikroprocesorów 8086/8088 tępne segmenty będą łączone jak
assembler?86? 4 68 4. Język asemblerowy mikroprocesorów 8086/8088 Dyrektywy .LALL, .SALL, .XALL Dy
assembler?86? 4 248 9. Wykorzystanie procedur systemowych w programach użytkowych adres pola FCB,

więcej podobnych podstron