Nazwa
Ile elementów
Przykład
Działanie
Schemat
ADDR
Uwagi
Zwarte
(compact)
Zero-elem.
Błyskawiczne
(quick)
Ponoć używane w RISC
Natychmiastowe
(immediate)
Movl $4, %eax
Eax = 4
CONST_REG
%eax
Bezwzględne
(absolute)
Jedno-elem.
Movl $4, (%eax)
Mem(eax)=4
CONST_ADDR
Bezwzględne pośrednie
(absolute indirect)
Jmp ($F000)
Skok
JMP
Używane tylko przez JMP
Rejestrowe bezpośrednie
(register direct)
Mov %eax, %ebx
Ebx=eax
REG_REG
%ebx
Rejestrowe pośrednie
(register indirect)
Mov %eax, 8(%ebx)
Mem(ebx+8)=eax
REG_ADDR
%ebx+8
Używane tylko przez bx,si,di
Rejestrowe pośrednie z modyfikacją
(register indirect modified)
Bazowe z przemieszczeniem
(based)
Wielo-elem.
Movl $0, 2(%eax)
Mem(eax+2)=0
%eax+2
Indeksowe z przemieszczeniem
(indexed)
Movl $30, a(,%edi,4)
a+(edi*4)=30
DATA_ARRAY
(,REG,CONST)
a+(%edi*4)
Bazowo-indeksowe
(base-indexed)
Movl $60, (%ebx,%edi,4)
Ebx+(edi*4)=60
DATA_POINT(BASE,INDEX, SIZE)
%ebx+(%edi*4)
Względne z przemieszczeniem
(PC-relative)
Względne indeksowe
(PC based indexed)
niobe666