|
Tutorial
|
Dettaglio Istruzioni |
|
|
 |
Istruzioni
della Cpu 80x86 |
SCHEDA n° 07 [I/
013
di 198] |
 |
|
BT - Copia il valore
di un bit nella flag di Carry |
|
 | Questa istruzione non
appartiene al Set dell'8088/86; si usa solo con 80386/486. |
 | Il suo compito è quello di copiare un
bit dell'operando destinazione nella
flag di Carry, per poter esercitare comodamente un test (Bit
Test) su di esso, mediante le istruzioni di salto
condizionato dalla stessa flag, JC
e JNC. |
 | L'operando destinazione può avere dimensione di una word o di
una doubleword (con 80386/486),
mentre il valore suggerito dall'operando sorgente
(un numero a 8 bit o un registro
da 16 o 32 bit ( con 80386/486)
specifica la posizione (offset)
del bit che si desidera testare (da 0 a 31). |
 | Le sue caratteristiche sono riassunte nella
seguente tabella (leggi le istruzioni
): |
BT
Destinazione, Sorgente
BT DatoDaTestare, Posizione |
flag
Carry << Valore del bit selezionato |
| |
|
Esempio
di Applicazione |
Cicli
di Clock |
Mem
Acces |
N°
Bytes |
Flag
influenzate |
| Mnemonico |
Operandi |
86 |
268 |
386 |
486 |
O |
D |
I |
T |
S |
Z |
A |
P |
C |
|
BT
|
DX,BX
|
no |
no |
3 |
3 |
no |
3,7 |
|
|
|
|
|
|
|
|
# |
|
BT
|
[Depo02],CX
|
no |
no |
12 |
8 |
no |
3,7 |
| |
|
|
|
|
|
|
|
|
BT
|
AX,02H
|
no |
no |
3 |
3 |
no |
4,8 |
|
BT
|
[Depo02],02H
|
no |
no |
6 |
3 |
no |
4,8 |
 | La tabella evidenzia che l'istruzione altera
solo la flag di Carry. Inoltre mostra le possibili
tipologie tra gli operandi:
 | tra registro (a 16 o a 32 bit) e registro
(a 16 o 32 bit) |
 | tra memoria (a 16 o a
32 bit) e registro (a 16 o 32 bit) |
 | tra registro (a 16 o a 32 bit) e costante
a 8 bit |
 | tra memoria (a 16 o a 32 bit) e costante
a 8 bit |
|
 | La figura seguente mostra le risorse
richieste da questa istruzione in funzione degli operandi
e del tipo di indirizzamento coinvolti (leggi le
istruzioni);
da notare che, per evitare errori di compilazione, è necessario
specificare, all'inizio del sorgente, la
pseudoOperazione
.386: |
|
Addr |
|
Codifica
Masm |
|
Sequenza
Bytes |
|
Istruzione |
|
|
|
|
|
|
|
|
.386 |
|
0100 |
|
55AA |
|
AA
55 |
|
Depo02 |
DW
55AAH |
| ---- |
|
---------------- |
|
----------------- |
|
------- |
---------------------- |
0102
0106
010E
0113
011C
011F |
|
0F A3 DA
0F A3 1D 00000100
0F BA E0 02
0F BA 25 00000100
02
66 0F A3 D8
66 0F BA E0 02 |
|
0F A3 DA
0F A3 1D 00
01 00 00
0F BA E0 02
0F BA 25 00
01 00 00
66 0F A3 D8
66 0F BA E0 02 |
|
|
BT
DX,BX
BT [Depo02],BX
BT AX,02H
BT [Depo02],02H
BT EAX,EBX
BT EAX,02H |
|
©
2001-2010 - Studio Tecnico
ing. Giorgio OBER
Tutti i diritti sono riservati
|