Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Reconocer las diversas características del set de instrucciones en lenguaje ensamblador, por medio
de la ejecución de comandos realizados el debug de Windows.
El primer microprocesador fue el Intel 4004, producido en 1971. Se desarrolló originalmente para
una calculadora y resultó revolucionario para su época. Contenía 2300 transistores, era un
microprocesador de arquitectura de 4 bits que podía realizar hasta 60 000 operaciones por
segundo trabajando a una frecuencia de reloj de alrededor de 740 kHz.
El primer microprocesador de 8 bits fue el Intel 8008, desarrollado a mediados de 1972 para su uso
en terminales informáticos. El Intel 8008 integraba 3300 transistores y podía procesar a
frecuencias máximas de 800 kH
1
Est. Leivis Ivan Flores Pari LABORATORIO 1 SML-300 C II 2021
El primer microprocesador realmente diseñado para uso general, desarrollado en 1974, fue el Intel
8080 de 8 bits, que contenía 4500 transistores y podía ejecutar 200 000 instrucciones por segundo
trabajando a alrededor de 2 MHz.
El primer microprocesador de 16 bits fue el 8086, seguido del 8088. El 8086 fue el inicio y el primer
miembro de la popular arquitectura x86, actualmente usada en la mayoría de los computadores. El
chip 8086 fue introducido al mercado en el verano de 1978, pero debido a que no había aplicaciones
en el mercado que funcionaran con 16 bits, Intel sacó al mercado el 8088, que fue lanzado en 1979.
Llegaron a operar a frecuencias mayores de 4 MHz.
Estos dispositivos están unidos mediante buses (BUS DE DIRECCIONES, BUS DE DATOS, BUS DE
CONTROL).
1 bit = unidad mínima de información, que puede adoptar dos valores “1” o “0”
1 Nibble = 4 bits
1 Byte = 8 bits = 2 Nibbles
1 WORD =16 bits = 4 Nibbles = 2 Bytes
1 DWORD (Double WORD) = 32 bits = 8 Nibbles = 4 Bytes
1 QWORD (Quadruple WORD) = 64 bits = 16 Nibbles = 8 Bytes
2.4. MEMORIAS
Memoria de acceso aleatorio es volátil (si se quita la energía eléctrica se pierde la información), además
que el sistema accede a los datos almacenados de manera no secuencial, su característica es que es más
veloz a comparación de la ROM.
Es una memoria RAM estática está conformada internamente como una matriz, que en la cual cada una
de sus celdas o casillas se guarda los datos sin necesidad de un circuito de refresco (refresh) más rápida
que la DRAM, generalmente basado en transistores (BJT o Mosfet) y/o flip flops, almacena la
información momentáneamente.
Una memoria SRAM tiene tres estados distintos de operación: standby (modo reposo-espera), en el
cual el circuito está en reposo, reading o en fase de lectura, durante el cual los datos son leídos desde
la memoria, y writing o en fase de escritura, durante el cual se actualizan los datos almacenados en la
memoria.
1 0 1 1 0
corte = “1” 1 1 1
0 0 0
saturación = “0”
1 1 0 0 0 0
Es una memoria RAM dinámica, basada en condensadores los cuales tienden a perder su carga
progresivamente, por lo cual necesitan un circuito dinámico de ciclos o periodos de refresco (refresh),
para que la información no se pierda, también es volátil.
1 0 1 1 0
carga = “1” 1
1
descarga = “0” 1 1 1
1 1 1
1 1 0 0 0 0
0
ciclo de refresco que proporciona el uP
Est. Leivis Ivan Flores Pari LABORATORIO 1 SML-300 C II 2021
Memoria de solo lectura, memoria no volátil (si se quita la energía eléctrica no se pierde la información).
procedimiento para grabar datos en el chip se realizaba mediante la aplicación de una sobrecarga de tensión,
entre los 12 y los 20 volts, a los diodos en el circuito integrado, a través de un aparato conocido como
“Programador ROM”, un circuito grabador.
Las memorias EPROM, (Erasable Programmable Read Only Memory) o Memoria Programable y Borrable
de Sólo Lectura, básicamente son memorias del tipo PROM pero que, al contrario de éstas, ofrecen la
posibilidad de poder borrar el contenido almacenado en ellas.
Las memorias EPROM se programan mediante la emisión de rayos de luz ultravioleta, los cuales penetran
en el circuito a través de una ventana en el encapsulado del circuito integrado.
Las memorias EEPROM (Electrically Erasable Programmable Read Only Memory), o Memoria
Programable de Sólo Lectura Borrable Eléctricamente, son borrables, al igual que las memorias
EPROM, salvo que en este caso el procedimiento para borrar y rescribir la memoria es mucho más
sencillo, ya que se utiliza una corriente eléctrica, los microcontroladores actuales generalmente ya
vienen con memoria EEPROM internamente, pero también pueden expandirse y/o comunicarse con
otra memoria EEPROM mediante algún puerto de comunicación, por ejemplo el I2C.
La Unidad Central de Proceso (CPU, por sus siglas en inglés) tiene 14 registros internos cada
uno de 16 bits. Los primeros cuatro AX, BX, CX y DX, son de uso general y se pueden usar
también como registros de 8 bits. Es decir, AX se puede dividir en AH y AL (AH es el Byte
alto, high, y AL es el byte bajo, low) Lo mismo es aplicable a los otros tres (BX en BH y BL,
CX en CH y CL y DX en DH y DL)
Estos son los únicos registros que pueden usarse de modo dual (en 8 o 16 bits) Los registros
de la CPU
son conocidos por sus nombres propios, que son:
El registro AX se usa para almacenar resultados, lectura o escritura desde o hacia los
puertos, dividido en AH y AL (8 bits cada uno).
Algunas operaciones con cadenas de caracteres (datos de caracteres) utilizan el registro esta
de segmento para manejar el direccionamiento de memoria. En este contexto, el registro
ES está asociado con el registro DI (índice). Un programa que requiere el uso del registro ES
puede inicializarlo con una dirección apropiada.
El registro BP (base pointer) se usa para manipular la pila sin afectar al registro de segmentos
SS. Es útil cuando se usa interfaz entre lenguajes de alto nivel y el ensamblador
Puesto que dicha interfaz se basa en el concepto de la pila BP, nos permite acceder
parámetros pasados sin alterar el registro de segmento SS. Los registros SI y DI son útiles
para manejar bloques de cadenas en memoria, siendo el primero la índice fuente y el
Est. Leivis Ivan Flores Pari LABORATORIO 1 SML-300 C II 2021
El registro SP apunta a un área específica de memoria que sirve para almacenar datos bajo
la estructura
LIFO (último en entrar, primero en salir), conocida como pila (stack).
El registro IP (instruction pointer) apunta a la siguiente instrucción que será ejecutada en
memoria.
Estas instrucciones mueven datos de una parte a otra del sistema; desde y hacia la memoria
principal, de y a los registros de datos, puertos de E/S y registros de segmentación.
• INC incrementar
• DEC decrementar
• LOOP realizar un bucle
• LOOPZ, LOOPE realizar un bucle si es cero
• LOOPNZ, LOOPNE realizar un bucle si no es cero
• JCXZ salta si CX es cero
• NOT negación
• AND producto lógico
• OR suma lógica
• XOR suma lógica exclusiva
• TEST verifica puerto
CF (Carry Flag, bit 0): Si vale 1, indica que hubo "arrastre" (en caso de suma) hacia, o
"préstamo" (en caso de resta) desde el bit de orden más significativo del resultado. Este
indicador es usado por instrucciones que suman o restan números que ocupan varios bytes.
Las instrucciones de rotación pueden aislar un bit de la memoria o de un registro poniéndolo
en el CF. F (Parity Flag, bit 2): Si vale uno, el resultado tiene paridad par, es decir, un número
par de bits a 1. Este indicador se puede utilizar para detectar errores en transmisiones.
AF (Auxiliary carry Flag, bit 4): Si vale 1, indica que hubo "arrastre" o "préstamo" del nibble
(cuatro bits) menos significativo al nibble más significativo. Este indicador se usa con las
instrucciones de ajuste decimal.
ZF (Zero Flag, bit 6): Si este indicador vale 1, el resultado de la operación es cero.
SF (Sign Flag, bit 7): Refleja el bit más significativo del resultado. Como los números negativos
se representan en la notación de complemento a dos, este bit representa el signo: 0 si es
positivo, 1 si es negativo.
TF (Trap Flag, bit 8): Si vale 1, el procesador está en modo paso a paso. En este modo, la CPU
automáticamente genera una interrupción interna después de cada instrucción, permitiendo
inspeccionar los resultados del programa a medida que se ejecuta instrucción por instrucción.
IF (Interrupt Flag, bit 9): Si vale 1, la CPU reconoce pedidos de interrupción externas
enmascarables (por el pin INTR). Si vale 0, no se reconocen tales interrupciones. Las
interrupciones no enmascarables y las internas siempre se reconocen independientemente
del valor de IF.
DF (Direction Flag, bit 10): Si vale 1, las instrucciones con cadenas sufrirán "auto-
decremento", esto es, se procesarán las cadenas desde las direcciones más altas de memoria
hacia las más bajas. Si vale 0, habrá "auto-incremento", lo que quiere decir que las cadenas
se procesarán de "izquierda a derecha".
Est. Leivis Ivan Flores Pari LABORATORIO 1 SML-300 C II 2021
OF (Overflow flag, bit 11): Si vale 1, hubo un desborde en una operación aritmética con signo,
esto es, un dígito significativo se perdió debido a que tamaño del resultado es mayor que el
tamaño del destino.
• ENTRENADOR 8088
• Computador con debug
• Set de instrucciones
3: MOV CX,0002
4: ADD AX,BX
5: SUB BX,CX
6: SUB AX,000A
7: MUL BX
8: MOV AX,F
9: MOV BX,F
10: DIV CX
11: INC CX
12: DEC BX
13 :INT 21
4. IMPRIMIR SU NOMBRE Y SU PRIMER APELLIDO
4.1. PASOS DESARROLLADOS EN EL LABORATORIO, CÁLCULOS REALIZADOS, CÓDIGO,
RESULTADOS OBTENIDOS
LABORATORIO
1. Realizar las operaciones 4 operaciones aritméticas con los siguientes valores:
num1= F ; num2 =5
SUMA
• DEBUG
• A
• MOV AX,000F
• MOV BX,0005
• ADD AX,BX
• ENTER
• T
• T
• T
• Q
RESTA
Est. Leivis Ivan Flores Pari LABORATORIO 1 SML-300 C II 2021
• DEBUG
• A
• MOV AX,000F
• MOV BX,0005
• SUB AX,BX
• ENTER
• T
• T
• T
• Q
MULTIPLICACIÓN
• DEBUG
• A
• MOV AX,000F
• MOV BX,0005
• MUL BX
• ENTER
• T
• T
• T
• Q
Est. Leivis Ivan Flores Pari LABORATORIO 1 SML-300 C II 2021
DIVISIÓN
• DEBUG
• A
• MOV AX,000F
• MOV BX,0005
• DIV BX
• ENTER
• T
• T
• T
• Q
Est. Leivis Ivan Flores Pari LABORATORIO 1 SML-300 C II 2021
I 49
v 76
a 61
n 6E
20
F 46
l 6C
o 6F
r 72
e 65
s 73
Est. Leivis Ivan Flores Pari LABORATORIO 1 SML-300 C II 2021
6. CONCLUSIONES Y RECOMENDACIONES
Logre instalar correctamente todo el software necesario para la realización del laboratorio
7. REFERENCIAS BIBLIOGRÁFICAS