abc Asembler - elektronski priručnik
V dio Registri
Kontrolni registri
Kombinovani 32-bitni instrukcioni pointer registar i 32-bitni flag (zastavica) registar se smatraju kontrolnim registrima. Mnoge instrukcije uključuju poređenja i matematičke kalkulacije i mijenjaju status flagova, a neke druge uslovne instrukcije testiraju vrijednost ovih statusnih flagova da usmjere kontrolni tok ka drugoj lokaciji.
Uobičajeni flag bitovi su:
- Overflow Flag (OF): On indicira prekoračenje (overflow) najvišeg bita (krajnji lijevi bit) podatka nakon označene aritmetičke operacije.
- Direction Flag (DF): On određuje lijevi ili desni smjer kretanja ili poređenja string podatka. Kada je DF vrijednost 0, string operacija ima smjer s lijeva na desno, a kada je vrijednost postavljena na 1, string operacija ima smjer s desna na lijevo.
- Interrupt Flag (IF): On određuje da li eksterni prekidi (interapti) kao što je ulaz sa tastature itd., trebaju biti ignorisani ili procesirani. On onemogućava eksterni prekid kada je vrijednost 0, a omogućava prekide kada je postavljen na 1.
- Trap Flag (TF): On dozvoljava postavljanje operacije procesora u tzv. jednokoračni (single-step) mod. DEBUG program postavlja trap flag, tako da možemo proći kroz izvršavanje jedne po jedne instrukcije.
- Sign Flag (SF): On pokazuje znak rezultata aritmetičke operacije. Ovaj flag je postavljen u skladu sa znakom podatka nakon aritmetičke operacije. Znak je indiciran najvišim ili krajnje lijevim bitom. Pozitivan rezultat postavlja vrijednost SF na 0, a negativan rezultat postavlja ga na 1.
- Zero Flag (ZF): On indicira rezultat aritmetičke operacije ili operacije poređenja. Nenulti rezultat postavlja zero flag na 0, a nulti rezultat postavlja ga na 1.
- Auxiliary Carry Flag (AF): On sadrži prenos (carry) sa bita 3 na bit 4 nakon aritmetičke operacije; koristi se za specijalizovanu aritmetiku. AF je postavljen kada 1-bajtna aritmetička operacija uzrokuje prenos sa bita 3 u bit 4.
- Parity Flag (PF): On indicira ukupan broj 1-bita u rezultatu dobijenom iz neke aritmetičke operacije. Paran broj 1-bita postavlja parity flag na 0, a neparan broj 1-bita postavlja parity flag na 1.
- Carry Flag (CF): On sadrži prenos (carry) 0 ili 1 sa najvišeg bita (krajnji lijevi) nakon aritmetičke operacije. On takođe sprema sadržaje posljednjeg bita shift ili rotate operacije.
Sljedeća tabela indicira poziciju flag bitova u 16-bitnom Flags registru:
Flag: |
|
|
|
|
O |
D |
I |
T |
S |
Z |
|
A |
|
P |
|
C |
Br. bita: |
15 |
14 |
13 |
12 |
11 |
10 |
9 |
8 |
7 |
6 |
5 |
4 |
3 |
2 |
1 |
0 |
Indeksni registri < Index > Segmentni registri
|
|