debug
En este programa haremos uso de un ciclo loop con el registro CX como nuestro contador, definiremos una cadena a imprimir y la imprimirá 5 veces,ejemplos mostrados en debugger y MASM.
1.- Programa que imprime una cadena de caracteres 5 veces, en este caso es "mi nombre es:"
-a
jmp 125
-e 102 "mi nombre es $" ;Asignamos la cadenaen una dirección de memoria, $ indica fin de cadena.
-a 125
mov cx, 0005 ;Definimos cuantas veces queremos que imprima la cadena
mov dx, 0102 ;Cargamos la cadena en dx, que es nuestro registro paraimprimir
mov ah, 09 ; instrucción para imprimir cadenas.
int 21h
loop 012d ;repite todo desde donde se encuentra a CX hasta 012d
int 20h
-g
2.- Mismo programa haciendo modificacionesagregando el 0d:
-a
jmp 125
-e 102 "Mi nombre es " 0d "$"
-a 125
mov cx, 0005
mov dx, 0102
mov ah, 09
int 21h
loop 012d
int 20h
-g
Imprime las 5 cadenas solo que reiniciala posición del puntero en pantalla, es decir imprime las 5 cadenas una encima de la otra.
3.- Mismo programa haciendo modificaciones agregando 0A en lugar de 0d:
-a
jmp 125
-e 102 "Mi nombrees " 0A "$"
-a 125
mov cx, 0005
mov dx, 0102
mov ah, 09
int 21h
loop 012d
int 20h
-g
Como se puede observar da saltos de linea.
4.- Mismo programa haciendo modificacionesagregando 0A y 0d:
-a
jmp 125
-e 102 "Mi nombre es " 0A 0d "$"
-a 125
mov cx, 0005
mov dx, 0102
mov ah, 09
int 21h
loop 012d
int 20h
-g
Ejemplo en MASM
.model small.stack 64
.data ;En.data se declaran variables y cadenas a usar en el programa
mensaje db 0Ah, 0dh,"Mi nombre es: ", "$" ;Declaramos una cadena.
.code
inicio:
mov cx, 0005 ;numero de veces arepetir el ciclo
ciclo:
mov ax,@data
mov ds,ax
mov dx,offset mensaje ;lee la cadena desde nuestro segmento de datos
mov ah, 09h
int 21h
loop ciclo ;Se repite desde nuestra etiqueta...
Regístrate para leer el documento completo.