| Il primo (02H=00000010b
o 03H=00000011b)
evidenzia:
| il pacchetto base di 6 bit, 000000,
tipico dello mnemonico ADD |
| il bit1
(uguale a 1 in tutti i casi) ad indicare un
rapporto tra registro e memoria o tra registro e registro |
| il bit0,
uguale a 1 (con operandi a
16 o 32 bit,
word o doubleword) o uguale a 0 (con
operando a 8 bit, byte) |
|
| Il secondo (D3H=11010011b
o 0EH=00001110b)
composto da 3 campi:
| i primi 2 bit (bit7,bit6)
uguali a 11 (se l'istruzione coinvolge 2
registri) o diversi da
11 (se viene
coinvolto un operando di memoria
o operando immediato,
cioè una costante) |
| i secondi 3 bit (bit5,bit4,bit3)
indicano il tipo di registro coinvolto; nell'esempio 010
significa DX o DL mentre 001 indica
CX o
CL [ma ovviamente è possibile anche 000
per AX o
AL, 011 per
BX o BL,
100
per SP o
AH, 101 per
BP o CH,
110 per SI o
DH e
111 per
DI o BH] |
| gli ultimi 3 bit (bit2,bit1,bit0)
forniscono informazioni sul secondo operando:
| nel caso si tratti di un
registro (bit7,bit6=11)
la terna bit2,bit1,bit0
utilizza gli stessi valori affidati ai bit5,bit4,bit3
(nel nostro esempio si ha 011 per
BX o
BL) |
| nel caso si tratti di una
locazione di memoria la
terna bit2,bit1,bit0 viene
utilizzata insieme alla coppia bit7,bit6
per creare un codice a 5 bit (bit7,bit6,bit2,bit1,bit0)
in grado di individuare una delle 24 possibili
modalità di indirizzamento; da
notare che con 5 bit sono possibili
32 (=25)
combinazioni, ma
solo 24 sono in questo caso
significative, dovendo escludere quelle con
bit7,bit6=11,
ovviamente affidate alle 8 rimanenti modalità tra registri |
|
|