Saltar al contenido

Ejemplo de instrucción Assembly JLE jmp

Solución:

El salto mismo comprueba las banderas en el registro EFL. Por lo general, se establecen con TEST o CMP (o como efecto secundario de muchas otras instrucciones).

CMP ebx,10
JLE there
  • CMP corresponde a calcular la diferencia de los operandos, actualizar las banderas y descartar el resultado. Usado normalmente para cheques mayores / menores
  • TEST corresponde al cálculo del AND binario de los operandos, actualizando los flags y descartando el resultado. Normalmente se utiliza para verificaciones de igualdad.

Ver también: El arte del lenguaje ensamblador en CMP

Como nota al margen: debe obtener los manuales de referencia de Intel. En particular, las dos partes “Manual del desarrollador de software de arquitecturas Intel® 64 e IA-32 Volumen 2: Referencia del conjunto de instrucciones”, que describe todas las instrucciones x86.

JLE La instrucción lleva a cabo dos pruebas:

  • Bandera firmada (SF)! = Bandera de desbordamiento (OF)
  • Cero bandera (ZF) == 1

Si los indicadores de cero es 1 y el indicador firmado y el indicador de desbordamiento no son iguales, salto relativo corto será ejecutado.

Tal vez solo una palabra como CMP la instrucción funciona. CMP la instrucción es como SUB (restar), pero el registro de destino no se actualizará después de la ejecución. Entonces el siguiente código realizará el mismo resultado como CMP ebx, 10. Las instrucciones CMP y SUB afectan a las banderas: banderas de acarreo, paridad, auxiliar, cero, señal y desbordamiento.

push   ebx            //store ebx value to stack
sub    ebx, 10
pop    ebx            //restore ebx value from stack

El ensamblado x86 usa un sistema de indicadores de bits que representan el resultado de comparaciones. Las instrucciones de salto condicional utilizan estas banderas al decidir si realizar el salto o no.

En su caso, utilizaría las siguientes dos instrucciones:

cmp ebx, 10     ; compare EBX and 10
jle label       ; jump if the previous comparison is "less than or equal"
…
label:
…
¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *