Praktyczny kurs asemblera.pdf
(
682 KB
)
Pobierz
C:\Andrzej\PDF\ABC nagrywania p³yt CD\1 strona.cdr
IDZ DO
PRZYK£ADOW
Y ROZDZIA£
Praktyczny kurs
SPIS TRECI
asemblera
KATALOG KSI¥¯EK
Autor: Eugeniusz Wróbel
ISBN: 83-7361-433-8
Format: B5, stron: 384
KATALOG ONLINE
ZAMÓW DRUKOWANY KATALOG
TWÓJ KOSZYK
DODAJ DO KOSZYKA
Wejd w wiat programowania w jêzyku asemblera
• Dowiedz siê, kiedy u¿ycie asemblera jest niezbêdne
• Poznaj zasady programowania w asemblerze
• Napisz szybkie i wydajne programy dla DOS-a i Windows
• Zdob¹d wiedzê o zasadach dzia³ania procesora i pamiêci
Uwa¿asz, ¿e mo¿liwoci jêzyków programowania wysokiego poziomu nie pozwalaj¹
na napisanie programu, którego potrzebujesz? Chcesz stworzyæ sterownik, program
rezydentny, demo lub... wirusa? Interesuje Ciê, co dzieje siê w komputerze podczas
wykonywania programu?
CENNIK I INFORMACJE
ZAMÓW INFORMACJE
O NOWOCIACH
ZAMÓW CENNIK
Wykorzystaj potencja³ asemblera!
Programowanie w jêzyku niskiego poziomu daje niemal nieograniczon¹ kontrolê
nad sprzêtem i dzia³aniem aplikacji. Programy napisane w jêzyku asemblera dzia³aj¹
szybko, s¹ niewielkie i zajmuj¹ ma³o pamiêci. S¹ bardzo wydajne i otwieraj¹ dostêp
do takich obszarów komputera, do których dostêp z poziomu C++ czy Visual Basica
jest niemo¿liwy.
Ksi¹¿ka „Praktyczny kurs asemblera” wprowadzi Ciê w wiat programowania
w tym jêzyku. Dowiesz siê, jak dzia³a procesor, w jaki sposób komunikuje siê
z pamiêci¹ i pozosta³ymi elementami komputera. Poznasz typy rozkazów procesora,
tryby adresowania i zasady tworzenia programów w asemblerze. Lepiej poznasz swój
komputer i dowiesz siê, w jaki sposób zapamiêtuje i przetwarza dane. Komputer
przestanie byæ dla Ciebie „czarn¹ skrzynk¹” wykonuj¹c¹ w czarodziejski sposób
Twoje polecenia.
• Podstawowe wiadomoci o architekturze procesorów Intel
• Organizacja pamiêci i tryby adresowania
• Omówienie listy rozkazów procesora
• Narzêdzia do tworzenia programów w jêzyku asemblera
• Struktura programu w asemblerze
• Definiowanie zmiennych
• Tworzenie podprogramów i makrorozkazów
• Wykorzystanie funkcji BIOS-a oraz MS-DOS
• Programy w asemblerze uruchamiane w systemie Windows
• Optymalizacja kodu
• Tworzenie modu³ów dla innych jêzyków programowania
CZYTELNIA
FRAGMENTY KSI¥¯EK ONLINE
Wydawnictwo Helion
ul. Chopina 6
44-100 Gliwice
tel. (32)230-98-63
e-mail: helion@helion.pl
Spis treci
Rozdział 1. Wprowadzenie ...................................................................................7
1.1. Co to jest asembler? .....................................................................................................7
1.2. Dlaczego programowa w jzyku asemblera? ...........................................................10
1.3. Dlaczego warto pozna jzyk asemblera?..................................................................12
1.4. Wymagane umiejtno#ci ............................................................................................12
1.5. Konwencje stosowane w ksi&'ce ...............................................................................13
Rozdział 2. Zaczynamy typowo — wiedzc niewiele,
uruchamiamy nasz pierwszy program................................................17
2.1. „Hello, world!” pod systemem operacyjnym MS DOS.............................................18
2.2. „Hello, world!” pod systemem operacyjnym Windows.............................................22
Rozdział 3. Wracamy do podstaw — poznajemy minimum wiedzy
na temat architektury procesorów 80x86.........................................29
3.1. Rejestry procesora 8086.............................................................................................30
3.2. Zwikszamy rozmiar rejestrów — od procesora 80386 do Pentium 4......................33
3.3. Zwikszamy liczb rejestrów — od procesora 80486 do Pentium 4.........................35
3.4. Segmentowa organizacja pamici..............................................................................39
3.5. Adresowanie argumentów..........................................................................................43
3.6. Adresowanie argumentów w pamici operacyjnej.....................................................44
Rozdział 4. Poznajemy narz+dzia........................................................................47
4.1. Asembler MASM.......................................................................................................49
4.2. Program konsoliduj&cy — linker ...............................................................................52
4.3. Programy uruchomieniowe ........................................................................................54
4.4. Wszystkie potrzebne narzdzia razem, czyli #rodowiska zintegrowane....................62
Rozdział 5. Nadmiar mo.liwo/ci, z którym trudno sobie poradzi1
— czyli lista instrukcji procesora......................................................67
5.1. Instrukcje ogólne — jednostki stałoprzecinkowej .....................................................70
5.2. Koprocesor arytmetyczny — instrukcje jednostki zmiennoprzecinkowej.................73
5.3. Instrukcje rozszerzenia MMX....................................................................................75
5.4. Instrukcje rozszerzenia SSE.......................................................................................78
5.5. Instrukcje rozszerzenia SSE2.....................................................................................82
5.6. Instrukcje rozszerzenia SSE3.....................................................................................85
5.7. Instrukcje systemowe.................................................................................................85
4
Praktyczny kurs asemblera
Rozdział 6. Wracamy do ogólnej struktury programu asemblerowego ..................87
6.1. Uproszczone dyrektywy definiuj&ce segmenty..........................................................87
6.2. Pełne dyrektywy definiowania segmentów................................................................92
6.3. Spróbujmy drobn& cz# tej wiedzy zastosowa w prostym programie,
a przy okazji poznajmy nowe pomocnicze dyrektywy...................................................96
Rozdział 7. Wa.na rzecz w ka.dym j+zyku programowania
— definiowanie i stosowanie zmiennych.........................................105
7.1. Zmienne całkowite...................................................................................................106
7.2. Zmienne zmiennoprzecinkowe ................................................................................109
7.3. Definiowanie tablic i łaAcuchów..............................................................................110
7.4. Struktury zmiennych ................................................................................................114
7.5. Dyrektywa definiuj&ca pola bitowe..........................................................................117
Rozdział 8. Podprogramy .................................................................................119
8.1. Stos...........................................................................................................................119
8.2. Wywołanie i organizacja prostych podprogramów..................................................122
8.3. Poznajemy dyrektyw PROC-ENDP.......................................................................123
8.4. Parametry wywołania podprogramu ........................................................................128
8.5. Zmienne lokalne.......................................................................................................137
Rozdział 9. Oddalamy si+ od asemblera w kierunku j+zyków wy.szego poziomu,
czyli u.ycie makroinstrukcji oraz dyrektyw asemblacji warunkowej.... 139
9.1. Makroinstrukcja definiowana...................................................................................139
9.2. Dyrektywa LOCAL..................................................................................................144
9.3. Dyrektywy asemblacji warunkowej.........................................................................144
9.4. Makroinstrukcje niedefiniowane..............................................................................148
9.5. Makroinstrukcje tekstowe ........................................................................................149
9.6. Makroinstrukcje operuj&ce na łaAcuchach (na tekstach)..........................................150
Rozdział 10. Czy obsług+ wszystkich urzdze5 komputera musimy wykona1 sami?
Funkcje systemu MS DOS oraz BIOS ..............................................153
10.1. Co ma prawo przerwa wykonanie naszego programu?........................................154
10.2. Obsługa klawiatury oraz funkcje grafiki na poziomie BIOS.................................156
10.3. Wywoływanie podprogramów systemu operacyjnego MS DOS...........................163
Rozdział 11. Obalamy mity programujc w asemblerze
pod systemem operacyjnym Windows.............................................169
11.1. Systemowe programy biblioteczne ........................................................................170
11.2. Najprawdziwsze pierwsze okno.............................................................................173
11.3. Struktury programowe HLL — to te' jest asembler!.............................................178
11.4. Idziemy jeden krok dalej i wykorzystujemy program generatora okien Prostart......180
Rozdział 12. Czy mo.emy przy/pieszy1 działanie naszego programu?
Wybrane zagadnienia optymalizacji programu..................................189
12.1. Kiedy i co w programie powinni#my optymalizowa?..........................................191
12.2. Optymalizujemy program przygotowany dla procesora Pentium 4.......................193
12.3. Wspieramy proces optymalizacji programem Vtune.............................................200
12.4. Na ile ró'nych sposobów mo'emy zakodowa kopiowanie tablic?........................201
Rozdział 13. Dzielimy program na moduły i łczymy moduły zakodowane
w ró.nych j+zykach programowania................................................209
13.1. Jak realizowa poł&czenia midzymodułowe?.......................................................210
13.2. Mieszamy moduły przygotowane w ró'nych jzykach .........................................214
Spis treci
5
Rozdział 14. Przykładowe programy (MS DOS) ...................................................219
14.1. Identyfikujemy procesor ........................................................................................219
14.2. Wchodzimy w #wiat grafiki — nieco patriotycznie...............................................225
14.3. Program rezydentny, czyli namiastka wielozadaniowo#ci.....................................228
14.4. Pozorujemy głbi..................................................................................................233
14.5. Wy'sza graficzna szkoła jazdy ze zmiennymi zespolonymi .................................236
Rozdział 15. Przykładowe programy (Windows)..................................................243
15.1. Zegarek...................................................................................................................243
15.2. Dotknicie grafiki przez du'e „G”.........................................................................248
15.3. Przekształcamy map bitow& .................................................................................250
Załcznik 1.Interesujce strony w internecie ....................................................271
Załcznik 2.Lista dyrektyw i pseudoinstrukcji j+zyka MASM..............................275
Z2.1. Dyrektywy okre#laj&ce list instrukcji procesora..................................................275
Z2.2. Organizacja segmentów.........................................................................................277
Z2.3. Definiowanie stałych oraz dyrektywy zwi&zane z nazwami symbolicznymi........279
Z2.4. Definiowanie zmiennych.......................................................................................280
Z2.4. Dyrektywy asemblacji warunkowej.......................................................................282
Z2.5. Makroinstrukcje i dyrektywy nimi zwi&zane.........................................................283
Z2.6. Pseudoinstrukcje typu HLL ...................................................................................285
Z2.7. Dyrektywy zwi&zane z podprogramami ................................................................286
Z2.8. Dyrektywy wpływaj&ce na kształt listingu asemblacji..........................................287
Z2.9. Poł&czenia midzymodułowe ................................................................................289
Z2.10. Dyrektywy zwi&zane z diagnostyk& procesu asemblacji.....................................290
Z2.11. Inne dyrektywy i pseudoinstrukcje......................................................................291
Załcznik 3.Operatory stosowane w j+zyku MASM............................................293
Z3.1. Operatory stosowane w wyra'eniach obliczanych w czasie asemblacji ...............293
Z3.2. Operatory stosowane w wyra'eniach obliczanych
w czasie wykonywania programu.................................................................................297
Załcznik 4.Symbole predefiniowane.................................................................299
Załcznik 5.Przegld instrukcji procesora Pentium 4.........................................303
Z5.1. Instrukcje ogólne (jednostki stałoprzecinkowej)...................................................303
Z5.2. Instrukcje jednostki zmiennoprzecinkowej (koprocesora arytmetycznego)..........309
Z5.3. Instrukcje rozszerzenia MMX ...............................................................................313
Z5.4. Instrukcje rozszerzenia SSE...................................................................................315
Z5.5. Instrukcje rozszerzenia SSE2.................................................................................319
Z5.6. Instrukcje rozszerzenia SSE3.................................................................................323
Z5.7. Instrukcje systemowe.............................................................................................325
Załcznik 6.Opis wybranych przerwa5 systemu BIOS.........................................327
Z6.1. Funkcje obsługi klawiatury wywoływane przerwaniem programowym INT 16h...327
Z6.2. Funkcje obsługi karty graficznej wywoływane
przerwaniem programowym INT 10h. .........................................................................329
Załcznik 7.Wywołania funkcji systemu operacyjnego MS DOS..........................335
Z7.1. Funkcje realizuj&ce odczyt lub zapis znaku z układu wej#ciowego
lub wyj#ciowego...........................................................................................................335
Z7.2. Funkcje operuj&ce na katalogach...........................................................................337
Z7.3. Operacje na dysku..................................................................................................337
Z7.4. Operacje na plikach (zbiorach) dyskowych...........................................................339
Z7.5. Operacje na rekordach w pliku..............................................................................341
6
Praktyczny kurs asemblera
Z7.6. Zarz&dzanie pamici& operacyjn&..........................................................................342
Z7.7. Funkcje systemowe................................................................................................342
Z7.8. Sterowanie programem..........................................................................................344
Z7.9. Funkcje zwi&zane z czasem i dat&...........................................................................345
Z7.10 Inne funkcje ..........................................................................................................345
Załcznik 8.Opis wybranych funkcji API............................................................347
Z8.1. CheckDlgButtom ...................................................................................................347
Z8.2. CloseHandle...........................................................................................................348
Z8.3 CopyFile..................................................................................................................349
Z8.4. CreateFile...............................................................................................................350
Z8.5. CreateWindowEx...................................................................................................352
Z8.6. DeleteFile...............................................................................................................355
Z8.7. ExitProcess.............................................................................................................355
Z8.8. GetFileSize.............................................................................................................356
Z8.9. MessageBox...........................................................................................................357
Z8.10. ShowWindow.......................................................................................................359
Załcznik 9.Tablica kodów ASCII oraz kody klawiszy.........................................361
Z9.1. Kody ASCII...........................................................................................................361
Z9.2. Kody klawiszy .......................................................................................................361
Załcznik 10. Program Segment Prefix (PSP)....................................................367
Załcznik 11. Płyta CD załczona do ksi.ki .....................................................369
Skorowidz ........................................................................................................371
Plik z chomika:
sianowo1
Inne pliki z tego folderu:
Asembler dla procesorow Intel Vademecum profesjonalisty.pdf
(400 KB)
Asembler cwiczenia praktyczne.pdf
(358 KB)
Architektura systemow zarzadzania przedsiebiorstwem Wzorce projektowe.pdf
(829 KB)
Architektura oprogramowania Metody oceny oraz analiza przypadkow.pdf
(429 KB)
Aplikacje w Visual C++ 2005 Przyklady.pdf
(296 KB)
Inne foldery tego chomika:
! Airport Simulator [PL]
!!!!!!!!!!!!!!!!!!!
!!!A TUNING, CHIPTUNING
&WINDOWS 7 ULTIMATE X86 X64 ISO PLx 64 x 86 iso
+++++++++++++++++++++++++
Zgłoś jeśli
naruszono regulamin