Acceptați directiva

Folosind directiva ASSUME, asamblorul este informat despre corespondența dintre registrele segmentului și segmentele programului. Directiva are următorul format:







ASSUME <пара>[[, <пара>]]

unde <пара> - aceasta este <сегментный регистр> :<имя сегмента>

sau <сегментный регистр> : NICIODATĂ

ASSUME ES: A, DS: B, CS: C

Astfel, directiva ASSUME dă dreptul să nu precizeze în comenzi (cel puțin în cele mai multe dintre ele) prefixe - prefixele omitate vor restaura în mod independent asamblarea.

Dacă există mai multe perechi cu același registru de segment, ultimul dintre ele, „anulează“ mai devreme, adică. A. Fiecare registru de segment, poate fi asociat cu un singur segment al directivei ASSUME. În același timp, diferite registre de segmente pot indica același segment. În cazul în care ASSUME directivă ca cuvântul funcție al doilea element pereche set NIMIC (nimic), de exemplu, presupuneți ES: NIMIC, aceasta înseamnă că din acest moment registru segment nu indică un segment, ansamblu care nu trebuie să utilizeze acest registru în timpul traducerii comenzi.







Descărcați după cum urmează. Să registrul DS trebuie să fie stabilit la începutul segmentului V. Pentru a descărca trebuie să vă înregistrați DS Tipul de atribuire: = B. Dar pentru a face acest lucru DS MOV, B nu se poate comanda ca nume de segment - este o expresie constantă, adică un operand imediat, și trimiterea de registru de segment operand imediat (vezi mai jos). Interzis de instrucțiunea MOV ... Prin urmare, un astfel de transfer ar trebui efectuat printr-un alt registru nesegmentat, de exemplu, prin AX:

În mod similar, se încarcă registrul ES.

Nu este nevoie să descărcați registrul CS, deoarece acest registru va indica deja la începutul execuției programului, la începutul segmentului de cod. Această bootare este efectuată de sistemul de operare înainte de a trece controlul la program.

Descărcați registrul SS în două moduri. În primul rând, poate fi descărcat în programul în sine, la fel ca DS sau ES. În al doilea rând, o astfel de încărcare poate fi atribuită sistemului de operare. Pentru a face acest lucru, în directiva SEGMENT, care deschide descrierea segmentului de stivă, trebuie să specificați un parametru special STACK, de exemplu:

S STAGIUL DE SEGMENT

În acest caz, descărcarea S în registrul SS va fi efectuată automat înainte de executarea programului.







Trimiteți-le prietenilor: