Test Foro de elhacker.net SMF 2.1

Programación => Programación General => ASM => Mensaje iniciado por: giraffe en 28 Marzo 2016, 06:44 AM

Título: Sintaxis del condicional JB en Assembler
Publicado por: giraffe en 28 Marzo 2016, 06:44 AM
Muchachos quería saber si ustedes me podrían decir como es la sintaxis de JB y de JBE en Assembler, muchas gracias por las respuestas.
Título: Re: Sintaxis del condicional JB en Assembler
Publicado por: fary en 28 Marzo 2016, 07:29 AM
Hola buenas,

Esas instrucciones se utilizan normalmente después de usar la instrucción CMP, pero se pueden usar seguidas de otras instrucciones. Básicamente se guían por las banderas, es decir saltan si determinadas banderas están activadas o desactivadas.

Son instrucciones de salto condicional... Por ejemplo si tras realizar una comparación  la comparación es menor o igual la bandera CF se activa y el salto con la etiqueta JB se ejecuta.

JBE salta por la mismas circunstancias que JB solo que también salta si la bandera ZF esta activada, cualquiera de las dos banderas le sirve para saltar mientras que sean menor o igual solo que  JB solo salta con la bandera CF.

La sintaxis de estas instrucciones es sencilla.

JB ETIQUETA
JBE ETIQUETA

Espero que lo hallas entendido.

Saludos.
Título: Re: Sintaxis del condicional JB en Assembler
Publicado por: crack81 en 28 Marzo 2016, 07:43 AM
Hola añadiendo a lo que dice fary  te dejo este ejemplo

Código (asm) [Seleccionar]
mov al,13 ; al =13
cmp al,13 ; comparamos si al es igual a 13
JB etiqueta ; salta si el primer operando es menor que el segundo operando( al<13)

;si no salta es que el primer operando es mayor o igual que el segundo operando

salir:
ret


etiqueta:  ;si el primer operando es menor que el segundo llegamos hasta aqui
;codigo
JMP salir ;saltamos a salir


JBE es similar a JB con la diferencia de que salta si el primer operando es menor o igual que el segundo operando

Código (asm) [Seleccionar]
mov al,13 ; al=13
cmp al,21;comparamos los dos operandos
JBE etiqueta ;salta si el primer operando es menor o igual  que el segundo operando( al<=21)


Si tienes dudas avisa.
//Salutos...