P. 1
nemotecnicos

nemotecnicos

|Views: 152|Likes:

More info:

Published by: Roberth Joel Yam Huh on Oct 27, 2010
Copyright:Attribution Non-commercial

Availability:

Read on Scribd mobile: iPhone, iPad and Android.
download as DOCX, PDF, TXT or read online from Scribd
See more
See less

10/27/2010

pdf

text

original

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

EBX. EAX EBX ECX EDX ESP EBP EDI ESI Combinaciones. ES. DS. 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. SI y DI . DH y DL. AH DL AL DH BH CL BL CH CH BL CL BH DH AL DL AH Registros de 16 bits. BP. SP. CX. CH. ECX. El microprocesador contiene los siguientes registros de 8 bits usados con el direccionamiento de registro: AH. EDX. Combinaciones. ya que esto procesador y da como resultado un error al ensamblar. CL. BL. DX. AX DI BX SI CX BP DX SP SP DX BP CX SI BX DI AX Registros de 32 bits. ESP. SS. Y en los microprocesadores 80386 y posteriores. AL. los registros de 32 bits son: EAX. FS y GS. EBP. no está permitido por el Registros de 8 bits. BH. Combinaciones. EDI y ESI. ESI EDI EBP ESP EDX ECX EBX EAX .Registros que se pueden direccionar de manera conjunta. También contiene los registros de 16 bits: AX. Con el direccionamiento de algunas instrucciones MOV (así como PUSH POP) también utilizan segmentos de 16 bits CS. 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. Es de suma importancia el utilizar registros del mismo tamaño en las instrucciones. BX.

datos inmediatos. cualquier registro de segmento o 2 bytes cualesquiera de datos de la memoria.Nemotécnicos. un registro de segmento o una localidad de 16 bits en la . La fuente de los datos puede ser cualquier registro interno de 16 o de 32 bits. PUSH y POP Las instrucciones PUSH y POP son importantes pues almacenan y recuperan datos de la memoria de la pila LIFO. inmediata. 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. La instrucción PUSHF (salvar banderas) transfiere el contenido del registro de banderas a la pila. 80386 y 80486 . PUSH Las instrucciones PUSH para los 8086-80286. La instrucción PUSHA (salvar todo) salva los registros en la pila en el siguiente orden: AX. los extienden por signo o por cero. 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. SP. registro de segmento. SI y DI. DX. Las instrucciones PUSHAD y POPAD salvan y recuperan el contenido del grupo de registros de 32 bits que hay en los microprocesado res. Estas instrucciones transfieren datos y al mismo tiempo. BX. POP La instrucción POP transfiere datos de la pila y los carga en los destinos que puedan ser un registro de 16 bits. memoria. CX. Los microprocesadores 8086-80486 tienen seis formas de instrucciones PUSH y POP: registro. BP. 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. El valor de SP salvado en la pila el que había antes de ejecutar la instrucción. banderas y todos los registros.

BX. AX o EAX a un dispositivo de E/S. DX y AX o sea en el orden inverso al cual los transfirió la instrucción PUSHA a la pila. SP. Hay dos formas para la dirección del dispositivo (puerto) de E/S para IN y OUT: puerto fijo y puerto variable. excepto el direccionamiento inmediato. palabra o doble palabra 8solo en 80386/80486) y se utiliza cualquiera de los modos de direccionamiento. En los 80386/80486. SI. 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. se debe tener en cuenta que solo el contenido de AL. 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. 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. IN y OUT En la tabla aparecen las formas de las instrucciones IN y OUT que efectúan operación E/S. Esta es la úni ca instrucción que suma un número de 8 bits con un número de 16 bits. En los 80386/80486. BP. La instrucción POP no está disponible como POP inmediato. una instrucción POPAD recupera los registros de 32 bits de una pila. Luego transfiere el contenido de esa dirección a AL. POP también puede transferir datos de 32 bits de la pila y utiliza direcciones de 32 bits. primero suma el contenido de AL con BX para formar una dirección de memoria en el segmento de datos. Una instrucción OUT transfiere datos de AL.memoria. La instrucción XLAT. 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. Los intercambios son de tamaño byte.

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

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

You're Reading a Free Preview

Descarga
scribd
/*********** DO NOT ALTER ANYTHING BELOW THIS LINE ! ************/ var s_code=s.t();if(s_code)document.write(s_code)//-->