elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Los 10 CVE más críticos (peligrosos) de 2020


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General
| | |-+  ASM (Moderador: Eternal Idol)
| | | |-+  ¿Que hace AND?
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] 2 Ir Abajo Respuesta Imprimir
Autor Tema: ¿Que hace AND?  (Leído 5,998 veces)
Erik#


Desconectado Desconectado

Mensajes: 1.138


Gundam


Ver Perfil
¿Que hace AND?
« en: 6 Julio 2009, 13:42 pm »

Tengo una duda, que es lo que hace AND, porque en este code de yurix lo utiliza, yo os lo pongo como me lo he escrito yo en mi PC:

Código
  1. include 'win32ax.inc'
  2. .data
  3. jx db 'Es impar',0
  4. .code
  5. start:
  6. mov eax,5
  7. and eax,1
  8. jnz impar
  9. ret
  10. impar:
  11. push 0
  12. push jx
  13. push jx
  14. push 0
  15. call [MessageBoxA]
  16. ret
  17. .end start  


En línea

Lewert

Desconectado Desconectado

Mensajes: 231



Ver Perfil
Re: ¿Que hace AND?
« Respuesta #1 en: 6 Julio 2009, 13:49 pm »

Citar
AND Destino, Dato

Imaginemos que tenemos guardado en eax el valor 101011 y en ebx el valor 011101. Tras hacer “and eax, ebx” nos quedaría guardado en eax el valor  001001.
Sacado del Tutorial de ASM de E0N ;)
Es decir que "and eax, 1" aplica el operador AND a eax y 1 y guarda el resultado en eax.


En línea

Crack the bytes, crack yourself
Eternal Idol
Kernel coder
Moderador
***
Desconectado Desconectado

Mensajes: 5.958


Israel nunca torturó niños, ni lo volverá a hacer.


Ver Perfil WWW
Re: ¿Que hace AND?
« Respuesta #2 en: 6 Julio 2009, 14:00 pm »

Es una operacion logica aplicada a cada bit del destino y la fuente, si ambos son 1 entonces el resultado sera 1 sino sera 0. 1 es T (true) y 0 es F (false), la tabla de verdaderos de AND es simple:
T T T
T F F
F T F
F F F

http://pdos.csail.mit.edu/6.828/2006/readings/i386/AND.htm

http://en.wikipedia.org/wiki/Logical_AND
http://en.wikipedia.org/wiki/Binary_and
http://en.wikipedia.org/wiki/Bitwise_operation#AND

En este caso es como Lewert dice, la operacion se realiza entre eax (5) y 1, el objetivo es determinar si el numero es par:

5 = 00000101
AND
1 = 00000001
----------------
1 = 00000001

Al usar este tipo de and en eax nos aseguramos que el numero sera 1 si no es par o 0 si lo es (un numero par no tiene el primer bit nunca).
« Última modificación: 6 Julio 2009, 14:04 pm por Eternal Idol » En línea

La economía nunca ha sido libre: o la controla el Estado en beneficio del Pueblo o lo hacen los grandes consorcios en perjuicio de éste.
Juan Domingo Perón
Erik#


Desconectado Desconectado

Mensajes: 1.138


Gundam


Ver Perfil
Re: ¿Que hace AND?
« Respuesta #3 en: 6 Julio 2009, 14:42 pm »

Osea que se utiliza para sumar valores, no?
En línea

alki


Desconectado Desconectado

Mensajes: 308


Ver Perfil
Re: ¿Que hace AND?
« Respuesta #4 en: 6 Julio 2009, 14:46 pm »

Osea que se utiliza para sumar valores, no?

Multiplicar...

La suma seria un OR.

Un Saludo
En línea

Erik#


Desconectado Desconectado

Mensajes: 1.138


Gundam


Ver Perfil
Re: ¿Que hace AND?
« Respuesta #5 en: 6 Julio 2009, 15:02 pm »

A vale gracias, no me acordaba que lo de sumar era add.
En línea

Eternal Idol
Kernel coder
Moderador
***
Desconectado Desconectado

Mensajes: 5.958


Israel nunca torturó niños, ni lo volverá a hacer.


Ver Perfil WWW
Re: ¿Que hace AND?
« Respuesta #6 en: 6 Julio 2009, 15:05 pm »

No ... se usa para hacer un AND logico ... y un OR no es una suma 5 OR 1 es 5 ... lean un poco por favor.
« Última modificación: 6 Julio 2009, 15:08 pm por Eternal Idol » En línea

La economía nunca ha sido libre: o la controla el Estado en beneficio del Pueblo o lo hacen los grandes consorcios en perjuicio de éste.
Juan Domingo Perón
alki


Desconectado Desconectado

Mensajes: 308


Ver Perfil
Re: ¿Que hace AND?
« Respuesta #7 en: 6 Julio 2009, 15:59 pm »

No ... se usa para hacer un AND logico ... y un OR no es una suma 5 OR 1 es 5 ... lean un poco por favor.

Claro.. pero la correspondencia en operaciones de un solo bit el OR se parece a una suma y el AND a una multiplicacion. Pense que el lo preguntaba por eso.

Ademas creo que a el le quedaria claro que el AND no multiplica despues de ver tu ejemplo (5 AND 1 = 1) xDD.

Un Saludo
En línea

Eternal Idol
Kernel coder
Moderador
***
Desconectado Desconectado

Mensajes: 5.958


Israel nunca torturó niños, ni lo volverá a hacer.


Ver Perfil WWW
Re: ¿Que hace AND?
« Respuesta #8 en: 6 Julio 2009, 19:07 pm »

Claro.. pero la correspondencia en operaciones de un solo bit el OR se parece a una suma y el AND a una multiplicacion. Pense que el lo preguntaba por eso.

0 OR 0 = 0, 1 OR 1 = 1. El AND en bit si; 34 AND 1 = 0.

Ademas creo que a el le quedaria claro que el AND no multiplica despues de ver tu ejemplo (5 AND 1 = 1) xDD.

Si se penso que sumaba  ;D :-X
« Última modificación: 7 Julio 2009, 19:35 pm por Eternal Idol » En línea

La economía nunca ha sido libre: o la controla el Estado en beneficio del Pueblo o lo hacen los grandes consorcios en perjuicio de éste.
Juan Domingo Perón
Yurix

Desconectado Desconectado

Mensajes: 72


Paz para la guerra y guerra por la paz


Ver Perfil
Re: ¿Que hace AND?
« Respuesta #9 en: 7 Julio 2009, 18:31 pm »

Hola erik

Como trabaja AND :
Es muy facil.And lo que hace es multiplicar los bits por ejemplo si es

destino * fuente

0 * 0 = 0
0 * 1 = 0
1 * 0 = 0
1 * 1 = 1

Es muy fácil.




En línea



http://kapetres.wordpress.com/ < Mi blog sobre ASM

Parece que alguien no quiere que la info sea liebre >

Alguien lo movio a ese lugar.
Páginas: [1] 2 Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Portatil hace Tic-tac
Electrónica
diegoCmC 1 5,768 Último mensaje 19 Junio 2013, 07:03 am
por djfunta
¿Que se hace en una maestrias?
Foro Libre
U_Vpla 1 1,637 Último mensaje 6 Febrero 2017, 04:55 am
por JS3
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines