Varios
Procedimientos en NASM
Objetivo: Aplicar procedimientos al desarrollo de programas en bajo nivel.
Introducción
El dividir un programa en módulos es una de las prácticas másaceptadas para facilitar el desarrollo y mantenimiento de software. El lenguaje ensamblador ofrece dos opciones para modularizar programas: las macros y los procedimientos. En esta práctica usaremos losprocedimientos para ilustrar el uso de esta forma de modularización en bajo nivel.
1.- Captura de archivo de procedimientos
Captura los siguientes procedimientos en un archivo llamado procs.asm:
;-----------------------------------------------
; Archivo: procs.asm
; Contiene varios procedimientos globales
; -----------------------------------------------
;-------------------------------------------------------
; Cls
; Limpia la pantalla usando Int 10,6
; y coloca el cursor en (0,0) usando Int 10,f e Int 10,2
; Recibe: Nada
; Regresa: Nada
;--------------------------------------------------------
global Cls
Cls:
Push ax ; Salva registros a la pila
Push bx
Push cx
Push dx
mov ax,0600h ; Prepara Int 10h/06
mov bh,07 ; Atributo = Fondo negro,letras blancas
xor cx,cx ; Esq Sup Izq = (0,0)
mov dx,184fh ; Esq Inf Der = (24,79)
int 10h
mov ah,0fh ; Obtiene modo de video actual
int 10h
mov ah,2 ; Prepara Int 10h/02xor dx,dx ; Coordenadas (0,0)
Int 10h
pop dx ; Restaura registros de la pila
pop cx
pop bx
Pop ax
retf
; ---------------------------------------
; DespliegaLFCR
;Despliega los caracteres LF y CR
; Utiliza Int 21,2
; Recibe: nada
; Regresa: nada
; ----------------------------------------
global DespliegaLFCR
DespliegaLFCR:
push ax ; Salva registros ala pila
push dx
mov ah,2
mov dl,10
int 21h
mov dl,13
int 21h
pop dx ; Restaura registros
pop ax
retf
; -----------------------------------------------------------
;...
Regístrate para leer el documento completo.