Ejemplos con LOOP

Ya hemos visto los saltos condicionales y el funcionamiento básico de estos. Ahora es el turno de ver los ciclos. Para ello, les mostrare uno cuantos ejemplos, similares unos de otros, para que puedan observar y analizar su funcionamiento.

 Todos estos programas son similares, solo contienen pequeños cambias entre cada uno pero su funcionamiento es igual. Cada uno de ellos imprime un letrero pero al estar usando la instrucción LOOP se realizara un ciclo. La cantidad de veces que el ciclo se repetirá esta determinado por el valor que el registro CX contenga.

LOOP con OFFSET

.MODEL TINY

.DATA
    MSG1 DB 10,13, 'LETRERO $', 10, 13
    
.CODE

INICIO:
    MOV CX, 4

COMIENZO:
    LEA DX, MSG1
    MOV DX, OFFSET MSG1
    MOV AH, 09
    INT 21H
    LOOP COMIENZO

RET

END
 

LOOP usando macros

ORG 100H
INCLUDE 'EMU8086.INC'

MOV CX, 4
    
COMIENZO:
    PRINTN 'LETRERO'
    LOOP COMIENZO

RET

END 

LOOP usando la interrupción LEA

ORG 100H

.DATA
MOV CX, 4

MSG1 DB 10,13, 'LETRERO$', 13, 10

.CODE
    
COMIENZO:
    MOV AH, 09H
    LEA DX, MSG1
    INT 21H
    LOOP COMIENZO

RET

END

Nota. Si CX = 0, entonces la instrucción LOOP se realizara de manera infinita.



Comentarios

Entradas más populares de este blog

Macros y procedimientos de EMU8086.INC

1.7 Compiladores, proceso de ensamblado y ligado

Unidad 2. Ciclos condicionales.