Arquitectura de Computadoras 2

Foro para conocer el avance del curso y compartir comentarios, dudas y aportaciones para todos los participantes del mismo.

Mi foto
Nombre: Dr. Sergio Castillo
Ubicación: Xalapa, Veracruz, Mexico

Profesor universitario en el área de las ciencias de la computación. Doctor en Ciencias de la Computación, Maestro en Ciencias Computacionales e Ingeniero en Electrónica y Comunicaciones.

martes, septiembre 20, 2005

Sesión del Martes 20 de Septiembre

En la sesión de hoy vimos una introducción al MacroAssembler de Microsoft.

Vimos que todo programa en ensamblador tiene 3 bloques:
  • Segmento o sección de pila.
  • Segmento o sección de datos, y
  • Segmento o sección de código.
Donde los bloques de pila y datos son opcionales.

También vimos que todo programa está compuesto de:
  • instrucciones,
  • directivas o pseudoinstrucciones, y
  • objetos (que pueden ser constantes, variables y etiquetas)

Posteriormente presenté y expliqué el siguiente programa ejemplo:
; hola.asm
; Despliega una cadena en pantalla
Pila segment stack 'stack'
db 512 dup(?) ; Reserva 512 bytes para la pila
Pila ends

Datos segment 'data'
msje db "Hola Mundo desde MacroAssembler!!!",10,13,"$"
Datos ends

Prog segment 'code'
assume cs:Prog, ds:Datos, ss:Pila
Inicio:
mov ax,Datos ; Inicializa DS
mov ds,ax
mov ah,9 ; Utilizamos DOS
mov dx, offset msje ; Para desplegar una cadena
int 21h

mov ax,4c00h ; Utilizamos DOS para
int 21h ; terminar el programa
Prog ends
end Inicio

Finalmente hablé del procedimiento de programación en ensamblador:
  • Capturar programa en un editor de texto
  • Ensambladr el código fuente (traducir a lenguaje máquina)
  • Ligar para generar el ejecutable

Para reforzar estos temas les recomiendo esta referencia y también esta otra referencia.