Laborator Limbaj de Asamblare

Imagine preview
(10/10 din 4 voturi)

Acest laborator prezinta Laborator Limbaj de Asamblare.
Mai jos poate fi vizualizat un extras din document (aprox. 2 pagini).

Arhiva contine 12 fisiere doc de 121 de pagini (in total).

Profesor: Sebastyan Gheorghe

Iti recomandam sa te uiti bine pe extras si pe imaginile oferite iar daca este ceea ce-ti trebuie pentru documentarea ta, il poti descarca.

Fratele cel mare te iubeste, acest download este gratuit. Yupyy!

Domenii: Calculatoare, Automatica, Limbaje de Programare

Extras din document

Elementele limbajului de asamblare si formatul programelor executabile

INTRODUCERE

Scopul lucrarii este prezentarea formatului instructiunilor în limbaj de asamblare, a principalelor pseudoinstructiuni pentru lucrul cu segmente si rezervare a datelor precum si a structurii programelor executabile de tip .COM si .EXE

Elementele limbajului de asamblare TASM

Formatul instructiunilor

O instructiune se poate reprezenta pe o linie de maxim 128 caractere, având forma generala:

[<eticheta>:] [<codop>[<operanzi>][;<comentarii>]]

unde:

<eticheta> un nume, maxim 31 caractere (litere, cifre sau caractere speciale _,?,@,..), primul caracter fiind litera sau unul din caracterele speciale. Fiecare eticheta are asociata o valoare si anume adresa relativa în segmentul din care face parte

<codop> mnemonica instructiunii

<operanzi> operandul (sau operanzii) asociat instructiunii conform sintaxei cerute de aceasta. Poate fi o constanta, un simbol sau expresii continând acestea

<comentarii> un text oarecare precedat de caracterul “;”

Este permisa inserarea de linii goale si a unui numar oarecare de spatii. Aceste facilitati se folosesc pentru asigurarea lizibilitatii programului

Specificarea constantelor

Constante numerice – se prezinta sub forma unui sir de cifre, prima fiind între 0 si 9 (daca de exemplu numarul este în hexa si începe cu un caracter, se va pune un zero in fata acestuia). Baza numarului se specifica printr-o litera la sfârsitul numarului (B pentru binar, Q pentru octal, D pentru zecimal si H pentru hexa; fara o specificatie explicita, numarul se considera în zecimal).

Exemple: 010010100B, 26157Q (octal), 7362D (sau 7362), 0AB3H.

Constantele caracter sau siruri de caractere se specifica între ghilimele sau apostrofe.

Exemple: “sir de caractere”, ‘sir de caractere’

Simboluri

Simbolurile reprezinta pozitii de memorie. Acestea pot fi: etichete sau variabile. Orice simbol are urmatoarele atribute:

- segmentul în care e definit

- offset-ul (adresa relativa în segment)

- tipul simbolului (se atribuie la definire)

Etichete

Etichetele (label) se pot defini numai pe zona de program si pot fi operanzi la instructiunile CALL sau JMP

Atributele etichetelor sunt:

- segmentul (de regula CS) este adresa paragrafului unde începe segmentul care contine eticheta. Când se face referire la eticheta, valoarea se gaseste în CS (valoarea efectiva se stie numai în timpul rularii)

- offset-ul este distanta în octeti a etichetei fata de începutul segmentului în care acesta a fost definit

- tipul determina modul de referire la eticheta; exista doua tipuri: NEAR si FAR. Referirea de tip NEAR este în segment (numai offset) iar cea de tip FAR precizeaza si segmentul (segment : offset).

Etichetele se definesc la începutul liniei sursa. Daca dupa eticheta urmeaza caracterul “:” atunci va fi de tip near.

Variabile

Definirea variabilelor (eticheta de date) se poate face cu pseudooperatori de rezervare a spatiului.

Atributele variabilelor sunt:

- Segment si offset – ca si la etichete, cu deosebirea ca pot fi si alte registre segment

- tipul – este o constanta care arata lungimea (în octeti) a zonei rezervate:

BYTE(1), WORD(2), DWORD(4), QWORD(8), TWORD(10), STRUC (definita de utilizator), RECORD (2).

Fisiere in arhiva (12):

  • L1 Conversii si operatii in baze de numeratie.doc
  • L10 Utilizarea functiilor sistem.doc
  • L11 Utilizarea coprocesorului matematic-final.doc
  • L2 Reprezentarea interna a datelor.doc
  • L3 Utilizarea Turbo Debugger.doc
  • L4 Elementele limbajului si formatul programelor.doc
  • L5 Instr aritmetice logice deplasare.doc
  • L6 Instr transferul datelor.doc
  • L7 Controlul fluxului de instr.doc
  • L8 Utilizarea macrourilor si Tlib.doc
  • L9 Progr mai multe seg.doc
  • PLA Teme de proiecte.doc

Alte informatii

Universitatea Tehnica Cluj Napoca Laboratorul + Temele propuse pentru proiect