Procesoare INTEL, Programare in limbaj de asamblare, Editia a II-a

Procesoare INTEL, Programare in limbaj de asamblare, Editia a II-a
-15%
Editura:
Pagini: 464
34,00 lei
40,00 lei (-15%)
Promoția expiră la 31.12.2016
Disponibilitate: stoc epuizat
stoc epuizat

DESCRIERE

Programarea in limbaj de asamblare este mult mai dificila decat cea intr-un limbaj de nivel inalt, deoarece programatorul trebuie sa cunoasca, pe langa limbajul de asamblare, si structura interna a calculatorului (registre, organizarea si adresarea memoriei, porturi de intrare-iesire etc.).

In lucrarea de fata prezinta limbajul de asamblare corespunzator familiei de procesoare INTEL, de la procesorul 80286 si pana la procesorul Pentium 4. Toate referirile facute in carte la procesoarele 386/486 sau cele urmatoare, din familia Intel, includ in mod implicit si procesoarele Pentium II, III si 4.

Organizarea cartii

Cartea este organizata in doua parti: prima se refera la aspectele legate de arhitectura interna a procesoarelor, iar cea de-a doua contine prezentarea limbajului de asamblare, insotita de numeroase exemple. Cartea prezinta, pe langa limbajul de asamblare si arhitectura procesorului, strict necesare programatorului obisnuit, si elementele din structura procesorului necesare programatorilor de sistem.

Partea I

In introducere este prezentat un scurt istoric al evolutiei calculatoarelor si procesoarelor, precum si etapele ce trebuie parcurse pentru elaborarea unui program in limbaj de asamblare

In primul capitol este prezentata arhitectura unui sistem de calcul pornind de la nivelul aplicatiei si pana la nivelul componentelor calculatorului; de asemenea, sunt prezentate anumite concepte legate de arhitectura memoriei: memoria liniara, memoria virtuala si memoria segmentata.

Urmatoarele doua capitole prezinta modalitatea de implementare a mecanismelor de adresare virtuala si protectie a memoriei, nivelurile de privilegiu, realizarea comunicatiei internivel, comutarea de task, multitasking-ul, mecanismele de paginare si administrarea memoriei cache.

Capitolele 4 si 5 descriu modul de organizare si de operare al procesoarelor superscalare actuale, la modul general, dar si cu exemplificarea concreta pentru familia de procesoare INTEL; sunt prezentate resursele (registre, memorie, porturi de I/E) si modurile de lucru ale procesoarelor Intel, de la procesorul 80286 si pana la PENTIUM 4.

Capitolul 6 prezinta tipurile de intreruperi, tabela vectorilor de intrerupere si modul de prelucrare a acestora, in cele doua moduri de lucru ale procesorului (real si protejat); este descrisa structura procedurilor de tratare a intreruperilor (servicii sistem, precum si proceduri utilizator pentru tratarea intreruperilor).

In fine, capitolul 7 descrie formatul instructiunilor procesoarelor Intel si modurile de adresare utilizate pentru obtinerea operanzilor.

Partea a II-a

Partea a doua incepe cu capitolele 8 si 9, care prezinta elementele de baza ale limbajului de asamblare: instructiuni si pseudoinstructiuni, operatori, directive, declararea datelor, definirea constantelor, variabile si siruri, tipuri de etichete, definirea si utilizarea segmentelor, modelele de memorie, asocierea segmentelor cu registrele segment, initializarea registrelor segment.

Capitolul 10, cel mai intins, prezinta setul de instructiuni de baza: instructiuni de transfer, aritmetice, de prelucrare la nivel de bit, de operare pe siruri, de transfer al controlului programului si instructiuni pentru controlul procesorului. Prezentarea instructiunilor este insotita de numeroase exemple, precum si de completarile necesare procesoarelor Pentium.

Conceptul de procedura, transferul parametrilor procedurii prin registre, memorie sau stiva, procedurile recursive, transferul parametrilor si legatura cu programe scrise in limbaje de nivel inalt, programe alcatuite din mai multe module, structura modulara a unui program si directivele necesare acestora, precum si formatul programelor executabile sunt prezentate in urmatoarele doua capitole, 11 si 12.

Urmatoarele trei capitole prezinta modalitatea de definire si utilizare de macroinstructiuni, directivele de asamblare conditionata si directivele struc si record, utilizate pentru definirea de structuri si inregistrari.

Capitolul 16 descrie utilizarea functiilor BIOS si DOS, precum si organizarea informatiei pe disc si operarea cu discul, formatul programelor executabile, PSP; in final este prezentata si utilizarea altor dispozitive de I/O (mouse, generare sunete, imprimanta).

Urmatorul, 17, descrie pe larg, cu numeroase exemplificari, modalitatea de realizare a programelor rezidente (TSR).

Ultimele trei capitole prezinta:

n modalitatea de mixare a codului pe 16 biti si a celui pe 32 de biti, partajarea segmentelor de date si transferul controlului intre segmentele de cod mixate;

n conceptele tehnologiei MMX si instructiunile acesteia, utilizata in aplicatiile grafice, video, animatie, audio si cele de comunicatie; exemple de exploatare a diferitelor tipuri de paralelism si avantajele utilizarii acestor instructiuni in aplicatiile multimedia;

arhitectura, instructiunile si tipurile de valori ale unitatii in virgula mobila; in incheiere, sunt prezentate exemple de utilizare ale acestor instructiuni.

