domingo, 20 de noviembre de 2016

SALTO CONDICIONAL

                       

 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

     RESUMEN:
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.

   SUMMARY:
     It is a point of a computer program where the flow of the program is altered. Jump terms are often used to refer to programs written in assembly language; In high-level languages, jumps usually take the form of conditional statements, called subroutines or GOTO statements.

      RECOMENDACIONES:
      Se necesita tener conocimiento sobre el tema para saber la dirección y objetivo de salto.
      Se puede decir que una dirección real solo se conoce después de ejecutar la instrucción.

    CONCLUSIONES:
     Si bien podemos percatarnos los Saltos Condicionales son similares a JMP en la sintaxis, la diferencia es el nombre.

   APRECIACIÓN DEL EQUIPO:
    esto nos es de gran ayuda ya que teniendo un buen conocimiento sobre este tema nos permitirá una facilidad para la realización de nuestro trabajo y estudio de una investigación.

   LINKOGRAFÍA:

      http://learnassembler.com/salto.html


                                                           SLIDESHARE 

             http://www.slideshare.net/RAFAELHONORESVERA/salto-condicional-69321913





No hay comentarios:

Publicar un comentario