x86
EAX
akumulatorEBX
~ bazowyECX
~ licznikaEDX
~ danychESI
~ źródłaEDI
~ celuEBP
wskaźnik podstawy stosuESP
wskaźnik szczytu stosuCS
~ segmentu koduDS
~ segmentu danychSS
~ segmentu stosuES
, FS
, GS
~ pomocnicze segmentu danychEIP
licznik programuEFLAGS
~ stanu procesora~ mniejszych rozmiarów
Z ~ danych, adresowych, EIP
, oraz EFLAGS
można korzystać jak z rejestrów 16-bitowych (rejestry takie oznacza się przez pominięcie E
: EAX
AX
Dodatkowo, do rejestrów danych i adresowych można się odwoływać do starszego i młodszego bajtu 16-bitowego adresu, oznaczanych odpowiednio literami H
oraz L
.
| EAX |
+----------------+-----------------+
| | AX |
+----------------+--------+--------+
| | AH | AL |
+----------------+--------+--------+
bit | skrót | opis |
---|---|---|
0 | CF | flaga przeniesienia |
1 | 1 | zarezerwowane |
2 | PF | flaga parzystości |
3 | 0 | zarezerwowane |
4 | AF | flaga wyrównania |
5 | 0 | zarezerwowane |
6 | ZF | flaga zera |
7 | SF | flaga znaku |
8 | TF | flaga pracy krokowej |
9 | IF | flaga przerwań |
10 | DF | flaga kierunku |
11 | OF | flaga przepełnienia |
12,13 | IOPL | poziom uprzywilejowania (tryb chroniony) |
14 | NT | flaga zadania zagnieżdżonego |
15 | 0 | zarezerwowane |
16 | RF | flaga wznowienia |
17 | VM | flaga trybu wirtualnego 8086 |
18 | AC | sprawdzenie wyrównania |
19 | VIF | flaga przerwania wirtualnego |
20 | VIP | oczekujące przerwanie wirtualne |
21 | ID | identyfikacja |
22-31 | 0 | zarezerwowane |
reg
rejestr addr
adres
MOV desc, src
kopiowanie danych z src
do dest
PUSH src
wstawienie na szczyt stosu src
POP dest
zdejmuje wartość ze stosu i wstawia do dest
LEA reg, addr
do reg
ładuje adres addr
ADD dest, src
dodawanie dest
dest
+ src
ADC dest, src
dodawanie z przeniesieniem dest
dest
+ src
+ CF
SUB dest, src
odejmowanie dest
dest
- src
SBB dest, src
odejmowanie z przeniesieniem dest
dest
- src
- CF
SHL dest, (const|cl)
przesunięcie bitowe w lewoSHR dest, (const|cl)
przesunięcie bitowe w prawoMUL src
mnożenie bez znaku EDX:EAX $:=$ EAX * src
IMUL src
mnożenie ze znakiem EDX:EAX $:=$ EAX * src