INSTITUTO TECNOLÓGICO SUPERIOR DE MOTUL

CARRERA: Ing. Sistemas Computacionales

SEMESTRE: 5

GRUPO:´A´

MATERIA: Lenguaje Ensamblador.

INVESTIGACIÓN: Registros que se pueden direccionar de manera conjunta Y Nemotécnicos ASESOR: L.C.C. Jesús Epifanio Bote May

ELABORADO POR: Br. Roberth Joel Yam Huh

MOTUL, YUCATÁN, MÉXICO 8/Septiembre/2010

EBP. SS. Con el direccionamiento de algunas instrucciones MOV (así como PUSH POP) también utilizan segmentos de 16 bits CS. no está permitido por el Registros de 8 bits. Combinaciones. EBX. Combinaciones. SP. CH. ES. Y en los microprocesadores 80386 y posteriores. FS y GS. BL. los registros de 32 bits son: EAX. BX. Registros que se pueden combinar de manera conjunta: Cabe mencionar que las combinaciones presentadas en la tabla son solo algunos de los muchos que se pueden hacer por ejemplo: el subconjunto de 8 bits de la instrucción MOV tiene 64 variantes diferentes.Registros que se pueden direccionar de manera conjunta. SI y DI . AX DI BX SI CX BP DX SP SP DX BP CX SI BX DI AX Registros de 32 bits. por lo que no se debe combinar de manera conjunta registros de 8 con 16 bits o viceversa a esto también se aplica las combinaciones con registros de 32 bits. AH DL AL DH BH CL BL CH CH BL CL BH DH AL DL AH Registros de 16 bits. AL. DH y DL. ECX. BP. EDX. ESP. El microprocesador contiene los siguientes registros de 8 bits usados con el direccionamiento de registro: AH. CL. ESI EDI EBP ESP EDX ECX EBX EAX . También contiene los registros de 16 bits: AX. BH. DX. Es de suma importancia el utilizar registros del mismo tamaño en las instrucciones. DS. EDI y ESI. CX. ya que esto procesador y da como resultado un error al ensamblar. EAX EBX ECX EDX ESP EBP EDI ESI Combinaciones.

cualquier registro de segmento o 2 bytes cualesquiera de datos de la memoria. La instrucción PUSHA (salvar todo) salva los registros en la pila en el siguiente orden: AX. Estas instrucciones transfieren datos y al mismo tiempo. Las formas PUSH y POP inmediatas y las formas PUSHA y POPA (todos los registros) no están disponibles en los primeros microprocesadores 8086-8088 pero si en los 80286. MOVSX y MOVZX Las instrucciones MOVSX (transferir y extender el signo) y MOVZX (transferir y extender el cero) se encuentran en el conjunto de instrucciones en 80386 y 80486. SP. PUSH y POP Las instrucciones PUSH y POP son importantes pues almacenan y recuperan datos de la memoria de la pila LIFO. BP. POP La instrucción POP transfiere datos de la pila y los carga en los destinos que puedan ser un registro de 16 bits. La instrucción PUSHF (salvar banderas) transfiere el contenido del registro de banderas a la pila. BX. inmediata. 80386 y 80486 . datos inmediatos. los extienden por signo o por cero. registro de segmento. siempre transfiere 2 bytes de datos a la pila y en los 80386 y 80486 transfiere 2 o 4 bytes según sean el registro o el tamaño de la localidad de memoria. banderas y todos los registros.Nemotécnicos. CX. SI y DI. El valor de SP salvado en la pila el que había antes de ejecutar la instrucción. La fuente de los datos puede ser cualquier registro interno de 16 o de 32 bits. Las instrucciones PUSHAD y POPAD salvan y recuperan el contenido del grupo de registros de 32 bits que hay en los microprocesado res. DX. PUSH Las instrucciones PUSH para los 8086-80286. memoria. un registro de segmento o una localidad de 16 bits en la . Los microprocesadores 8086-80486 tienen seis formas de instrucciones PUSH y POP: registro.

