assembler€86ˆ 1

assembler€86ˆ 1



202


8. Uruchamianie programów asemblerowych

boliczne zebrane w tabeli zostajÄ… w programie zastÄ…pione odpowiednimi wartoÅ›ciami (np. nazwy zmiennych odpowiedniÄ… wartoÅ›ciÄ… offsetu), a dla rozkazów sÄ… wygenerowane wÅ‚aÅ›ciwe kody rozkazów maszynowych. Program maszynowy zostaje zapisany do pliku dyskowego o rozszerzeniu OBJ. Oprócz tego asembler może utworzyć dwa dodatkowe pliki o rozszerzeniach LST i CRF. W pierwszym z nich zostaje zapisany listing programu - raport asemblacji, który zawiera wiele istotnych informacji (adresy, kody, bÅ‚Ä™dy itd.). Bez ich znajomoÅ›ci przetestowanie programu asemblerowego jest praktycznie niemożliwe. Drugi plik zawiera informacje dla listy odwoÅ‚aÅ„ (ang. cross reference), które za pomocÄ… innego programu narzÄ™dziowego CREF mogÄ… być przeksztaÅ‚cone w możliwy do wydrukowania inny plik dyskowy z rozszerzeniem REF.

Program Å‚Ä…czÄ…cy LINK

Program ten pozwala utworzyć program maszynowy z wielu niezależnie tÅ‚umaczonych modułów (plików o rozszerzeniu OBJ) oraz procedur bibliotecznych (pliki o rozszerzeniu LIB). Efektem pracy programu LINK jest plik z programem maszynowym o rozszerzeniu EXE, zawierajÄ…cy dodatkowe informacje dla systemu operacyjnego. Wyprowadzenie do systemu MS-DOS nazwy tego pliku jako polecenia systemowego spowoduje zaÅ‚adowanie go do pamiÄ™ci operacyjnej komputera i automatyczne jego uruchomienie. Program LINK może utworzyć dodatkowy plik o rozszerzeniu MAP, (zawierajÄ…cy listÄ™ poÅ‚Ä…czeÅ„), informujÄ…cy o sposobie uporzÄ…dkowania segmentów.

Program bibliotekarza LIB

Przy programowaniu modularnym, gdy dane zadanie jest rozwiązywane przez ciąg kolejnych podprogramów', można utworzyć z niektórych przetestowanych i uruchomionych podprogramów pliki biblioteczne, do wykorzystania w innych programach. Pliki

0    rozszerzeniu LIB sÄ… tworzone z plików uzyskanych po asemblacji OBJ. Jeżeli jakiÅ› program potrzebuje podprogramów bibliotecznych, to należy przy wywoÅ‚aniu programu Å‚Ä…czÄ…cego LINK użyć nazwy biblioteki LIB. Program LINK odnajduje odpowiednie symbole zewnÄ™trzne (EXTERNAL/PUBLIC) i przyÅ‚Ä…cza znaleziony podprogram.

Program uruchomieniowy

Program ten pozwala śledzić wykonanie programu maszynowego załadowanego do pamięci operacyjnej mikrokomputera, krok po kroku, z. możliwością podglądania

1    modyfikowania zawartoÅ›ci rejestrów, obszarów' pamiÄ™ci i wÅ‚elu innych operacji uÅ‚atwiajÄ…cych sprawne testowanie programu i usuniÄ™cie bÅ‚Ä™dów logicznych. WÅ›ród popularnych programów uruchomieniowych dostÄ™pnych w komputerach klasy IBM PC/XT/AT wymienimy klasyczny program systemowy DEBUG, oraz w wiÄ™kszoÅ›ci przypadków znacznie efektywniejszy ASD (ang. advunced screen debugger) bÄ™dÄ…cy izw. programem uruchomieniowym peÅ‚noekranowym. Różnica miÄ™dzy tymi programami stanie siÄ™ dla Czytelnika jasna po zapoznaniu siÄ™ z rozdz. 8.3.

Program EXE2BIN

Program EXE2BIN pozwala przekształcić niektóre pliki dyskowe o rozszerzeniu EXE w pliki o rozszerzeniu COM lub BIN. Pliki z rozszerzeniem COM wywodzą się z sys-

powered by

8.2. Przebieg asemblacji


Migriol

temu operacyjnego CP/M dla mikrokomputerów 8-bitowych. Aby przetworzenie w plik o rozszerzeniu COM byÅ‚o możliwe, program źródÅ‚owy musi speÅ‚niać pewne warunki, m.in.: kod wynikowy* mieÅ›ci siÄ™ w obszarze pamiÄ™ci operacyjnej nie wiÄ™kszej niż 64 KB, nie zostaÅ‚ zdefiniowany segment stosu, wskaźnik programu ustawiony dyrektywÄ… ORG ma wartość 100H, jest to adres pierwszego rozkazu w programie (rozdz. 8.2)

8.2. Przebieg asemblacji

Makroasembler MASM można wywoÅ‚ać na kilka sposobów. Wymienimy trzy, najczęściej stosowane, a Czytelnik wybierze najbardziej mu odpowiadajÄ…cy. W przykÅ‚adach zaÅ‚ożymy, że plik MASM.EXE znajduje siÄ™ na dyskietce w stacji dysków A, a pliki z programami do asemblacji i programami pomocniczymi w stacji dysków B.

Przykład

A > MASM [/przełączniki]

Polecenie spowoduje załadowanie makroasemblera do pamięci operacyjnej, który po przedstawieniu się zażąda wprowadzenia trzech parametrów.

Source filename[.ASM]:

Nazwa pliku z programem źródłowym. Rozszerzenie ASM jest przyjmowane automatycznie i nie trzeba go wprowadzać.

Object filename [source.OBJ]:

Nazwa tworzonego pliku z programem wynikowym. Potwierdzenie jedynie klawiszem Enter spowoduje przyjęcie identycznej nazwy pliku wynikowego jak nazwa pliku źródłowego z rozszerzeniem OBJ.

Source listing [NUL.LST]:

Nazwa utworzonego pliku z listingiem (raport asemblacji). Potwierdzenie jedynie klawiszem Enter (czyli przyjęcie nazwy* NUL), jest równoznaczne z poleceniem nictwo-rzenia pliku.

Cross reference [NUL.CRF]:

Nazwa utworzonego pliku z listą odwołań.

Znaczenie sÅ‚owa NUL identyczne jak dla listingu.    â™¦

W wywołaniu makroasemblera może wystąpić jeden lub kilka jednoliterowych przełączników o następującym znaczeniu

/A - zapisanie segmentów w kolejności alfabetycznej w pliku o rozszerzeniu OBJ;

/B liczba - zadeklarowanie wielkości bufora dla pliku źródłowego (liczba określa wielkość bufora w 1 KB blokach);

/C - utworzenie pliku o rozszerzeniu CRF;

* polecenie utworzenia listingu przy obu przebiegach asemblera. Porównanie oba listingów może czasem wydatnie pomóc przy usuwaniu bÅ‚Ä™dów; l^symbol[ - wartość] - dziaÅ‚anie jak dla dyrektywy EQU w programie źródÅ‚owym;

/Ipat/t - zdefiniowanie katalogu dla plików dołączanych dyrektywą INCLUDE;


Wyszukiwarka

Podobne podstrony:
assembler?86? 1 222 & Uruchamianie programów asemblerowych L [adres [drive sektor sektor]] Pol
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? 0 220 8. Uruchamianie programów asemblerowych E adres [lista] Polecenie może mieć dw
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? 1 >2 10. Przykłady programów DCZATEK......................... F PROC 0000 PROGR
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? 1 22 2. Mikroprocesory 8086/8088 jest niezależny od innych segmentów i jest programo
assembler?86? 1 42 4. Język asemblerowy mikroprocesorów 8086/80X8 (ODH). Asembler przetwarza łańcu
assembler?86? 1 62 4. JÄ™zyk asemblerowy> mikroprocesorów 808618088 oraz    AA

więcej podobnych podstron