El documento describe el procesador Intel 8086. Tiene una arquitectura de 16 bits con un bus de direcciones de 20 bits que permite acceder hasta 1 MB de memoria. Cuenta con 89 instrucciones y 14 registros de 16 bits. Usa diferentes modos de direccionamiento como registro, inmediato, directo e indexado. Algunas instrucciones comunes son MOV, ADD, CMP y PUSH/POP para transferencia de datos, y CALL, JMP e IRET para control de flujo.
El documento compara los procesadores Intel 8086 y Motorola 68000. El Intel 8086 era un procesador de 16 bits lanzado en 1978 con 29,000 transistores y 12 modos de direccionamiento. El Motorola 68000 era un procesador de 32 bits lanzado en 1979 con 68,000 transistores y 14 modos de direccionamiento. Ambos procesadores tenían instrucciones para operaciones aritméticas, lógicas y de movimiento de datos.
Este documento describe la arquitectura del microprocesador 8086. Explica que el 8086 fue diseñado para trabajar con lenguajes de alto nivel y disponía de instrucciones para operaciones aritméticas y manejo de cadenas de caracteres. También describe que el 8086 utiliza una estructura de segmentación de memoria para direccionar hasta 1 megabyte de memoria usando direcciones de 16 bits. Finalmente, explica que el 8086 requiere una señal de reloj externa y tiene 25 modos de direccionamiento diferentes.
El documento describe la historia y la arquitectura básica de los microprocesadores. Los primeros microprocesadores fueron creados en la década de 1970 a través de la fusión de las tecnologías de computación y semiconductores. El Intel 4004 fue el primer microprocesador integrado en un solo chip con 2,300 transistores. El documento luego explica la arquitectura interna del microprocesador Intel 8086 de 16 bits, incluidos sus registros, unidades y ciclo de instrucción.
El documento describe los registros internos, modos de direccionamiento e instrucciones del procesador 8086/88. Los registros internos incluyen registros de datos, segmento, índice y estado. Los modos de direccionamiento especifican cómo obtener los operandos e incluyen direccionamiento de registro, inmediato, directo, indirecto y otros. Las instrucciones se dividen en grupos como transferencia de datos, aritméticas, lógicas y de control de flujo.
El documento describe dos métodos para manipular archivos en ensamblador: bloques de control de archivo (FCB) y manejadores de archivos. Explica las funciones básicas para crear, escribir y cerrar archivos utilizando manejadores de archivos con la interrupción 21H, incluyendo ejemplos de código.
Este documento proporciona información sobre lenguaje ensamblador, incluyendo instrucciones aritméticas y lógicas como suma, resta, multiplicación y comparación. Explica las funciones de instrucciones como AAA, ADC, ADD, DAA, INC, DEC, MUL, IMUL y más. También describe cómo manejar desbordamientos en operaciones aritméticas de bytes y palabras. El documento está dirigido a estudiantes de ingeniería en sistemas computacionales.
Este documento presenta una introducción al ensamblador 80x86. Explica brevemente la historia y hardware del procesador 80x86 de Intel, incluyendo registros y la pila. Luego describe instrucciones básicas como MOV, PUSH, POP y XCHG para mover datos entre registros y memoria. También menciona el uso de interrupciones para comunicarse con periféricos.
El documento describe los conceptos fundamentales de los lenguajes de bajo nivel como el ensamblador. Explica que el ensamblador traduce un programa escrito con instrucciones mnemotécnicas a código de máquina que puede ser ejecutado directamente por el hardware. También describe los principales registros internos del procesador como los registros de segmento, registros de propósito general, registros apuntadores e índice, y el registro de banderas.
El documento compara los procesadores Intel 8086 y Motorola 68000. El Intel 8086 era un procesador de 16 bits lanzado en 1978 con 29,000 transistores y 12 modos de direccionamiento. El Motorola 68000 era un procesador de 32 bits lanzado en 1979 con 68,000 transistores y 14 modos de direccionamiento. Ambos procesadores tenían instrucciones para operaciones aritméticas, lógicas y de movimiento de datos.
Este documento describe la arquitectura del microprocesador 8086. Explica que el 8086 fue diseñado para trabajar con lenguajes de alto nivel y disponía de instrucciones para operaciones aritméticas y manejo de cadenas de caracteres. También describe que el 8086 utiliza una estructura de segmentación de memoria para direccionar hasta 1 megabyte de memoria usando direcciones de 16 bits. Finalmente, explica que el 8086 requiere una señal de reloj externa y tiene 25 modos de direccionamiento diferentes.
El documento describe la historia y la arquitectura básica de los microprocesadores. Los primeros microprocesadores fueron creados en la década de 1970 a través de la fusión de las tecnologías de computación y semiconductores. El Intel 4004 fue el primer microprocesador integrado en un solo chip con 2,300 transistores. El documento luego explica la arquitectura interna del microprocesador Intel 8086 de 16 bits, incluidos sus registros, unidades y ciclo de instrucción.
El documento describe los registros internos, modos de direccionamiento e instrucciones del procesador 8086/88. Los registros internos incluyen registros de datos, segmento, índice y estado. Los modos de direccionamiento especifican cómo obtener los operandos e incluyen direccionamiento de registro, inmediato, directo, indirecto y otros. Las instrucciones se dividen en grupos como transferencia de datos, aritméticas, lógicas y de control de flujo.
El documento describe dos métodos para manipular archivos en ensamblador: bloques de control de archivo (FCB) y manejadores de archivos. Explica las funciones básicas para crear, escribir y cerrar archivos utilizando manejadores de archivos con la interrupción 21H, incluyendo ejemplos de código.
Este documento proporciona información sobre lenguaje ensamblador, incluyendo instrucciones aritméticas y lógicas como suma, resta, multiplicación y comparación. Explica las funciones de instrucciones como AAA, ADC, ADD, DAA, INC, DEC, MUL, IMUL y más. También describe cómo manejar desbordamientos en operaciones aritméticas de bytes y palabras. El documento está dirigido a estudiantes de ingeniería en sistemas computacionales.
Este documento presenta una introducción al ensamblador 80x86. Explica brevemente la historia y hardware del procesador 80x86 de Intel, incluyendo registros y la pila. Luego describe instrucciones básicas como MOV, PUSH, POP y XCHG para mover datos entre registros y memoria. También menciona el uso de interrupciones para comunicarse con periféricos.
El documento describe los conceptos fundamentales de los lenguajes de bajo nivel como el ensamblador. Explica que el ensamblador traduce un programa escrito con instrucciones mnemotécnicas a código de máquina que puede ser ejecutado directamente por el hardware. También describe los principales registros internos del procesador como los registros de segmento, registros de propósito general, registros apuntadores e índice, y el registro de banderas.
Este documento proporciona información sobre la arquitectura de dos microprocesadores: el Motorola 68000 y el Intel 8086. Describe los registros y sus funciones, los tipos de instrucciones soportadas, el ancho de bus de datos y direcciones, y otros detalles arquitectónicos clave de ambos microprocesadores.
1) El documento describe los diferentes segmentos de memoria en un programa ensamblador, incluyendo el segmento de datos, BSS, montón y pila.
2) Explica un ejemplo de programa en ensamblador que imprime "Hola mundo" usando funciones de MS-DOS.
3) Detalla el formato y sintaxis básica del lenguaje ensamblador como segmentos, etiquetas, directivas y declaraciones de datos e instrucciones.
El documento describe el puerto paralelo desde perspectivas de hardware y software. Desde el punto de vista del software, el puerto paralelo consiste en tres registros de 8 bits ubicados en direcciones de I/O consecutivas. Desde el punto de vista del hardware, el puerto es un conector DB25 que transfiere datos y señales de control a una impresora. El documento explica la función de cada registro y cómo acceder y utilizar el puerto paralelo para transferir datos e implementar interrupciones.
Las instrucciones DIV e IDIV se usan para realizar divisiones en ensamblador, donde DIV maneja datos sin signo y IDIV maneja datos con signo. La instrucción NEG invierte el signo de un número binario de positivo a negativo o viceversa cambiando los bits y sumando uno.
El documento describe la codificación de instrucciones en lenguaje de máquina, con un enfoque en MIPS. MIPS usa tres formatos principales de instrucciones: tipo R para instrucciones con tres registros, tipo I para instrucciones con operandos inmediatos, y tipo J para saltos incondicionales. Cada formato especifica los campos para código de operación, registros y desplazamientos, manteniendo un tamaño fijo de 32 bits para simplificar la decodificación.
El documento describe los componentes básicos de un ensamblador, incluyendo su definición, historia, instrucciones, registros y ejemplos. Explica que un ensamblador traduce código fuente en lenguaje ensamblador a código objeto ejecutable, permitiendo escribir programas de una manera más fácil que en código máquina puro. También describe los principales registros como AX, BX, CX y DX y diferentes tipos de instrucciones como de transferencia, aritméticas y lógicas.
Este documento resume los principales tipos de registros y sus funciones en un microprocesador, incluyendo registros de segmento, de instrucciones, apuntadores, de propósitos generales e índices. También describe las bases numéricas de representación y los diferentes tipos de instrucciones como aritméticas, lógicas y de control. Por último, explica los medios de direccionamiento como direccionamiento implícito, absoluto, indirecto y por registro.
Los registros del procesador se utilizan para controlar instrucciones en ejecución, manejar direccionamiento de memoria y proporcionar capacidad aritmética. Existen seis tipos de registros: registros de segmento, registros de propósito general, registros de apuntadores, registros de banderas, registros de puntero de instrucción y registros de pila. Cada tipo de registro cumple un rol específico en el procesamiento y direccionamiento de instrucciones y datos.
El documento describe el lenguaje ensamblador del microprocesador, incluyendo los registros internos, el conjunto de instrucciones y los modos de direccionamiento. Cubre temas como los registros AX, BX, CX y DX; las instrucciones de transferencia de datos, control de bucles, prueba y salto; y los modos de direccionamiento como inmediato, registro e indirecto.
Este documento presenta una introducción al arranque de un sistema operativo mediante lenguaje ensamblador. Explica conceptos clave como sectores de arranque, tipos de instrucciones como transferencia de datos, aritméticas y condiciones, y también aborda temas como editores, compiladores, enlazadores e interrupciones.
El documento describe los diferentes tipos de registros y modos de direccionamiento de un microprocesador. Los registros se clasifican en registros de segmento, registros de propósitos generales, registros de apuntadores, registros de banderas, registro de punto de instrucción y registro de pila. Los modos de direccionamiento son implícito, inmediato, directo e indirecto.
1) El documento describe diferentes tipos de operaciones aritméticas y lógicas que pueden realizar los microprocesadores, incluyendo suma, resta, multiplicación, operaciones lógicas y corrimientos.
2) También explica el funcionamiento de las banderas y registros de banderas que indican el estado de operaciones como desbordamiento, signo, cero, acarreo y paridad.
3) Por último, detalla distintos tipos de instrucciones aritméticas y lógicas como suma, resta, multiplicación e incrementos/decrementos que a
Los registros son áreas de memoria de alta velocidad dentro del microprocesador que se usan para almacenar temporalmente datos y direcciones de memoria. Existen diferentes tipos de registros como registros de propósito general, registros de segmento, registros índice y registros de banderas. Los registros permiten al microprocesador ejecutar operaciones aritméticas y de control de forma rápida.
El documento describe el lenguaje ensamblador, incluyendo sus características principales, como traducir instrucciones mnemónicas a códigos de máquina y usar referencias simbólicas. También describe los registros y banderas del procesador, así como las principales instrucciones como transferencia de datos, aritméticas, lógicas y de control de flujo.
1. La ALU se utiliza para operaciones con números enteros mientras que la FPU se utiliza para operaciones con números de punto flotante.
2. La pila de llamadas almacena información sobre subrutinas activas para saber a dónde retornar el control cuando terminen de ejecutarse.
3. El código objeto resulta de la compilación y consiste en lenguaje de máquina, mientras que el lenguaje ensamblador es más directo y específico de la arquitectura.
El documento describe el lenguaje ensamblador del microprocesador, incluyendo los registros internos del microprocesador, el conjunto de instrucciones dividido en grupos como transferencia de datos, control de bucles, prueba y comparación, y la programación en lenguaje ensamblador.
Organizacion de la unidad central de procesamientoHarold Torres
El documento describe la organización de la unidad central de procesamiento (CPU). Explica que la CPU ejecuta instrucciones para procesar datos, realizando operaciones aritméticas y lógicas usando su unidad aritmética y lógica (ALU). También describe los registros y modos de direccionamiento que utiliza la CPU para acceder a instrucciones y datos en memoria de forma rápida.
El documento compara los procesadores Intel 8086 y Motorola. El 8086 tiene un bus de direcciones de 20 bits que permite direccionar hasta 1 MB de memoria. Tiene 14 registros incluyendo registros de datos, segmentos, punteros, índice y banderas. Soporta tipos de datos como ASCII, BCD, enteros y cadenas. Usa direccionamiento como base + índice + desplazamiento. Incluye instrucciones de 0, 1 y 2 operandos para transferencia de datos, aritmética, bits, cadenas y control. El procesador Motorola tiene
El documento describe el lenguaje ensamblador para el procesador 8086/88. Explica que cada instrucción en ensamblador tiene una correspondencia directa con una operación del procesador. Detalla los diferentes registros internos del procesador como los registros de datos, segmentos, índices y estado. También cubre los diferentes modos de direccionamiento para acceder a la memoria como registro, inmediato, directo e indirecto.
El documento describe los registros internos, modos de direccionamiento e instrucciones del procesador 8086/88. Explica que el 8086/88 tiene registros de 16 bits para datos, segmentos e índices, así como banderas de estado en un registro. Describe los siete modos de direccionamiento para acceder a operandos. Finalmente, resume las principales categorías de instrucciones como transferencia de datos, aritméticas, lógicas y de control de flujo.
El documento describe la arquitectura interna del microprocesador Intel 80386DX. Presenta 6 unidades de procesamiento que permiten la ejecución de instrucciones mediante tuberías. Es un microprocesador de 32 bits que admite tipos de datos de 8, 16 y 32 bits y 8 registros generales de propósito. Provee 4 niveles de protección de memoria y es compatible con los modos real, protegido y virtual del 80286.
Este documento describe el lenguaje ensamblador del microprocesador, incluyendo los registros internos del microprocesador, el conjunto de instrucciones, el formato de las instrucciones y los modos de direccionamiento. Explica los diferentes tipos de instrucciones como las de transferencia de datos, control de bucles, prueba y comparación, y llamadas y retornos de subrutinas. También cubre la generación de código objeto y la programación en lenguaje ensamblador.
Este documento proporciona información sobre la arquitectura de dos microprocesadores: el Motorola 68000 y el Intel 8086. Describe los registros y sus funciones, los tipos de instrucciones soportadas, el ancho de bus de datos y direcciones, y otros detalles arquitectónicos clave de ambos microprocesadores.
1) El documento describe los diferentes segmentos de memoria en un programa ensamblador, incluyendo el segmento de datos, BSS, montón y pila.
2) Explica un ejemplo de programa en ensamblador que imprime "Hola mundo" usando funciones de MS-DOS.
3) Detalla el formato y sintaxis básica del lenguaje ensamblador como segmentos, etiquetas, directivas y declaraciones de datos e instrucciones.
El documento describe el puerto paralelo desde perspectivas de hardware y software. Desde el punto de vista del software, el puerto paralelo consiste en tres registros de 8 bits ubicados en direcciones de I/O consecutivas. Desde el punto de vista del hardware, el puerto es un conector DB25 que transfiere datos y señales de control a una impresora. El documento explica la función de cada registro y cómo acceder y utilizar el puerto paralelo para transferir datos e implementar interrupciones.
Las instrucciones DIV e IDIV se usan para realizar divisiones en ensamblador, donde DIV maneja datos sin signo y IDIV maneja datos con signo. La instrucción NEG invierte el signo de un número binario de positivo a negativo o viceversa cambiando los bits y sumando uno.
El documento describe la codificación de instrucciones en lenguaje de máquina, con un enfoque en MIPS. MIPS usa tres formatos principales de instrucciones: tipo R para instrucciones con tres registros, tipo I para instrucciones con operandos inmediatos, y tipo J para saltos incondicionales. Cada formato especifica los campos para código de operación, registros y desplazamientos, manteniendo un tamaño fijo de 32 bits para simplificar la decodificación.
El documento describe los componentes básicos de un ensamblador, incluyendo su definición, historia, instrucciones, registros y ejemplos. Explica que un ensamblador traduce código fuente en lenguaje ensamblador a código objeto ejecutable, permitiendo escribir programas de una manera más fácil que en código máquina puro. También describe los principales registros como AX, BX, CX y DX y diferentes tipos de instrucciones como de transferencia, aritméticas y lógicas.
Este documento resume los principales tipos de registros y sus funciones en un microprocesador, incluyendo registros de segmento, de instrucciones, apuntadores, de propósitos generales e índices. También describe las bases numéricas de representación y los diferentes tipos de instrucciones como aritméticas, lógicas y de control. Por último, explica los medios de direccionamiento como direccionamiento implícito, absoluto, indirecto y por registro.
Los registros del procesador se utilizan para controlar instrucciones en ejecución, manejar direccionamiento de memoria y proporcionar capacidad aritmética. Existen seis tipos de registros: registros de segmento, registros de propósito general, registros de apuntadores, registros de banderas, registros de puntero de instrucción y registros de pila. Cada tipo de registro cumple un rol específico en el procesamiento y direccionamiento de instrucciones y datos.
El documento describe el lenguaje ensamblador del microprocesador, incluyendo los registros internos, el conjunto de instrucciones y los modos de direccionamiento. Cubre temas como los registros AX, BX, CX y DX; las instrucciones de transferencia de datos, control de bucles, prueba y salto; y los modos de direccionamiento como inmediato, registro e indirecto.
Este documento presenta una introducción al arranque de un sistema operativo mediante lenguaje ensamblador. Explica conceptos clave como sectores de arranque, tipos de instrucciones como transferencia de datos, aritméticas y condiciones, y también aborda temas como editores, compiladores, enlazadores e interrupciones.
El documento describe los diferentes tipos de registros y modos de direccionamiento de un microprocesador. Los registros se clasifican en registros de segmento, registros de propósitos generales, registros de apuntadores, registros de banderas, registro de punto de instrucción y registro de pila. Los modos de direccionamiento son implícito, inmediato, directo e indirecto.
1) El documento describe diferentes tipos de operaciones aritméticas y lógicas que pueden realizar los microprocesadores, incluyendo suma, resta, multiplicación, operaciones lógicas y corrimientos.
2) También explica el funcionamiento de las banderas y registros de banderas que indican el estado de operaciones como desbordamiento, signo, cero, acarreo y paridad.
3) Por último, detalla distintos tipos de instrucciones aritméticas y lógicas como suma, resta, multiplicación e incrementos/decrementos que a
Los registros son áreas de memoria de alta velocidad dentro del microprocesador que se usan para almacenar temporalmente datos y direcciones de memoria. Existen diferentes tipos de registros como registros de propósito general, registros de segmento, registros índice y registros de banderas. Los registros permiten al microprocesador ejecutar operaciones aritméticas y de control de forma rápida.
El documento describe el lenguaje ensamblador, incluyendo sus características principales, como traducir instrucciones mnemónicas a códigos de máquina y usar referencias simbólicas. También describe los registros y banderas del procesador, así como las principales instrucciones como transferencia de datos, aritméticas, lógicas y de control de flujo.
1. La ALU se utiliza para operaciones con números enteros mientras que la FPU se utiliza para operaciones con números de punto flotante.
2. La pila de llamadas almacena información sobre subrutinas activas para saber a dónde retornar el control cuando terminen de ejecutarse.
3. El código objeto resulta de la compilación y consiste en lenguaje de máquina, mientras que el lenguaje ensamblador es más directo y específico de la arquitectura.
El documento describe el lenguaje ensamblador del microprocesador, incluyendo los registros internos del microprocesador, el conjunto de instrucciones dividido en grupos como transferencia de datos, control de bucles, prueba y comparación, y la programación en lenguaje ensamblador.
Organizacion de la unidad central de procesamientoHarold Torres
El documento describe la organización de la unidad central de procesamiento (CPU). Explica que la CPU ejecuta instrucciones para procesar datos, realizando operaciones aritméticas y lógicas usando su unidad aritmética y lógica (ALU). También describe los registros y modos de direccionamiento que utiliza la CPU para acceder a instrucciones y datos en memoria de forma rápida.
El documento compara los procesadores Intel 8086 y Motorola. El 8086 tiene un bus de direcciones de 20 bits que permite direccionar hasta 1 MB de memoria. Tiene 14 registros incluyendo registros de datos, segmentos, punteros, índice y banderas. Soporta tipos de datos como ASCII, BCD, enteros y cadenas. Usa direccionamiento como base + índice + desplazamiento. Incluye instrucciones de 0, 1 y 2 operandos para transferencia de datos, aritmética, bits, cadenas y control. El procesador Motorola tiene
El documento describe el lenguaje ensamblador para el procesador 8086/88. Explica que cada instrucción en ensamblador tiene una correspondencia directa con una operación del procesador. Detalla los diferentes registros internos del procesador como los registros de datos, segmentos, índices y estado. También cubre los diferentes modos de direccionamiento para acceder a la memoria como registro, inmediato, directo e indirecto.
El documento describe los registros internos, modos de direccionamiento e instrucciones del procesador 8086/88. Explica que el 8086/88 tiene registros de 16 bits para datos, segmentos e índices, así como banderas de estado en un registro. Describe los siete modos de direccionamiento para acceder a operandos. Finalmente, resume las principales categorías de instrucciones como transferencia de datos, aritméticas, lógicas y de control de flujo.
El documento describe la arquitectura interna del microprocesador Intel 80386DX. Presenta 6 unidades de procesamiento que permiten la ejecución de instrucciones mediante tuberías. Es un microprocesador de 32 bits que admite tipos de datos de 8, 16 y 32 bits y 8 registros generales de propósito. Provee 4 niveles de protección de memoria y es compatible con los modos real, protegido y virtual del 80286.
Este documento describe el lenguaje ensamblador del microprocesador, incluyendo los registros internos del microprocesador, el conjunto de instrucciones, el formato de las instrucciones y los modos de direccionamiento. Explica los diferentes tipos de instrucciones como las de transferencia de datos, control de bucles, prueba y comparación, y llamadas y retornos de subrutinas. También cubre la generación de código objeto y la programación en lenguaje ensamblador.
Este documento describe el lenguaje ensamblador del microprocesador, incluyendo los registros internos del microprocesador, el conjunto de instrucciones, el formato de las instrucciones y los modos de direccionamiento. Se clasifican las instrucciones en grupos como transferencia de datos, control de bucles, prueba y comparación, llamadas a subrutinas, aritméticas y lógicas. También explica conceptos como registros, banderas y segmentos de memoria.
Este documento describe el lenguaje ensamblador del microprocesador, incluyendo los registros internos del microprocesador, el conjunto de instrucciones (para microprocesadores 8086/8088), el formato de las instrucciones, los modos de direccionamiento y la generación de código objeto, y la programación en lenguaje ensamblador. Cubre temas como transferencia de datos, control de bucles, pruebas y comparaciones, y saltos condicionales.
Este documento proporciona una revisión de conceptos básicos sobre procesamiento de información, incluyendo representaciones numéricas, microprocesadores, unidades de control, instrucciones y lenguajes de programación. Explica conceptos como datos e información, representación de números, arquitecturas de computadoras, componentes de un microprocesador y tipos de lenguajes de programación como ensamblador y de alto nivel.
El documento compara diferentes microprocesadores, incluyendo el Intel 4004 de 4 bits, el Intel 8088 y 8086 de 16 bits, el Intel 80286, 80386 y 80486 de 32 bits, y el Intel Pentium1. Describe las características clave de cada microprocesador como su arquitectura, conjunto de instrucciones, registros, modos de direccionamiento, flags e interrupciones.
El lenguaje ensamblador consiste en abreviaturas llamadas instrucciones mnemotécnicas que representan las operaciones de la computadora. Incluye instrucciones para transferir datos, operaciones aritméticas, leer caracteres e implementar bucles, saltos condicionales, macros y subrutinas. Los procedimientos permiten organizar el código al agrupar instrucciones reutilizables en una única declaración que puede llamarse varias veces.
El documento describe la evolución de los microprocesadores desde el primer microprocesador de 4 bits lanzado en 1971 hasta el microprocesador 8086. Explica las características clave de los microprocesadores de 4 y 8 bits y del 8086, incluyendo su arquitectura de dos unidades (EU y BIU) y sus registros principales como CS, DS, SS, EIP, EAX y otros. También describe los diferentes tipos de registros como de segmento, de propósito general, apuntadores, índice y de banderas.
Este documento describe varios conceptos relacionados con la arquitectura de computadoras. Explica la representación de datos numéricos y no numéricos, así como los diferentes formatos de palabra de instrucción que incluyen el código de operación y la dirección del operando. También describe los diferentes tipos de instrucciones que puede ejecutar un microprocesador como instrucciones aritméticas, lógicas y de transferencia.
El documento describe el funcionamiento básico de los microprocesadores 8086/8088. Explica que recogen, decodifican y ejecutan instrucciones de la memoria, y transfieren datos entre la memoria y sus registros internos. También describe los componentes clave de un sistema microprocesado, incluyendo la CPU, memoria y circuitos de interfaz de E/S, unidos por un bus.
Este documento describe la arquitectura del procesador Intel 8086, incluyendo sus registros y modos de direccionamiento. Explica que el 8086 tiene 14 registros, incluyendo registros de propósito general, de segmento, y de control de instrucciones. También utiliza una arquitectura segmentada, donde los registros de segmento y desplazamientos combinados permiten direccionar cualquier posición de memoria de 20 bits. Finalmente, proporciona detalles sobre los registros de segmento CS, DS, SS y ES que apuntan a las áreas de memoria
Este documento describe los diferentes tipos de registros en una CPU. Hay seis tipos principales: registros de segmento, registros de propósito general, registros de apuntadores, registros de banderas, registros de puntero de instrucción e índices. Cada tipo de registro tiene un propósito específico como almacenar direcciones de memoria, controlar instrucciones, manejar datos aritméticos y más. Los registros son fundamentales para el funcionamiento interno de una CPU.
El lenguaje ensamblador es un lenguaje de bajo nivel directamente traducible a lenguaje máquina. Permite control total de la computadora pero requiere traducción a lenguaje máquina antes de ser ejecutado. Un programa en ensamblador consiste de instrucciones, directivas y etiquetas para referirse a valores de memoria.
Este documento describe la arquitectura y características del microcontrolador ATmegaX8PA de 8 bits de la familia AVR de Atmel. Explica su organización de memoria, modos de direccionamiento, registros internos como el registro de estado y el puntero de pila, y sus periféricos como puertos de E/S y temporizadores. Finalmente, detalla las herramientas de programación y simulación disponibles para este microcontrolador.
El documento describe los registros y las instrucciones del procesador Pentium. Explica que tiene registros de 32, 16 y 8 bits, e incluye diagramas de cómo están compuestos. También cubre las instrucciones de transferencia de datos, aritméticas, lógicas y de control, así como los saltos condicionales y las directivas para el ensamblador.
1. Intel 8086
Arquitectura
Programación en Ensamblador
Ing. Marcelo Tosini - 2001
2. Características generales
• Procesador de 16 bits
• Bus de direcciones de 20 bits : 1 Mbyte
• Bus de datos interno de 16 bits
• Bus de datos externo de
• 16 bits en el 8086
• 8 bits en el 8088
• Original del IBM PC/XT
• 89 instrucciones
• No tiene coprocesador
Programación en Ensamblador
Ing. Marcelo Tosini - 2001
3. Tipos de datos
• ASCII
• BCD
•Entero sin signo
• 8 bits 0..255
• 16 bits 0..65535
• Entero con signo
• 8 bits -128..127
• 16 bits -32768..32767
• Cadenas secuencia de bytes o palabras
Programación en Ensamblador
Ing. Marcelo Tosini - 2001
4. Manejo de memoria
Descriptor de segmento : desplazamiento
00000 FFFFF
Segmento
64 Kb
1 mega byte
Programación en Ensamblador
Ing. Marcelo Tosini - 2001
5. Manejo de memoria (ejemplos)
C000 : 0130 FFFF:FFFF
Segmento
1200 : 0100 C000
1000 : 2100
0500 : D100
Dir Física = Seg * 10h + desplazamiento
0000:0000
Programación en Ensamblador
Ing. Marcelo Tosini - 2001
6. Juego de registros
14 registros de 16 bits
• 4 generales: AX, BX, CX, DX
• 2 índices: SI, DI
• 2 punteros: SP, BP
• 4 segmentos: DS, CS, ES, SS
• 1 estado: Flag
• 1 contador de programa: IP
Programación en Ensamblador
Ing. Marcelo Tosini - 2001
7. Juego de registros
AH AX AL CS
generales BH BX BL DS
segmentos
CH CX CL SS
DH DX DL ES
SI
índices
DI
IP
control
SP
punteros
flags
BP
Programación en Ensamblador
Ing. Marcelo Tosini - 2001
8. Registro de flags
O D I T S Z A P C
C : acarreo en la suma y arrastre en la resta
P : paridad del dato (0, impar y 1, par)
A : acarreo auxiliar. Indica el acarreo o arrastre entre los bits 3 y 4
Z : indicación de resultado igual a cero
S : indicador de signo del resultado. 0, positivo y 1, negativo
T : trampa. Habilita la característica de depuración del procesador
I : habilitación de interrupciones de hardware
D : selección de incremento o decremento en los índices
O : sobreflujo.
Programación en Ensamblador
Ing. Marcelo Tosini - 2001
9. Modos de direccionamiento
7 modos de direccionamiento básicos
Modo registro: el operando es un registro.
Modo inmediato: el operando es una constante.
Modo directo: el operando es una dirección efectiva (explícita).
Modo registro indirecto: similar al anterior pero la dirección
efectiva está contenida en un registro (BX, BP, SI , DI).
Modo relativo a base: la dirección efectiva se encuentra
sumando un desplazamiento a BX o BP.
Modo indexado directo: igual al anterior usando SI o DI.
Modo indexado a base: combinación de los dos anteriores. La
dirección efectiva se calcula como la suma de un registro base,
un registro índice y, opcionalmente, un decalage o desplazamiento.
Programación en Ensamblador
Ing. Marcelo Tosini - 2001
10. Modos de direccionamiento
Ejemplo de uso
Modo registro: add ax, bx
Modo inmediato: add ax, 5
Modo directo: add ax, [100]
Modo registro indirecto: add ax, [bx]
Modo relativo a base: add ax, [bp + 100]
Modo indexado directo: operaciones de cadena : movsb
Modo indexado a base: add ax, [bx + si + 100]
Programación en Ensamblador
Ing. Marcelo Tosini - 2001
11. Modos de direccionamiento
En general:
BASE + INDICE + DESPLAZAM
Ninguno Ninguno Ninguno
BX o BP + SI o DI + 8 bits
BX o BP + SI o DI + 16 bits
Programación en Ensamblador
Ing. Marcelo Tosini - 2001
12. Juego de instrucciones
• Cero operandos: trabajan sobre algún operando explícito,
puede ser un registro o un flag
CLC pone carry en 0
• Un operando: el único operando es fuente y destino de la operación
INC AX AX := AX + 1
• Dos operandos: el primer operando es destino de la operación entre
los dos operandos
ADD AX, BX AX := AX + BX
Programación en Ensamblador
Ing. Marcelo Tosini - 2001
13. Grupos de instrucciones
• Transferencia de datos (14): movimiento de datos entre
registros y/o memoria
• Aritméticas (20):operaciones aritméticas de enteros
• Manipulación de bits (10): operaciones lógicas
• Cadenas (5): movimiento, búsqueda y comparación de
cadenas de datos
• Transferencia de programa (29): saltos, llamadas...
• Control del procesador (11): detención, depuración, IRQs,...
Programación en Ensamblador
Ing. Marcelo Tosini - 2001
14. Transferencia de datos
IN carga el acumulador desde un dispositivo de I/O
LAHF carga los flags en AH
LEA carga una dirección efectiva
LDS carga DS y un registro de 16 bits con datos de memoria de 32 bits
LES carga ES y un registro de 16 bits con datos de memoria de 32 bits
MOV carga byte o palabra o doble palabra
OUT saca datos del acumulador a un puerto de I/O
POP recupera una palabra de la pila
POPF recupera los flags de la pila
PUSH almacena una pálabra en la pila
PUSHF almacena los flags en la pila
SAHF carga AH en los flags
XCHG intercambia bytes o palabras
XLAT emplea AL para entrar a una tabla de conversión
Programación en Ensamblador
Ing. Marcelo Tosini - 2001
15. Instrucciones aritméticas
AAA, AAD, AAM, AAS ajuste ASCII para suma, división, producto y resta
ADD suma datos entre registros o la memoria y otro registro
ADC suma con acarreo
CBW convierte byte a palabra
CMP compara los datos
CWD convierte palabra a doble palabra
DAA, DAS ajuste decimal en AL para una suma/resta en BCD
DEC decrementa operando en 1
DIV división sin signo
IDIV división con signo
IMUL multiplicación con signo
INC incrementa operando en 1
MUL multiplicación sin signo
NEG cambia el signo
SBB resta con acarreo
SUB resta datos entre los registros y la memoria u otro reg.
Programación en Ensamblador
Ing. Marcelo Tosini - 2001
16. Manipulación de bits
AND Y lógica
NOT invertir (complemento a 1)
OR O lógica
SAR desplazamiento aritmético a derecha
SHL/SAL desplazamiento a izquierda
SHR desplazamiento lógico a derecha
RCL rotación a la izquierda con acarreo
ROR rotación a izquierda
RCR rotación a derecha con acarreo
ROR rotación a derecha
TEST operación con el AND lógico pero sólo afecta banderas
XOR O exclusivo
Programación en Ensamblador
Ing. Marcelo Tosini - 2001
17. Cadenas
CMPS comparación entre 2 cadenas en memoria
LODS cargar el acumulador con un dato de una cadena
MOVS mover cadena de memoria a memoria
SCAS comparación entre los datos de una cadena y el acumulador
STOS almacenar el acumulador
Programación en Ensamblador
Ing. Marcelo Tosini - 2001
18. Transferencia de programa
CALL llamada a subrutina
INT interrupción de software
INT 3 interrupción 3
INTO interrupción si hay overflow
IRET retorno de una rutina de interrupción
JA, JAE, JB, JBE saltar si mayor, mayor o igual, menor, menor o igual
JE/JZ saltar si es cero o igual
JG, JGE, JL, JLE saltar si mayor, mayor o igual, menor, menor o igual
JMP salto incondicional
JNE/JNZ saltar si no es igual o no es cero
JNC, JNO, JNP, JNS saltar si no acarreo, overflow, paridad, signo
JC, JO, JP, JS saltar si acarreo, overflow, paridad, signo
LOOP repite un ciclo CX veces
LOOPE, LOOPNE igual a la anterior pero termina prematuramente por Z=1, 0
JCXZ saltar si CX es 0
RET retorno de subrutina
Programación en Ensamblador
Ing. Marcelo Tosini - 2001
19. Control del procesador
CLC borrar acarreo
CLD habilitar incremento automático
CLI deshabilitar terminal INTR
CMC complementar acarreo
HLT alto hasta que se reinicialice o exista interrupción
NOP no operación
STC activa acarreo
STD habilitar decremento automático
STI habilitar interrupciones
WAIT espera a que el terminal TEST=0
LOCK controla el terminal LOCK
Programación en Ensamblador
Ing. Marcelo Tosini - 2001
20. Ejemplos de instrucciones
in al, dx carga en AL el byte del puerto direccionado por DX
in ax, dx carga en AX la palabra del puerto direccionado por DX
mov ax, bx copia BX en AX
mov ch, 5 Carga CH con 5d
mov bx, [bx+2] carga BX con la palabra de memoria apuntada por BX+2
mov [bp+si], al almacena AL en la posición de memoria BP+SI
adc al,bl suma AL + BL + acarreo
daa Ajuste decimal de AL (si A=1 se suma 16h a AL)
inc [bx+di] incrementa en 1 la posición de memoria BX + DI
Programación en Ensamblador
Ing. Marcelo Tosini - 2001
21. Ejemplos de instrucciones
And ax, cx operación Y lógico entre AX y CX
xor bx, bx operación o exclusivo de BX y BX (notar que deja BX en cero)
sar AX, 5 shift aritmetico a derecha 5 lugares
mul cl multiplica CL * AL y el resultado queda en AX
mul cx multiplica CX * AX y el resultado queda en DX:AX
cmp al, bl compara los datos en AL y BL
je, otro_lado si son iguales salta a otro_lado
div cl divide AX / CL y el resultado queda en AL y resto en AH
div cx divide AX:DX / CX y el resultado queda en AX y resto en DX
Programación en Ensamblador
Ing. Marcelo Tosini - 2001
22. Ejemplos de instrucciones
Mov si, 100 carga puntero de cadena de origen
mov di, 200 carga puntero de cadena de destino
mov cx, 50 carga longitud de cadenas
rep repite hasta CX=0
cmpsb compara [DS:SI] con [ES:DI]
Mov si, 100 carga puntero de cadena de origen
mov di, 200 carga puntero de cadena de destino
mov cx, 50 carga longitud de cadenas
ciclo: lodsb carga AL con contenido de [DS:SI]
out dx, al saca AL por el puerto DX
jcxz siga si CX=0 termina de recorrer la cadena
jmp ciclo sigue recorriendo la cadena
siga: ------------
Programación en Ensamblador
Ing. Marcelo Tosini - 2001
23. Notas de interés
• Una referencia a memoria se forma con un segmento y un desplazamiento
ES:BX , CS:IP , DS:BX+SI+5
• Algunos registros tienen asociado un segmento por defecto
(por lo que no es necesario ponerlos explícitamente)
DS es segmento por defecto de BX y SI
ES es segmento por defecto de DI
SS es segmento por defecto de SP y BP
CS es segmento por defecto de IP
• En modos complejos se asume como segmento por defecto el de la base
BX + DI por defecto DS
BP + SI por defecto ES
Programación en Ensamblador
Ing. Marcelo Tosini - 2001
24. Programa de ejemplo I
Sumar los elementos de una lista vinculada apuntada por BX
Dato sig.
Mov bx, inicio_lista
xor ax, ax
clc
Dato sig.
sumar : cmp bx, 0
je fin Dato sig.
adc ax, [bx]
mov bx, [bx+2]
jmp sumar Dato sig.
fin :
Programación en Ensamblador
Ing. Marcelo Tosini - 2001
25. Programa de ejemplo II
Factorial (N)
Fact PROC NEAR
push bp
mov bp,sp ; bp apunta al tope de pila
mov bx,[bp+4] ; cargo el argumento pasado en bx
cmp bx,1
je fin ; a los fines practicos corto la recursion en 1
dec bx
push bx ; siguiente operando
call fact
pop bx ; extraigo el resultado parcial de fact
fin: mul [bp+4],bx ; multiplico resultado parcial por argumento actual
pop bp ; saco bp de la pila
RET ; retorno
fact ENDP
start: mov bx,N ;cargo bx con N para obtener su factorial
push,bx ; apilo bx
call fact
pop bx ; extraigo el resultado de la pila
mov result,bx
Programación en Ensamblador
Ing. Marcelo Tosini - 2001
26. Programa de ejemplo III
Copiar un bloque de memoria
BLQ2
Mov cx, longitud ES : DI
lds si, inicio_BLQ1
les di, inicio_BLQ2 RAM
rep
movsb BLQ1
DS : SI
Programación en Ensamblador
Ing. Marcelo Tosini - 2001
27. Programa de ejemplo IV
Hacer una suma multibyte de 2 cadenas de 10 bytes
lds si, operando1 + 10
lds bx, operando2 + 10
les di, resultado + 10
mov cx, 10
clc
siga : mov ax, [si]
adc ax, [bx]
DS:SI
mov [di], ax
jcxz fin
dec si
dec bx
+
dec di DS:BX
jmp siga
ES:DI
fin :
Programación en Ensamblador
Ing. Marcelo Tosini - 2001