250 likes | 538 Views
Modelo de programación de la Familia INTEL®-Pentium™ y uso del Lenguaje de Ensamblaje TEEL 4011. Prof. Jaime José Laracuente-Díaz www.uprb.edu/profesor/jjlaracuente. Flags. Repaso de Arquitectura del 8086 (presentación previa)
E N D
Modelo de programación de la Familia INTEL®-Pentium™ y uso del Lenguaje de Ensamblaje TEEL 4011 Prof. Jaime José Laracuente-Díaz www.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 = carrysum • ZF = zeroflag • SF = signflag
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 = Auxcarry • ZF = Zero • SF = Sign • OF = Overflow • IF = Interruptenable • DF = Direction • TF = Trap TF DF IF OF SF ZF AF PF CF
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.
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.
Grace Hopper (January 1984) December 9, 1906(1906-12-09) – January 1, 1992 (aged 85) 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.
Recuerde…el micro entiende binario…es decir código de máquina. English-like Assembly Language Assembler Binary Figure 12-3 Block diagram of microprocessor programming
Ejemplo para ejecutar en su máquina……ok…vamos a explicar…(Anote por favor…)
…Debug… • Ejecucion del programa mostrado en la pantalla de Debug…
Flujo-grama del ejemplo 12-2Este siempre será el primer paso en la construcción de un programa.
Estado de la data en los registros y memoria antes y después de ejecutar el programa del ejemplo 12-2.