Tutorial |
Dettaglio Istruzioni |
Istruzioni della Cpu 80x86 |
SCHEDA n° 07 [I/ 031 di 198] |
|
|
Questa istruzione converte la word con segno (16 bit) fornita in AX nella doubleword con segno (32 bit) lasciata in DX:AX (CWD, Convert Word to Doubleword). | |
Dunque, se il bit15 di AX è a 1 carica 0FFFFH in DX; se il bit15 di AX è 0 lascia DX a 0000H. | |
L'istruzione può tornare utile per formattare a 32 bit (doubleword) l'operando a 16 bit da sottoporre a divisione. |
Le sue caratteristiche sono riassunte nella seguente tabella (leggi le istruzioni ): |
CWD | DX=FFFFH<<
se in AX bit15=1 (cioè AX>=8000H) DX=0000H << se in AX bit15=0 (cioè AX< 8000H) |
|||||||||||||||
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 | ||
CWD |
|
5 | 2 | 2 | 3 | no | 1 |
La tabella evidenzia che l'istruzione non modifica alcuna flag e che non ha operandi. |
Supponendo che il valore in AX
sia compreso tra 0000H
e 7FFFH, questa istruzione forza a 0000H
il registro DX: |
AX=7F00
BX=0000 CX=0000 DX=0000 SP=FFEE BP=0000 SI=0000 DI=0000 |
|
AX=7FFF
BX=0000 CX=0000 DX=0000 SP=FFEE BP=0000 SI=0000 DI=0000 |
Supponendo che il valore in AX
sia compreso tra 8000H
e FFFFH, questa istruzione forza a FFFFH
il registro DX: |
AX=8000
BX=0000 CX=0000 DX=0000 SP=FFEE BP=0000 SI=0000 DI=0000 |
|
AX=EFF0
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, 99H, ovviamente un codice operativo, ed è lo stesso dell'istruzione CDQ. |
|
Scheda n° 07 | Istruzioni Cpu 80x86 | |||||||
Istruzione 031 - CWD |
|
|
|
Home |
|
|||||||
|
Motore Ricerca |
|