Tutorial |
Dettaglio Istruzioni |
Istruzioni della Cpu 80x86 |
SCHEDA n° 07 [I/ 018 di 198] |
|
|
Questa istruzione converte il byte con segno (8 bit) fornito in AL nella word con segno (16 bit) lasciata in AX (CBW, Convert Byte to Word). | |
Perciò modifica comunque il valore contenuto nel registro AH, estendendo in esso il bit di segno del byte con segno contenuto in AL. | |
Dunque, se il bit7 di AL è a 1 carica 0FFH in AH; se il bit7 di AL è 0 lascia AH a 00H. | |
L'istruzione può tornare utile per formattare a 16 bit (word) l'operando a 8 bit da sottoporre a divisione. |
Le sue caratteristiche sono riassunte nella seguente tabella (leggi le istruzioni ): |
CBW |
AH= FFH << se in AL bit7
=1 (cioè AL >=80H) AH= 00H << se in AL bit7 =0 (cioè AL < 80H) |
|||||||||||||||
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 | ||
CBW |
|
2 | 2 | 3 | 3 | no | 1 |
La tabella evidenzia che l'istruzione non modifica alcuna flag e che non ha operandi. |
Supponendo che il valore in AL
sia compreso tra 00H
e 7FH, questa istruzione forza a 00H
il registro AH: |
AX=AA79
BX=0000 CX=0000 DX=0000 SP=FFEE BP=0000 SI=0000 DI=0000 |
|
AX=AA7F
BX=0000 CX=0000 DX=0000 SP=FFEE BP=0000 SI=0000 DI=0000 |
Supponendo che il valore in AL
sia compreso tra 80H
e FFH, questa istruzione forza a FFH
il registro AH: |
AX=AA80
BX=0000 CX=0000 DX=0000 SP=FFEE BP=0000 SI=0000 DI=0000 |
|
AX=AAEF
BX=0000 CX=0000 DX=0000 SP=FFEE BP=0000 SI=0000 DI=0000 |
Da notare che il codice macchina generato per questa istruzione è costituito da un solo byte, 98H, ovviamente un codice operativo, ed è lo stesso dell'istruzione CWDE. |
|
Scheda n° 07 | Istruzioni Cpu 80x86 | |||||||
Istruzione 018 - CBW |
|
|
|
Home |
|
|||||||
|
Motore Ricerca |
|