Cuprins

De ce utilizam limbajul de asamblare?

Partea I"Structura procesoarelor Intel

Calculatoare

Procesoare

Programarea procesoarelor

1. Arhitectura calculatoarelor

1.1. Arhitectura memoriei

1.2. Memoria virtuala

1.3. Memoria segmentata

1.4. Memoria virtuala si alocarea dinamica a memoriei

2. Adresarea virtuala si mecanismul de protectie

2.1. Descriptori de segment

2.2. Segmentarea

2.3. Niveluri de privilegiu

2.4. Comunicatia internivel. Porti.

2.5. Segmente de stare task (TSS). Tabele de descriptori

2.6. Multitasking

2.7. Comutarea de task

3. Paginare si administrarea memoriei cache

3.1. Implementarea paginarii

3.2. Combinarea segmentarii si paginarii. Multitasking

3.3. Cache-ul intern

4. Procesoare superscalare

4.1. Decodificarea instructiunilor si analiza dependentelor de date

4.2. Alocarea unitatilor de executie paralela a instructiunilor

4.3. Tendinte

5. Structura procesoarelor din familia INTEL

5.1. Structura procesorului 286

5.2. Arhitectura de baza. Setul de registre

5.3. Arhitectura procesorului 80386

5.4. Arhitectura procesorului 80486

5.5. Procesoarele PENTIUM

6. Sistemul de intreruperi

6.1. Intreruperi externe

6.2. Intreruperi interne

6.3. Tabela vectorilor de intrerupere

6.4 Intreruperi in modul protejat

6.5 Proceduri de tratare a intreruperilor

Partea a II-a"Limbajul de asamblare

7. Formatul instructiunilor

7.1. Codificarea instructiunilor

7.2. Moduri de adresare

8. Limbajul de asamblare

8.1. Definirea constantelor

8.2. Propozitii in limbaj de asamblare

8.3. Instructiuni in limbaj de asamblare

8.4. Declararea datelor in limbaj de asamblare

8.5. Operatori

8.6. Definirea si initializarea etichetelor

9. Definirea si utilizarea segmentelor

9.1. Forma completa de definire a segmentelor

9.2. Directive simplificate de segmentare

9.3. Asocierea segmentelor cu registrele

9.4. Initializarea registrelor segment

9.5. Prefix segment

9.6. Reguli pentru determinarea registrului segment implicit

9.7. Definirea si utilizarea grupurilor de segmente

10. Setul de instructiuni

10.1. Instructiuni de transfer date

10.2. Instructiuni aritmetice

10.3. Instructiuni de prelucrare la nivel de bit

10.4. Instructiuni de operare pe siruri

10.5. Instructiuni de transfer al controlului programului

10.6. Instructiuni de control procesor

10.7. Instructiuni sistem (specifice modului protejat)

11. Proceduri in limbaj de asamblare

11.1. Definirea si utilizarea procedurilor

11.2. Proceduri recursive (reentrante)

12. Programe compuse din mai multe module

12.1. Directivele PUBLIC, EXTRN, GLOBAL, COMM, INCLUDE

12.2. Transferul parametrilor pentru proceduri

12.3. Conventiile utilizate de limbajele de nivel inalt la transferul parametrilor pentru proceduri

12.4. Transferul parametrilor pentru subprograme in PASCAL si C

12.5. Avantajele utilizarii limbajului de asamblare

13. Definirea si utilizarea de macroinstructiuni

13.1. Macroinstructiunea de repetare

13.2. Macroinstructiuni de repetare conditionata

13.3. Utilizarea operatorilor &, % si !

14. Directive de asamblare conditionata

14.1. Directive pentru generarea conditionata a erorilor

15. Structuri de date in limbaj de asamblare

15.1 Definirea unei structuri. Directiva STRUC

15.2. Definirea unei inregistrari. Directiva RECORD

16. Utilizarea intreruperilor BIOS si DOS

16.1. Utilizarea functiilor BIOS

16.2. Utilizarea functiilor DOS

16.3. Organizarea informatiei pe disc. Operarea cu discul

16.4. Formatul programelor executabile

16.5. Prefixul segment al programului, PSP

16.6. Utilizarea altor functii de I/O (mouse, generare sunete)

17. Programe rezidente in memorie (TSR)

17.1. Componentele unui program TSR

17.2. Programe TSR activate de la tastatura

17.3. Partea rezidenta a programului TSR

17.4. Dezinstalarea unui program TSR

18. Mixarea intre codul pe 16 biti si cel pe 32 de biti

19. Tehnologia MMX

19.1. Instructiunile si structurile de date ale tehnologiei MMX

19.2. Exploatarea diferitelor tipuri de paralelism

19.3. Calcule dependente de date

19.4. Conversii de date

19.5. Integrarea tehnologiei MMX in arhitectura Intel

19.6. Executia instructiunilor MMX

20. Unitatea in virgula mobila

20.1. Arhitectura unitatii in virgula mobila

20.2. Setul de instructiuni FPU

Index

Bibliografie

REVIEW-URI

Scrie un review și spune-ne opinia ta despre acest produs scrie un review

Categorii de carte

Edituri

Transport in Bucuresti

Livrare gratuita in Bucuresti

Carti pentru premii scolare

oferta_premii_scolare.jpg

ANPC

anpc_banner.jpg
Created in 0.399 sec