Sezione![]() |
Indirizzi Base
Registri Interni
|
Schede del Tutorial |
Istruzioni della Cpu 80x86 |
SCHEDA n° 07 [ 01 di 198] |
|
|
Aggiornato 9 aprile 2006 |
![]() |
|
![]() | Indirizzo corrente:
l'indirizzo (di Offset
nel Segmento di Codice) è fatto partire da 0100H, come
risulta dopo la sua compilazione come se dovesse realizzare un eseguibile di
tipo intrasegmentale, COM; naturalmente scorrendo questo tipo d'informazione
è facile desumere il
numero di bytes necessari per la compilazione di ciascuna
delle istruzioni proposte come esempio:
|
![]() | Codifica in
linguaggio macchina: la sequenza dei
numeri esadecimali di questo campo è esattamente quella
presente nel listato
MASM associato alla sequenza d'istruzioni; si può
sottolineare il modo usato per esprimere indirizzi o dati a più bytes, in
una proposta "umana" dell'informazione binaria:
|
![]() | Sequenza effettiva dei
bytes in memoria: la sequenza effettiva
dei bytes in memoria è, invece, quella che il processore è
chiamato ad interpretare, letta in ambiente debug
, con il comando
D; si possono individuare il byte (o i bytes) del
codice operativo (di solito il primo o i primi, pensati dai creatori del
processore 80x86 per esprimere un modo unico e irripetibile il codice
mnemonico associato all'istruzione) e la (eventuale) sequenza dei bytes di
dato, nella caratteristica sequenza Lo-Hi
(cioè prima la parte bassa e poi quella
più significativa):
|
![]() | Codice mnemonico:
l'ultimo campo esprime la classica forma dell'istruzione sotto
test:
|
|
![]() | Tutti i 4 campi sono, in realtà, strettamente legati tra di loro: il loro confronto può aiutare a capire i meccanismi che hanno consentito di scrivere questo Set d'Istruzioni. | ||||||||||
![]() | I codici operativi (bytes) sono scritti a partire da uno schema ben preciso, che coinvolge che coinvolge diversi campi di bit; negli esempi proposti in questa pagina possiamo vedere che le 3 istruzioni hanno 2 codici operativi. | ||||||||||
![]() | Il primo (02H=00000010b
o 03H=00000011b)
evidenzia:
| ||||||||||
![]() | Il secondo (D3H=11010011b
o 0EH=00001110b)
composto da 3 campi:
|
|
![]() | Naturalmente la logica usata per costruire un codice operativo è decisamente impegnativa e caratterizzata da numerose varianti, tutte per altro logicamente inquadrate; pur stimolante l'argomento tende ad essere puramente accademico, nè, di solito, il programmatore si cura di conoscere il valore binario dei bytes che corrispondono allo mnemonico di un'istruzione: è una pura curiosità... |
![]() | Per questo si evita di spingere più a fondo l'indagine su questo argomento, almeno per ora. |
|
![]() |
Scheda n° 07 |
![]() |
Istruzioni Cpu 80x86 |
![]() |
![]() |
![]() |
||
Scheda n° 07 - 01 |
|
|
|
|
Home
![]() |
|
|||||||
|
Motore Ricerca |
|