Modelo de programación de la Familia INTEL®-Pentium™ y uso del Lenguaje de Ensamblaje TEEL 4011...

Post on 27-Jan-2016

222 views 6 download

Transcript of Modelo de programación de la Familia INTEL®-Pentium™ y uso del Lenguaje de Ensamblaje TEEL 4011...

Modelo de programación de la Familia INTEL®-Pentium™ y uso del

Lenguaje de Ensamblaje TEEL 4011

Prof. Jaime José Laracuente-Díazwww.uprb.edu/profesor/jjlaracuente

Flags

Repaso de Arquitectura del 8086 (presentación previa)

• Existe un registro que se conoce como el Flags Register y está ubicado en el Execution Unit en la familia INTEL® 8086/8088.

• Este posee nueve (9) bits de estatus y control independientes denominados “flags” (banderas).

Flags

• Algunas “banderas”, específicamente las denominadas de estatus son utilizadas para indicar una condición luego de que una instrucción ha sido ejecutada por el ALU como:–CF = carry sum– ZF = zero flag– SF = sign flag

Flags

• Otras “banderas”, específicamente las denominadas de control, son utilizadas para alterar operaciones del procesador en ciertas ocasiones. – Interrupt Enable – Direction – Trap

Flags

• CF = Carry• PF = Parity • AF = Aux carry• ZF = Zero• SF = Sign• OF = Overflow• IF = Interrupt enable• DF = Direction• TF = Trap

TF DF IF OF SF ZF AF PF CF

Flags 8086/8088

Ahora…hablemos del modelo de programación y el uso del lenguaje de

ensamblaje para la familia INTEL…

Modelo de programación de la familia INTEL®

• La familia de microprocesadores INTEL® ha evolucionado desde los modelos 8086/8066 hasta los modelos más recientes de Pentium.– Las adelantos más significativos desde el

8086/8088 hasta el Pentium incluyeron entre otros: • Mayor capacidad de bits en registros• Un alcance de acceso a memoria mucho mayor al

posible previamente

Registros Generales en el 8086/8088

• Recuerde que los registros generales del 8086/8088 poseen 16 bits de capacidad. Permitiendo combinaciones entre registros generales y registros “pointer and index” para alcanzar direcciones en memoria con hasta 20 bits.

Recuerde: 2 ^ 20 = ?

Registros Generales en los modelos Pentium™

• Los modelos Pentium fueron objeto de un aumento en la capacidad en bits de sus registros generales.

Registros Generales en los modelos Pentium™

• En la figura anterior vemos como los registros generales del modelo Pentium alcanzaron hasta 32 bits en capacidad.– Es importante señalar que los cambios comenzaron a

ciencia cierta con el modelo 80386, (mi primer Micro…).

• Este aumento le ofrece mayor alcance en memoria a esta arquitectura de microprocesador.– Conteste:

• Alcance en memoria: ???

Compatibilidad en la familia INTEL®

• Importante:– La familia INTEL posee compatibilidad. Es decir,

los programas creados para los modelos 8086/8088 se pueden ejecutar en los modelos Pentium.

– Cuando esto ocurre se dice que estamos trabajando en el Real Mode.

– No necesariamente lo opuesto es también cierto. Es decir, no se espera que se ejecuten programas escritos para los modelos Pentium en los modelos 8086/8088.

Programación en Lenguaje de Ensamblaje

El uso de los programas

• Los micro necesitan de unos programas que son quienes controlan la ejecución de los procesos.

• Es decir, un micro sin un programa que los dirija es un circuito integrado de alto nivel en reposo.

December 9, 1906(1906-12-09) – January 1, 1992 (aged 85)

Grace Hopper

(January 1984)

Photo of first computer bug

Flujo-grama• Este flujo-grama describe la serie de pasos o instrucciones que un programa posee para realizar la suma de una serie de números.– Se inicializa un registro– Se señala al primer numero

en memoria– Se decide el próximo paso

dependiendo del valor – Si no es cero se continua a

sumar lo que esta en memoria al valor que estaba en el registro

– Se señala al próximo numero en memoria y así continua el proceso.

Flowchart

Leguaje de Ensamblaje

• Luego el flujo-grama se escribe en líneas de código o instrucciones en lenguaje de ensamblaje. Se utiliza un léxico similar al ingles.

• Recuerde que este léxico se conoce como: mnemonic al cual comúnmente se le conoce como op-code.

English-likeAssemblyLanguage

Binary

Assembler

Figure 12-3 Block diagram of microprocessor programming

Recuerde…el micro entiende binario…es decir código de máquina.

Ejemplo para ejecutar en su

máquina……ok…vamos a

explicar…

(Anote por favor…)

Ejecutando el programa con la herramienta de Debug…

…Debug…

• Ejecucion del programa mostrado en la pantalla de Debug…

Ejemplo 12-2 Construcción de un programa en assembler…

Flujo-grama del ejemplo 12-2Este siempre será el primer paso en la

construcción de un programa.

Ejecución del programa del Ejemplo 12-2 en el Debug…

Estado de la data en los registros y memoria antes y después de ejecutar el programa del ejemplo 12-2.