Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Microprocesadores
Resumen el estudiante tuvo la oportunidad de conocer la interfaz del programa “Code Warrior” y de
desarrollar la actividad que consistía en usar el programa para dar ciertas instrucciones y ver el cambio en los
registros a causa de las instrucciones previamente dadas.
Introducción en la siguiente asignación de laboratorio se llevó acabo por parte del estudiante el uso de
algunos de los modos de direccionamientos que se utilizan programando en assembler, el cual nos permitió
ver la funcionalidad de cada uno de ellos y su uso adecuado a la hora de ejecutar determinada acción en un
programa
Objetivos
• que el estudiante domine correctamente el uso de los modos de direccionamientos
• desarrollar y ejecutar cada una de las instrucciones facilitadas en la guía y que el estudiante sepa que
es lo que se está haciendo o ejecutando en cada una de las instrucciones
• tener claro cuáles son instrucciones correctas que se le pueden dar a los distintos modos de
direccionamiento y distinguirlas
Desarrollo de la asignación:
EndlessLoop:
. Resultado: ___B=$41___________.
LDX #0
3. Mencione ventajas y desventajas comparativas entre usar lenguajes convencionales y usar Assembler.
Ventajas:
Es posible realizar el programa de manera más minuciosa y con mucho más detalle teniendo en cuenta los
tiempos y el muestreo de los datos.
Se puede ver la programación en sí, bien estructurada, y con esto se aprende a programar en lenguaje máquina
entendiendo y controlando mas todo lo que está pasando.
Otra ventaja de assembler es la flexibilidad entre los diferentes sistemas operativos que andan circulando en la
informática.
Desventajas:
Los comandos no son tan fáciles a comparación de un lenguaje de programación de alto nivel, ya que estos
están hechos para que la interpretación sea más didáctica
Para escribir un gran código, se requiere escribir un código eficiente. El escribir un código eficiente requiere
la elección de buenos algoritmos y la implementación buena de esos algoritmos, no es una desventaja desde el
punto de vista funcional, pero podría causar muchos errores si no se domina bien el lenguaje.
5. ¿Cuáles de los MDD estudiados son los que menos ciclos consumen y los que más ciclos consumen?
Menor cantidad de ciclos: directo, inmediato
Mayor cantidad de ciclos: indexado, indexado pre-incremento, indexado pos-decremento, indexado indirecto
acumulador D offset
6. Además del IX y el IY ¿Qué otros registros pueden ser usados en los MDD indexados?
SP, PC
7. Mencione razones por la que la mayoría de los lenguajes convencionales incluyen dentro de sus
características la posibilidad de escribir instrucciones directamente en Assembler.
Presente un resumen del modelo de programación y los modos de direccionamiento de
un microprocesador
comercial diferente del HC12 por ejemplo uno de los ATMEGA o algún
microprocesador clásico de Intel.
INTEL 8088
Es un microprocesador diseñado en 1978 por la empresa Intel que fue uno de los iniciadores de la arquitectura
x86. Se dio a conocer gracias a que IBM lo utilizó para su IBM-PC (lanzado en 1981), que arrasó en ventas.
CARACTERÍSTICAS
• Registros de 16 bits.
• Bus externo de 8 bits (su antecesor el 8086 tiene un bus externo de 16 bits).
MANEJO DE LA MEMORIA
los microprocesadores 8088 poseen registros de un tamaño máximo de 16 bits. Con estos 16 bits podemos
direccionar como máximo un total de 64 KB de memoria. Pero este microprocesador puede direccionar hasta
1 MB.
Los registros de propósito general son el AX, BX, CX, y DX, de 16 bits. Un programa podía usar tanto los
registros de 16 bits como los registros de 8 bits. Aparte del uso general de los registros para hacer cálculos
aritméticos y lógicos, existen instrucciones que usan estos registros con un uso particular especializado, como
se indica a continuación:
• Registro AX: El registro AX es el registro acumulador, es utilizado para operaciones que implican
entrada/salida, multiplicación y división (estas dos últimas en conjunto con el registro DX)
• Registro BX: El registro BX es el registro base, y es el único registro de propósito general que
puede ser un índice para direccionamiento indexado
• Registro CX: El registro CX es conocido como el registro contador. Puede contener un valor para
controlar el número de veces que un ciclo se repite o un valor para corrimiento de bits
• Registro DX: El registro DX es el registro de datos. En algunas operaciones se indica mediante este
registro el número de puerto de entrada/salida, y en las operaciones de multiplicación y división de
16 bits se utiliza junto con el acumulador AX
MODOS DE DIRECCIONAMIENTO:
• Implícito. El dato está implícito en la propia instrucción. Ej. STC, STD y STI, (Set Carry, Set
Direcction y Set Interrupts) encienden el flag correspondiente indicado en la propia
instrucción. CBW (Convert Byte to Word) extiende el bit del signo del registro AL a AX. Ni el AL
ni el AX son especificados, puesto que la instrucción CBW implícitamente trabaja sobre ellos.
• Inmediato. El dato para operar está inmediatamente después del opcode de la instrucción.
Ejemplo, MOV AX, 5
• Registro. El dato está en un segundo registro. Ej. MOV AX, BX. Aquí, el dato está en el registro BX
• Directo. La dirección del dato está en el campo de la dirección del opcode. Ejemplo. MOV AX,
[100h]. Aquí se mueve (copia) el contenido de las direcciones 100h y 101h al registro AX. En este
caso se mueven dos bytes puesto que AX es de 16 bits. Si fuera MOV BL, [100h] se movería sólo un
byte pues BL es un registro de 8 bits
• Indirecto. El dato es especificado mediante una combinación de registros índice y base, y puede
haber un desplazamiento
➢ Base. Un registro base (BX o BP) tienen la dirección de donde se tomará el dato. Ej. MOV
AX, [BX]
➢ Índice. Un registro índice (SI o DI) tienen la dirección de donde se tomará el dato.
Ej. MOV AX, [SI]
➢ Base + Índice. El dato se tomará de la dirección apuntada por la suma de un registro base
más un registro índice. Ej. MOV AX, [BX + SI]
conclusiones
• La importancia de este es que en el ensamblador se pueden hacer cualquier tipo de programas que en
otros lenguajes de alto nivel no, al igual que ocupan menos espacio en la memoria.
• Los microprocesadores son dispositivos complejos pero que son indispensable en el mundo de la
informática y que nos permite desarrollar mucha más tecnología
• Se analizo las ventajas que presenta programar en el ensamblador que hacerlo de manera tradicional