> For the complete documentation index, see [llms.txt](https://acristea.gitbook.io/bti-suport-seminar/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://acristea.gitbook.io/bti-suport-seminar/seminar-10/directive.md).

# Directive

## .STACK

De exemplu, **.STACK** 200H defineşte o stivă de 512 octeţi.

## .CODE

Directiva **.CODE** marchează începutul segmentului de cod.

## .DATA

Directiva **.DATA** marchează începutul segmentului de date, adică locul în care vom plasa variabilele de memorie. Reprezentativ aici este faptul că trebuie încărcat în mod explicit registrul de segment DS cu valoarea "@data" înaintea accesării locaţiilor de memorie în segmentul definit de .DATA. Având în vedere că un registru de segment poate fi încărcat fie dintr-un registru general fie dintr-o locaţie de memorie dar nu poate fi încărcat direct cu o constantă, registrul de segment DS este încărcat în general printr-o secvenţă de 2 instrucţiuni:&#x20;

mov ax, @data&#x20;

mov ds, ax&#x20;

\*(se poate folosi şi alt registru general în locul lui AX)

## DOSSEG

DOSSEG este directiva ce face ca segmentele dintr-un program să fie grupate conform convenţiilor Microsoft de adresare a segmentelor.

## .MODEL

<figure><img src="https://3764159134-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FLEuMc3jCaSbqilHud9lY%2Fuploads%2FH7yASwe6JiGbamZAKQDe%2F2022-11-27_18h14_45.png?alt=media&amp;token=fd8f747d-e874-4a97-ad41-5f28f2a4958b" alt=""><figcaption></figcaption></figure>
