Extras din curs
Bitii din registrul Flag sunt indicatori de stare care se pozitioneaza functie de rezultatul ultimei operatii aritmetice sau logice si se testeaza de instructiunile de salt.
Instructiunile de transfer a datelor si salt nu pozitioneaza indicatorii.
O – Overflow flag depasire capacitate registru la operatii aritmetice
D – Direction flag directia deplasarii la instr. pe siruri de caractere( d=0 spre dreapta)
I – Interupt enableflag intreruperi admise
T – Trap flag
S – Sign flag indica semnul rezultatului (S=0 pozitiv, S=1 negativ)
Z – Zero flag indica rezultat zero (Z=1)
A – Auxiliar carry Transport intermediar din rangul 4 ( A=1)
P - Parity flag Numar de biti par in rezultat (P=1)
C – Carry flag Transport din rangul cel mai semnificativ (C=1)
NT – Nested task Pentru control task-uri
1.2. Segmentarea programelor
Programele trebuie sa fie modulare si relocatabile - sa poata fi incarcate oriunde in memorie si sa poata rula din acea zona.
Modulele vor cuprinde informatii de acelasi tip rezultate din compilarea programelor.
Un segment poate cuprinde mai multe module asamblate de Link-Editor.
Un program poate cuprinde mai multe segmente. Exista 4 tipuri de segmente :
- segment de cod ce contine numai instructiuni de program cu adrese relative la inceputul segmentului, bazat cu registrul de segment CS;
- segment de date ce contine numai date din program, bazat cu registrul DS ;
- segment de date comune pentru mai multe segmente, bazat cu registrul ES ;
- segment de stiva ce contine datele gestionate ca stive, bazat cu registrul SS ;
Implicit adresele datelor din program se bazeaza cu reg.DS, adresele de salt cu reg.CS si adresele de stiva indicate de SP (Stack Pointer) cu reg.SS.
Structura unui program relocatabil format din segmente
Preview document
Conținut arhivă zip
- Curs1_I86.doc
- Curs10_fis.doc
- Curs11_ LOG.doc
- Curs2_Instr.doc
- Curs3_inm.doc
- Curs4_Jmp.doc
- Curs5_sir.doc
- Curs6_param.doc
- Curs7_pmem.doc
- Curs8_rentr.doc
- Curs9_mac.doc
- LAB_8087.DOC
- LAB_80871.doc