ASM: Setear a Cero
July 19th, 2007 | by necudeco |Tengo una duda:
¿ Que diferencia hay entre xor ax,ax y mov ax, 0 ?
¿ Las dos instrucciones no ponen a 0 ax ?
Si alguien sabe la respuesta se lo agradecere
ACTUALIZACION: La operacion XOR por ser echa sobre un registro es mas rapida que la transferencia de informacion desde la memoria. Y ademas la operacion XOR ocupa menos espacio que la operacion MOV.
Gracias ChilliCoder y Bleach
Technorati Tags: asm, desarrollo



9 Responses to “ASM: Setear a Cero”
By ChilliCoder on Jul 19, 2007 | Reply
Cuando haces xor ax, ax es una operación que se aplica directamente en el registro. mov ax, 0 implica la transferencia del contenido de una posición de memoria (donde está almacenado el cero) al registro. Este último método es obviamente más lento.
By Bleach on Jul 20, 2007 | Reply
Ademas xor eax,eax ocupa menos que mov eax,0
By kEpEx on Jul 20, 2007 | Reply
en donde usas ASM en linux?
By kEpEx on Jul 20, 2007 | Reply
Soy yo o no funciona navegar en las categorias?
Intento entrar a assembler y me muestra igual la principal, y lo mismo con Personal y otros…
By necudeco on Jul 20, 2007 | Reply
Sobre Linux kEpEx
By kEpEx on Jul 20, 2007 | Reply
bueno, mas bien, que compilador usas, lo otro era obvio ¬¬
que documentacion lees?
grafico o solo shell?
para que lo usas?
alomejor son muchas preguntas, pero estoy interesado
By necudeco on Jul 20, 2007 | Reply
Uso nasm, solo linea de comandos ( aunque lo ejecuto desde anjuta ).
Para que lo uso, mira la categoria Loki.
By Guti on Oct 14, 2007 | Reply
Basicamente hay dos diferencias.
1) El mov pone el ZF a activo.
2) En procesadores antiguos, era algo más eficiente el xor, mientras que en los modernos la ventaja está solo en el caché y el paralelismo, ya que ocupa menos espacio.
By Guti on Oct 14, 2007 | Reply
Por cierto, que algo muy parecido se aplica a:
cmp eax, 0
contra
test eax, eax
Realmente el los viejos tiempos, habÃa infinidad de truquitos de este estilo.
Incluso habÃa cosas curiosas para CPU <= 80286, por ejemplo era más veloz:
inc ax
inc ax
que:
add ax, 2