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 :D

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: ,

  1. 9 Responses to “ASM: Setear a Cero”

  2. 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.

  3. By Bleach on Jul 20, 2007 | Reply

    Ademas xor eax,eax ocupa menos que mov eax,0

  4. By kEpEx on Jul 20, 2007 | Reply

    en donde usas ASM en linux?

  5. 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…

  6. By necudeco on Jul 20, 2007 | Reply

    Sobre Linux kEpEx

  7. 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 :P

  8. 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.

  9. 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.

  10. 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

Post a Comment