Ensamblador - Instrucciones INS y OUTS

 
Vista:

Instrucciones INS y OUTS

Publicado por Yorch (1 intervención) el 06/01/2002 23:22:43
Hola:

Espero que puedan ayudarme, he estado buscando información sobre estas instrucciones, pero en los manuales que he consultado en la red no vienen, ojalá alguien tenga información al respecto, sobre todo sintaxis y la función que realizan.

De antemano, mil gracias...
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Instrucciones INS y OUTS

Publicado por Néstor (5 intervenciones) el 07/01/2002 07:43:51
Hola, la instrucción INS mueve un byte o palabra desde un dispositivo de E/S (tenés que usar INSB o INSW para distinguir si es de 8 o 16 bits)

Tenés que cargar en DX la dirección del dispositivo y lo mueve a la dirección especificada por ES:DI

Después del movimiento incrementa o decrementa DI (dependiendo de DF), por lo tanto es cómodo para usar con un REP.

OUTS hace la operación inversa: transfiere un byte o palabra desde ES:SI al dispositivo cuya dirección esté almacenada en DX

Saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Instrucciones INS y OUTS

Publicado por manuel (1 intervención) el 08/01/2002 03:30:59
INSB BYTE
INSW WORD
INSD DWORD
Entrada desde una puerta de E / S hacia una cadena.:

Transfiere operandos desde una puerta especificada por
el contenido de DX a una cadena.
la cadena estara apuntada por el registro indice EDI en el segmento extra ES
EDI varia automaticamente en el valor del tamaño del operando en bytes.
hay que tener en cuenta el indicador de direccion DF para que EDI se incremente (CLD) o decremente (STD)

las instrucciones INSB INSW INSD transfieren Bytes Palabras o Dobles palabras desde la puerta que indica DX a la cadena ES:[EDI]

OUTSB OUTSW y OUTSD , funcionan igual, pero para escribir datos
desde la cadena DS:[ESI] a la puerta apuntada por DX

estas instrucciones se pueden ejecutar tambien con el prefijo REP,
ejemplo:
REP INSW
en este caso hay que poner previamente en ECX el numero de Bytes,
Palabras o Dobles palabras que se van a mover.
espero haberme explicado medio bien
un saludo.

Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar