Está en la página 1de 3

Guía 2 Ensamblador

Banderas de Condición

Bandera Descripción Instrucción en C

CF Bandera de acarreo, usada para (unsigned)t <(unsigned)a


detector overflow en operaciones
sin signo
ZF Cero, usada cuando la operación (t==0)
sin signo más reciente genera
como resultado cero
SF Bandera de signo, usada cuando la T<0
operación mas reciente produjo un
valor negativo
OF Bandera de overflow, usada (a<0 == b<0)&&(t<0 !=a<0)
cuando la operación más reciente
en ca2 se desborda

Instrucciones de comparación

Instrucción Descripción
cmp s2,s1 s1-s2
cmpb Compara a byte
cmpw Compara palabras
cmpl Compara doble palabra

Instrucción Descripción
Test s2,s1 s1&s
testb Verifica a byte 2
testw Verifica a palabra
testl Verifica a doble palabra

Instrucción Efecto Descripción


sete D /setz D ZF Compara si el valor es igual a cero
setne / setnz DZf Compara si el valor es distinto de cero
sets D DSF Verifica se el valor es negativo
setns D~SF Verifica se el valor es positivo
Instrucciones de saltos

Instrucción Sinónimo Condición de salto Descripción


Jump etiqueta 1 Salto Directo
Jump *operandp 1 Salto Indirecto
Je etiqueta jz ZF Salto si es igual a cero
Jne etiqueta jnz ~ZF Salto si el valor es distinto de cero
Js Etiqueta SF Salta si el valor es negativo
Jns etiqueta ~SF Salta si el valor es positivo
Jg etiqueta jnle ~(SF^OF)&~ZF Salto mayor (>) con signo
Jge etiqueta Jnl ~( SF^OF) Salto mayo o igual (>=) con signo
Jl etiqueta Jnge SF^OF Salto menor (<) con signo
Jle etiqueta Jng SF^OF|ZF Salto menor o igual que (<=)
Ja etiqueta Jnbe ~CF&~ZF Salto mayor(> ) sin signo
Jae etiqueta Jnb ~CF Salto mayor o igual que (>=) sin signo
Jb etiqueta Jnae CF Salto menor (<) sin signo
Jbe etiqueta jna CF|ZF Salto menor o igual que (<) sin signo

Movimientos condicionales

Instrucción Sinónimo Condición de Descripción


Movimiento
cmove F,D cmovz ZF Igual a cero

cmovne F,D cmovnz ~ZF Distinto de cero

cmovs F,D SF Compara si el valor es negativo

cmovns F,D ~SF Compara si el valor es positivo

cmovg F,D cmovnle ~(SF^OF)&~ZF compara si el valor es mayor (> con


signo )
cmovge F,D cmovnl ~(SF^OF) compara si el valor es mayor o igual
(> =con signo )

cmovl F,D cmovnge SF^OF compara si el valor es menor (<= con


signo )

cmovle F,D cmovng (SF^OF)|ZF compara si el valor es menor o igual


(<= con signo )

cmova F,D cmovnbe ~CF&~ZF compara si el valor es mayor (> sin


signo )

cmovae F,D cmovnb ~CF compara si el valor es mayor o igual


(> = sin signo )

cmovb F,D cmovnae CF compara si el valor es menor (< sin


signo )

cmovbe F,D cmovna CF|ZF compara si el valor es menor o igual


(<= sin signo )

También podría gustarte