Prin ir se nelege o secven de octei sau de cuvinte, aflate la adrese succesive de memorie. Setul
de instrucini cuprinde operaii primitive (la nivel de octet sau cuvnt) i prefixe de repetare, care
pot realiza repetarea operaiilor primitive de un numr fix de ori sau pn la ndeplinirea unei
condiii de tip comparaie. Denumirea instruciunilor fr operanzi la nivel de octet se termin cu
litera B, iar a celor la nivel de cuvnt cu litera W. Aceste instruciuni folosesc registrele DS:SI ca
adres surs i ES:DI ca adres destinaie. Exist i variantele cu operanzi ale acestor instruciuni, i
ele se folosesc n situaia n care se utilizeaz alt segment pentru irul surs, dect segmentul de date
implicit (DS).
1.
.model small
Prin aceast directiv se specific dimensiunea i modul de dispunere a segmentelor n memorie.
Datele i stiva formeaz un segment i codul un alt segment. Fiecare din acestea va avea
dimensiunea maxima de 64KB. Apelurile de procedur i salturile sunt de tip NEAR i se folosesc
adrese efective (offset) pentru accesarea datelor
2.
.stack 100
Aceast directiv aloc o zon de memorie de dimensiune specificat pentru segmentul de stiv.
Dac nu se specific parametrul dimensiune, aceasta va fi implicit de 1KB.
3.
.data
Aceast directiv precede segmentul de date. Utilizatorul trebuie s iniializeze, n mod explicit,
registrul de segment DS, cu adresa segmentului de date. Simbolul @data primete adresa
segmentului de date dup linkeditare.
4.
5.
.code
Aceast directiv precede segmentul de cod. ncrcarea adresei acestui segment n registrul CS se
face automat de ctre sistemul de operare, la ncrcarea segmentului pentru execuie. Opional se
pot asocia nume (maxim 6 caractere) pentru segmentele de cod.
Start:
6.
dup linkeditare.
7.
mov es, ax
Ne trebuie adresa de nceput a sectiunii de date pentru a putea folosi intructiunile cu
siruri
8.
9. I. muta v1 ubuntu n v0
schimba proc
prin directiva PROC, numele procedurii fiind interpretat ca o etichet cu tipul derivat
din tipul procedurii (NEAR sau FAR).
mov di, 0
destinaie = 0
mov si, offset v1
sursa = AE a lui v1
mov cx, 8
contor = 8
ne pregtim pentru a utiliza operatiile cu siruri
rep movsb
schimba endp
destinaie = AE a lui v1
sursa = AE a lui v2
destinaie = AE a lui v2
sursa = 0