Ensamblador (Y Ligador) A Utilizar
Ensamblador (Y Ligador) A Utilizar
Ensamblador (Y Ligador) A Utilizar
separado y enlazarlos para que se ejecuten como una unidad llamada programa binario
ejecutable.
Instruccin LOOP
La instruccin LOOP requiere un valor inicial en el registro CX, en cada iteracin, LOOP de forma
automtica disminuye 1 de CX.
Si el valor en el CX es cero, el control pasa a la instruccin que sigue; si el valor en el CX no es cero, el
control pasa a la direccin del operando.
La distancia debe ser un salto corto, desde -128 hasta +127 bites. Para una operacin que exceda este
lmite, el ensamblador enva un mensaje como un salto relativo fuera de rango. El formato general de la
instruccin LOOP
Instruccin CMP
La instruccin CMP por lo comn es utilizada para comparar dos campos de datos, uno de los cuales
estn contenidos en un registro. El formato general para el CMP es:
[Etiqueta] CMP {registro / memoria}, {registro / memoria / inmediato}
Instruccin CMPS
CMPS compara el contenido de una localidad de memoria (direccionada por el DS; SI), dependiendo de
la bandera de direccin, CMPS incrementa o disminuye tambin los registros SI y DI en 1 para bytes, en
para palabras " en 4 para palabras dobles. La operacin establece las banderas AF, CF, OF, PF,
SF, y ZF.
Instruccin de conteo
Se utilizan para decrementar o incrementar el contenido de los contadores:
DEC: esta operacin resta 1 al operando destino y almacena el nuevo valoren el mismo
operando.
INC: la instruccin suma 1 al operando del destino y guarda el resultado en el mismo
operando destino.
Son utilizadas para transferir el flujo del proceso al operando indicado.
JLE: salta si es menor o igual o salta si no es ms grande. El salto se realiza si ZF =1 o si
SF es diferente a OF.
JC: salta si hay acarreo. El salto se realiza si CF= 1
JE: salta si es igual o salta si es cero, el salto se realiza si ZF esta activada.
Tipos de Ciclos
LOOP (bucle).
Sintaxis:
LOOP desplazamiento
Indicadores:
OF
-
DF
-
IF
-
TF
-
SF
-
ZF
-
AF
-
PF
-
CF
-
MOV CX,10
BUCLE:.......
.......
LOOP BUCLE
Con las mismas caractersticas que la instruccin anterior:
LOOPE/LOOPZBucle si igual, si cero. Z=1 y CX<>0
LOOPNE/LOOPNZ Bucle si no igual, si no cero. Z=0 y CX<>0
TITLE P08LOOP (COM) Ilustracin de LOOP
.MODEL SMALL
.CODE
ORG
100H
MAIN
PROC
NEAR
MOV
AX,01
;Iniciacin de AX,
MOV
BX,01
;BX y
MOV
CX,01
;CX a 01
MOV
CX,10
;Iniciar
A20:
;Nmero de iteraciones
ADD
AX, 01
;Sumar 01 a AX
ADD
BX, AX
;Sumar AX a BX
SHL
DX, 1
;Multiplicar por dos a DX
LOOP
A20
;Iterar si es diferente de cero
MOV
AX, 4C00H
;Salida a DOS
MAIN ENDP
END
MAIN