Академический Документы
Профессиональный Документы
Культура Документы
Lenguaje
Ensamblador
Asignaturas Anteriores
Arquitectura de
computadoras.
Comunicacin interna de
la computadora.
Asignaturas Posteriores
Interfaces.
Perifricos
estandarizados
Programacin de bajo
nivel.
Otros vnculos
1. Arquitectura de computadoras
2. Compiladores
3. Sistemas Operativos
4. Concepto de mquina virtual
5. Operaciones booleanas elementales
6. Ciclo de ejecucin de instrucciones
7. Acceso a memoria e intercambio
8. Interrupciones
9. Concepto de canalizacin y superescalares
10. E/S basada en hardware
11. Representacin binaria para punto flotante
12. Arquitectura IA-32 y 64: Memoria protegida y paginacin,
segmentacin, system call en MSDOS y BIOS (interrupciones)
13. Algoritmos de bsqueda y ordenacin
14. Estructuras de lenguajes de alto nivel
15. Ejemplos de optimizacin de cdigo
Mapa curricular
2. Objetivo de la asignatura
El estudiante utilizar un lenguaje de bajo nivel para
saber explotar las capacidades de hardware que dispone
un equipo de cmputo, operando eficientemente sus
componentes
3. Temario
Unidad 1. Fundamentos
Unidad
1. Fundamentos
Introduccin:
Introduccin:
Uso y aplicaciones del lenguaje ensamblador.
Uso y aplicaciones del lenguaje ensamblador.
Escalabilidad de los microprocesadores.
Escalabilidad de los microprocesadores.
Tipos de lenguajes ensambladores.
Tipos de lenguajes ensambladores.
Clasificacin de Memorias.
Clasificacin de Memorias.
Unidades de entrada / salida.
Unidades de entrada / salida.
El microprocesador.
El microprocesador.
Buses.
Buses.
Registros.
Registros.
Modos de direccionamiento.
Modos de direccionamiento.
Interrupciones.
Interrupciones.
Hardware.
Hardware.
Software.
Software.
4. Requerimientos
Microprocesador Intel o AMD de 32/64 bits
Plataforma MS Windows Vista
MS Macro Assembler (MASM 8.0)
Visual C++ 2008 Express/ Visual Studio
2008. Cada uno incluye Microsoft Assembler
Carpeta c:\Irvine
5. Funcionamiento
El programa lee el fichero escrito en lenguaje
ensamblador y sustituye cada uno de los cdigos
6. Cronologa en el desarrollo de
algunos lenguajes de programacin
7. Preguntas detonantes
Actividad No. 1
1.
2.
3.
4.
5.
6.
9. MQUINA VIRTUAL:
Relacin entre hardware y software
Lenguaje mquina nativo L0. Difcil de programar, est en extremo detallado
y consta solo de nmeros
Si se construyera un nuevo lenguaje L1 que fuera ms fcil de usar, los
programas podran escribirse en L1. Hay dos formas de lograr esto:
Interpretacin
Compilacin
Mquinas virtuales
En vez de utilizar slo lenguajes, es ms fcil pensar en trminos de una
computadora hipottica o mquina virtual, en cada nivel.
Mquinas especficas
Se
pueden
relacionar
estos
Actividad No. 2
4.
5.
8. Crear un proyecto
Ejecucin de una
instruccin no
canalizada de 6
etapas
Ejecucin de una
instruccin
canalizada de 6
etapas
Ejecucin con
canalizacin,
utilizando una sola
canalizacin.
Arquitectura
superescalar
Procesador escalar
canalizado de 6
etapas
Registros de propsito
general de 32 bits
Registros de segmento de 16
bits
EAX
EBP
CS
ES
EBX
ESP
SS
FS
ECX
ESI
DS
GS
EDX
EDI
EFLAGS
EIP
8 bits
8 bits
AH
AL
AX 16 bits
32 bits
16 bits
8 bits (superior)
8 bits (inferior)
EAX
AX
AH
AL
EBX
BX
BH
BL
ECX
CX
CH
CL
EDX
DX
DH
DL
JERARQUA DE ENTRADA/SALIDA
El siguiente esquema representa lo que ocurre cuando un programa de aplicacin
muestra una cadena de caracteres en la pantalla
Nivel 3
Nivel 2
Nivel 0
Hardware
La tarjeta controladora de video
genera seales de hardware para la
pantalla video
Level 3: Call library functions to perform generic text I/O and file-based I/O.
Level 2: Call operating system functions to perform generic text I/O and file-based I/O. If the OS
uses a graphical user interface, it has functions to display graphics in a device-independent
way.
Level 1: Call BIOS functions to control device-specific features such as color, graphics, sound,
keyboard input, and low-level disk I/O.
Level 0: Send and receive data from hardware ports, having absolute control over specific devices.
Actividad No. 3
Actividad No. 4
INCLUDE Irvine32.inc
INCLUDE Irvine32.inc
;Definiciones de smbolos
.data
;colocar variables
.code
Main PROC
; insertar instrucciones ejecutables
Exit ; sale al sistema operativo
main ENDP
; aqu insertar procedimientos adicionales
.code
main PROC
call Clrscr
mov eax,X
add eax,6
mov Y,eax
call DumpRegs
exit
main ENDP
END main
END main
.data
X = 10h
Y dword ?