La instrucción XLAT. SP. SI. La instrucción POPA (recuperar datos) recupera 16 bytes de datos de la pila y los coloca en los registros siguientes en este orden: DI. Hay dos formas para la dirección del dispositivo (puerto) de E/S para IN y OUT: puerto fijo y puerto variable. En los 80386/80486. XLAT En esta instrucción ejecuta la técnica de consulta directa a la tabla utilizada para convertir un código en otro. Direccionamiento de puerto f ijo . AX o EAX se transfiere entre el dispositivo E/S y el microprocesador. primero suma el contenido de AL con BX para formar una dirección de memoria en el segmento de datos. AX o EAX a un dispositivo de E/S. BP. En los 80386/80486. Luego transfiere el contenido de esa dirección a AL. una instrucción POPAD recupera los registros de 32 bits de una pila. DX y AX o sea en el orden inverso al cual los transfirió la instrucción PUSHA a la pila. La instrucción POPF (recuperar banderas) transfiere un numero de 16 bits de la pila a registro y la POPFD elimina un numero de 32 bits de la pila y la coloca en el registro extendido de banderas. IN y OUT En la tabla aparecen las formas de las instrucciones IN y OUT que efectúan operación E/S. BX.memoria. se debe tener en cuenta que solo el contenido de AL. POP también puede transferir datos de 32 bits de la pila y utiliza direcciones de 32 bits. La instrucción POP no está disponible como POP inmediato. excepto el direccionamiento inmediato. palabra o doble palabra 8solo en 80386/80486) y se utiliza cualquiera de los modos de direccionamiento. XCHG La instrucción de intercambio (XCHG) intercambia el contenido de un registro con el contenido de cualquier otro registro o una loc alidad de la memoria. Los intercambios son de tamaño byte. Esta es la úni ca instrucción que suma un número de 8 bits con un número de 16 bits. Una instrucción OUT transfiere datos de AL.

AX. al igual que a los LODS se puede añadir una B. STOS La instrucción STOS almacena AL. a AX con una palabra o a EAX con una doble palabra. Una instrucción de puerto fijo de modo permanente por la naturaleza de la memoria de solo lectura. La instrucción STOSB (almacena un byte) almacena el byte en AL. palabra o doble palabra desde la localidad del segmento de datos direccionada por SI a la localidad en el segmento extra direccionada por DI. Se llama direccionamiento de puerto variable porque el número del puerto de E/S está cargado en el registro DX. Direccionamiento de puerto variable Permite transferencias de datos entre AL. o EAX en el segmento extra en la localidad direccionada por el registro DI a esta. las instrucciones se almacenan en ROM. La instrucción MOVS transfiere un byte. AX o EAX con el empleo de una dirección del puerto de E/S de 8 bits. en la localidad de memoria del segmento extra direccionada por DI. y se puede cambiar (variar) durante la ejecución del programa. AX o EAX con datos almacenados en la dirección de desplazamiento dada por SI en el segmento de datos después de cargar a AL con un byte. palabra o doble palabra. W o D para trasferencias de byte. Se le llama direccionamiento de puerto fijo porque el número del puerto sigue del código de la instrucción. AX o EAX y una dirección de 16 bits del puerto. el contenido se SI se incrementa de D=0 o disminuye si D=1. MOVS Esta es la única transferencia de memoria a memoria que se permite en los microprocesadores 8086-80486. LODS Instrucción LODS carga AL. La instrucción STOSW (almacena una palabra) almacena AX en la localidad de memoria del segmento extra direccionada por DI.Permite la transferencia de datos entre AL. A menudo. INS .

desde un dispositivo de E/S externo. en la localidad en la memoria en el segmento de datos direccionada por SI. directamente a la memoria. OUTS La instrucción OUTS (transfiere una cadena a la salida). direccionado por el registro DX como en el caso de la instrucción INS. palabra de datos. palabra o doble palabra de datos de un dispositivo E/S hasta la localidad de memoria en el segmento extra direccionada por el registro DI. La dirección de E/S está contenida en el registro DX. . transfiere un byte. que no está disponible en los microprocesadores 8086/8088. transfiere un byte. un dispositivo E/S. que no esta disponible en los microprocesadores 8086/8088.La instrucción INS (transfiere una cadena a la entrada). Esta instrucción es útil para dar entrada a un bloque de datos.

Sign up to vote on this title
UsefulNot useful