ENSAMBLADOR

Páginas: 6 (1443 palabras) Publicado: 15 de abril de 2013

UNIVERSIDAD AUTÓNOMA DEL ESTADO DE MÉXICO.
CENTRO UNIVERSITARIO UAEM ATLACOMULCO.

MATERIA:
LENGUAJE ENSAMBLADOR

PROGRAMAS E INVESTIGACION

PROFESOR
DR. CARLOS EDUARDO TORRES REYES

ALUMNO:
MAURICIO LIRA SANTIAGO

INGENIERIA ENCOMPUTACION


SEMESTRE 2013A


04-ABRIL-2013

CICLO LOOP
Operación LOOP: Repetir
Descripción Controla la ejecución de un grupo de instrucciones un número específico de veces.
Antes de iniciar el ciclo, CX debe contener el número de veces que ha de repetirse. LOOP aparece al final del conjunto de instrucciones que se repiten y decrementa CX. Al llegar a cero, permite que el flujo deejecución pase a la siguiente instrucción. En caso contrario salta a la etiqueta que determina el comienzo del bucle.
Banderas No las afecta.
Formato LOOP etiqueta
Ejemplo MOV CX, num_veces
Etiqueta:
; Instrucciones del bucle
LOOP Etiqueta
Nota: LOOPE/LOOPZ tienen la misma función que LOOP, pero la condición para salir del bucle es
Que CX = 0 ó Z = 0. Para LOOPNZ/LOOPNE la condición es CX =0 ó Z = 1.
Loop dirección
Decremento CX y luego salta si CX no es 0.
Sintaxis:
Loop etiqueta
Esta instrucción decrementa el contenido del registro CX en uno, si el valor que queda en CX es diferente de cero, entonces la instrucción salta a la dirección especificada por etiqueta, la cual no debe encontrarse más allá de los 126 bytes hacia atrás o de los 127 bytes hacia adelante.
Estainstrucción se utiliza para crear ciclos que se repiten el número de veces especificado por el registro CX. Como la instrucción loop decrementa CX antes de probar si vale cero. Si CX vale cero al principio, al decrementar CX tomará el valor de 65535 y por lo tanto el ciclo ejecutará 65536 veces. Para prevenir esto preceda el ciclo con la instrucción jcxz como se muestra en el siguiente código.
jcxzenddo ; if(CX == 0) goto enddo
do: ; do
; {
... ; instrucciones dentro
del
; ciclo
loop do ; }
; while(CX > 0)
enddo:
la instrucción loop no modifica las banderas.
loope | loopz dirección
Decrementa CX y luego salta si CX no es 0 y la bandera de cero Z vale 1.
Sintaxis:
loope | loopz etiqueta
Los mnemónicos loope y loopz representan la misma instrucción. Esta instruccióndecrementa el contenido del registro CX en uno, si el valor que queda en CX es diferente de cero y la bandera de cero Z vale 1, presumiblemente puesta por una comparación previa, entonces la instrucción salta a la dirección especificada por etiqueta, la cual no debe encontrarse más allá de los 126 bytes hacia atrás o 127 bytes hacia adelante.
loopne | loopnz dirección
Decrementa CX y luego salta siCX no es 0 y la bandera de cero Z vale 0.
Sintaxis:
loopne | loopnz etiqueta
Los mnemónicos loope y loopz representan la misma instrucción. Esta instrucción decrementa el contenido del registro CX en uno, si el valor que queda en CX es diferente de cero y la bandera de cero Z vale 0, presumiblemente puesta por una comparación previa, entonces la instrucción salta a la dirección especificadapor etiqueta, la cual no debe encontrarse más allá de los 126 bytes hacia atrás o 127 bytes hacia adelante.
Ejemplo sobre instrucciones repetitivas
El siguiente programa es una modificación del ejemplo 2 sobre las instrucciones de salto. Suma los números enteros desde 1 hasta n-final.
; SERIE2.ASM
;
; Este programa suma los números enteros de 1 hasta n-final.
; Esta versión utiliza lainstrucción repetitiva loop. El
; Pseudocódigo de este programa es:
;
; AX = 0
; CX = n-final
;
; if(CX == 0) goto endo
;
; do
; {
; AX += CX
; }
; while(--CX > 0)
; enddo:
; suma = AX
;*************************************************************
;****** CÓDIGO DE INICIO *************************************
ideal
dosseg
model small
stack 256
;****** VARIABLES DEL PROGRAMA...
Leer documento completo

Regístrate para leer el documento completo.

Estos documentos también te pueden resultar útiles

  • ensamble
  • Ensamblador
  • Ensambles
  • Ensamblado
  • ENSAMBLE
  • Ensamblado
  • Ensamblador
  • Ensamblador

Conviértase en miembro formal de Buenas Tareas

INSCRÍBETE - ES GRATIS