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:
SLIDESHARE
http://www.slideshare.net/RAFAELHONORESVERA/salto-condicional-69321913
No hay comentarios:
Publicar un comentario