SALTO CONDICIONAL


1.     CONTENIDO:
*      DEFINICIÓN:
Es un punto de un programa informático donde el flujo del programa se ve alterado. Los términos de salto suelen utilizarse para referirse a programas escritos en lenguaje ensamblador; en los lenguajes de alto nivel, los saltos normalmente toman la forma de sentencias condicionales, llamadas a subrutinas o sentencias GOTO. Una instrucción que causa un salto (llamada evidentemente instrucción de salto), puede ser efectiva o no efectiva: si el salto no es efectivo, el flujo de programa no cambia y la siguiente instrucción en ser ejecutada es la inmediatamente posterior en el código; si resulta efectivo, la siguiente instrucción ejecutada será aquella marcada como destino del salto. Principalmente hay dos formas de instrucción de salto: el salto condicional que puede ser efectivo o no según una determinada condición, como por ejemplo el contenido de algún registro de la CPU; y el salto incondicional que siempre se realiza.

*      INSTRUCCIONES DE SALTO:
Hay más de 30 instrucciones de salto, vamos a nombrar las más usadas:
INSTRUCCIÓN
DESCRIPCIÓN
jmp etiqueta
Salto incondicional directo
je etiqueta
Salto por igual
jne etiqueta
Salto por no igual
jg etiqueta
Salto por mayor
jng etiqueta
Salto por no mayor
jge etiqueta
Salto por mayor igual
jnge etiqueta
Salto por no mayor igual
jl etiqueta
Salto por menor
jnl etiqueta
Salto por no menor
jle etiqueta
Salto por menor igual
jnle etiqueta
Salto por no menor igual
js etiqueta
Salto negativo

*      EJEMPLO:
Ø  Permite determinar si un numero ingresado por teclado es Cero, Positivo o Negativo:

; INICIO:
.model small
.stack 64
.data

; DECLARACIÓN DE VARIABLES:
num db 0

; DEFINIR MENSAJES:
msg1 db 10,13, “Ingrese un numero ::”, ‘S’
msg2 db 10,13, “<<El numero es cero>>”, ‘S’
msg3 db 10,13, “<<El numero es positivo>>”, ‘S’
msg4 db 10,13, “<<El numero es negativo>>”, ‘S’

; INICIALIZAR EL PROGRAMA:
.code
begin prod far
mov ax,@data
mov ds,ax

; INGRESO DE DATOS:
mov ah,09
lea dx,msg1
int 21h
mov ah,01
int 21h
sub al.30h
mov num,al




; CALCULOS:
cmp al,0
je CERO
jp POSITIVO
jl NEGATIVO

; CONDICIONES:
CERO:
mov ah,09
lea dx,msg2
int 21h
jmp SALIR

POSITIVO:
mov ah,09
lea dx,msg3
int 21h
jmp SALIR

NEGATIVO:
mov ah,09
lea dx,msg4
int 21h
jmp SALIR

;SALIR:
mov ah,07
int 21h
mov ax,4ch
int 21h

begin endp
end

2.     RESUMEN:
Una instrucción de salto produce un cambio en la ejecución del programa pasando a una nueva posición, no secuencial. La dirección del salto se representa con una etiqueta.

3.     SUMMARY:
A jump instruction produces a change in program execution moving to a new position, not sequential. The jump direction is represented by a label.
4.     RECOMENDACIONES:
*      Se necesita predecir dirección y objetivo de salto.
*      La dirección real solo se conoce después de ejecutar la instrucción.
*      Una predicción incorrecta origina un vaciado total del cauce.

5.     CONCLUSIONES:
*      Los Saltos Condicionales son similares a JMP en la sintaxis, pero la diferencia es el nombre.
*      Las instrucciones son las siguientes
JE o JZ.
*      Su objetivo es saltar si la última comparación realizada da igual.

6.     APRECIACIÓN DEL EQUIPO:
*      Nos permite facilitar para la realización de nuestro trabajo y estudio un una investigación o escribir un texto o realizar un análisis estadístico, entre otros.

DIAPOSTIVA:  

7.     LINKOGRAFÍA:






Comentarios

  1. Buena PRESENTACION. Se recomienda ILUSTRAR el TEMA y agregar mas ejemplos. Gracias por su investigación y aporte. Saludos

    ResponderEliminar

Publicar un comentario

Entradas populares de este blog

LENGUAJE ENSAMBLADOR CON ARREGLOS

FASES PARA CREACIÓN DE UNA BASE DE DATOS

MODELO RELACIONAL