Tutorial Sezione Assembler

Dettaglio Istruzioni 

Le Schede del Tutorial

  Istruzioni della Cpu 80x86

SCHEDA n° 07 [I/ 018 di 198] 

    

    CBW - Converte un Byte in una Word
     
bulletQuesta 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).
bulletPerciò modifica comunque il valore contenuto nel registro AH, estendendo in esso il bit di segno del byte con segno contenuto in AL
bulletDunque, se il bit7 di AL è a 1 carica 0FFH in AH; se il bit7 di AL è 0 lascia AH a 00H.
bulletL'istruzione può tornare utile per formattare a 16 bit (word) l'operando a 8 bit da sottoporre a divisione.
bulletLe sue caratteristiche sono riassunte nella seguente tabella (leggi le istruzioni Legenda della Tabella):
         
    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

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                  
         
bulletLa tabella evidenzia che l'istruzione non modifica alcuna flag e che non ha operandi.
bulletSupponendo 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
DS=1F7E ES=1F7E SS=1F7E CS=1F7E IP=0100 NV UP EI PL NZ NA PO NC
1F7E:0100 98     CBW  
-T
AX=0079 BX=0000 CX=0000 DX=0000 SP=FFEE BP=0000 SI=0000 DI=0000
DS=1F7E ES=1F7E SS=1F7E CS=1F7E IP=0101 NV UP EI PL NZ NA PO NC
1F7E:0101

     

AX=AA7F BX=0000 CX=0000 DX=0000 SP=FFEE BP=0000 SI=0000 DI=0000
DS=1F7E ES=1F7E SS=1F7E CS=1F7E IP=0102 NV UP EI PL NZ NA PO NC
1F7E:0102 98     CBW  
-T
AX=007F BX=0000 CX=0000 DX=0000 SP=FFEE BP=0000 SI=0000 DI=0000
DS=1F7E ES=1F7E SS=1F7E CS=1F7E IP=0103 NV UP EI PL NZ NA PO NC
1F7E:0103

bulletSupponendo 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
DS=1F7E ES=1F7E SS=1F7E CS=1F7E IP=0101 NV UP EI PL NZ NA PO NC
1F7E:0101 98     CBW  
-T
AX=FF80 BX=0000 CX=0000 DX=0000 SP=FFEE BP=0000 SI=0000 DI=0000
DS=1F7E ES=1F7E SS=1F7E CS=1F7E IP=0102 NV UP EI PL NZ NA PO NC
1F7E:0102

     

AX=AAEF BX=0000 CX=0000 DX=0000 SP=FFEE BP=0000 SI=0000 DI=0000
DS=1F7E ES=1F7E SS=1F7E CS=1F7E IP=0103 NV UP EI PL NZ NA PO NC
1F7E:0103 98     CBW  
-T
AX=FFEF BX=0000 CX=0000 DX=0000 SP=FFEE BP=0000 SI=0000 DI=0000
DS=1F7E ES=1F7E SS=1F7E CS=1F7E IP=0110 NV UP EI PL NZ NA PO NC
1F7E:0104

bulletDa 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.

    

Pagina Precedente Scheda n° 07 Pagina Successiva Istruzioni Cpu 80x86 Torna al Menu delle Schede del "Tutorial" Lezioni - Vai al DownLoad dei files DOC Torna al Menu del "Tutorial"
Istruzione 018 - CBW

    

SCHEDE » 1.Header EXE 2.PseudoOp MASM 3.Differenza tra Macro e Procedure
4.
Tabella Vettori 5.PSP 6.Stack 7.Istruzioni 80x86
8.La misura dell'Informazione 9.Numeri e Logica Binaria
TUTORIAL » Indirizzi Base | Registri Interni | Area Comunicaz. BIOS | Funzioni BIOS | Funzioni DOS
Prefazione | CAP 1 | CAP 2 | Schede | Palestra
Libreria ASM | Libreria MAC | Progetti ASM | Download | Info | Indice
Home 
Pascal|Manuali|Tabelle|Schede
Tutorial Assembly|Palestra Assembler
Aggiungi Giobe®2000 ai preferiti  
Motore
Ricerca
  Rendi Giobe®2000 pagina di Default
© 2001-2010  -  Studio Tecnico ing. Giorgio OBER
Tutti i diritti sono riservati