Tutorial Sezione Assembler

Dettaglio Istruzioni 

Le Schede del Tutorial

  Istruzioni della Cpu 80x86

SCHEDA n° 07 [I/ 042 di 198] 

    

    IN - Assume un dato da una porta (dispositivo)
     
bulletQuesta istruzione trasferisce nel primo operando (destinazione, per default l'accumulatore) il dato assunto dalla porta specificata dal secondo operando (sorgente).
bulletIl registro destinazione avrà ovviamente la dimensione del dato letto dal dispositivo, cioè sarà AL se il dato letto è un byte, AX se word e EAX se doubleword (con processori 80386/486).
bulletIl secondo operando esprime il nome della periferica coinvolta in lettura e può essere:
bulletuna costante immediata a 8 bit, cioè un numero intero da 0 a 255 (da 00H a FFH): in questo caso si tratta di un dispositivo presente sulla scheda madre, come il timer di sistema 8253 o le porte di I/O interne 8255.
bulletil contenuto del registro DX, cioè un numero intero da 0 a 65535 (da 0000H a FFFFH): in questo caso il registro DX va caricato prima di effettuare l'input e, esclusi i primi 256 indirizzi, si riferisce a dispositivi esterni alla scheda madre, come la porta parallela o la porta seriale.
          
MOV  DX,0379H
IN   AL,DX
         
Suggerimento Per le scelte fatte dai primi progettisti di personal computer (IBM compatibili) per pilotare le periferiche sono state utilizzate solo le prime 10 linee d'indirizzo, da ADD0 a ADD9; per questa ragione per i nomi dei dispositivi sono previsti solo i numeri da 0000H (0) a 03FFH (1023=210), sebbene DX consenta la specifica di numeri di gran lunga maggiori. solo i dispositivi più moderni cominciano a riferirsi a nomi al di fuori di questo range... 
     
bulletLe sue caratteristiche sono riassunte nella seguente tabella (leggi le istruzioni Legenda della Tabella):
         
IN  Destinazione, Sorgente
IN Accumulatore, NomePorta
  Destinazione (Accumulatore) << Sorgente  (dato)

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

IN

AL,02H

10 5 12 14 1 2                  

IN

AX,02H

14

IN

AL,DX

8 5 13 14 1 1

IN

AX,DX

12
         
bulletLa tabella evidenzia che l'istruzione non modifica alcuna flag e che ammette 2 sole tipologie di operandi: tra accumulatore e numero o registro (DX).
bulletLa figura seguente mostra le risorse richieste da questa istruzione in funzione degli operandi coinvolti (leggi le istruzioni):
          

Addr

Codifica Masm

Sequenza Bytes

Istruzione

0106
0108
010A
010B
E4 02
E5 02
EC
ED
E4 02
E5 02
EC
ED
IN   AL,02H
IN   AX,02H
IN   AL,DX
IN   AX,DX

    

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 042 - IN

    

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