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

 

 


Tema destacado: Recuerda que debes registrarte en el foro para poder participar (preguntar y responder)


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General
| | |-+  ASM (Moderador: Eternal Idol)
| | | |-+  Sumas de 32 bits con registros de 16
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Sumas de 32 bits con registros de 16  (Leído 6,552 veces)
[Kayser]

Desconectado Desconectado

Mensajes: 15


Ver Perfil
Sumas de 32 bits con registros de 16
« en: 18 Enero 2013, 19:32 pm »

Hola gente ando estudiando ensamblador y no comprendo como se harian las sumas que exceden las capacidades de los registros. Como se deberia efectuar una suma de por ejemplo 240.000 mas 300.000 con registros de 16 bits? Si alguien puede explicarmelo y poner un codigo comentado seria de gran ayuda. Un saludo


En línea

MCKSys Argentina
Moderador Global
***
Desconectado Desconectado

Mensajes: 5.524


Diviértete crackeando, que para eso estamos!


Ver Perfil
Re: Sumas de 32 bits con registros de 16
« Respuesta #1 en: 18 Enero 2013, 23:18 pm »

Fijate esto: http://x86asm.net/articles/working-with-big-numbers-using-x86-instructions/

Explica como hacer operaciones de 64 bits en 32. La idea es similiar a operar numeros de 32 bits en 16...


En línea

MCKSys Argentina

"Si piensas que algo está bien sólo porque todo el mundo lo cree, no estás pensando."

[Kayser]

Desconectado Desconectado

Mensajes: 15


Ver Perfil
Re: Sumas de 32 bits con registros de 16
« Respuesta #2 en: 19 Enero 2013, 13:43 pm »

Gracias por responder MCKSys Argentina! Pero la informacion esta en ingles... Puedes ponerme un codigo de ejemplo? Un saludo
En línea

3mp3z@ndo

Desconectado Desconectado

Mensajes: 51


Ver Perfil
Re: Sumas de 32 bits con registros de 16
« Respuesta #3 en: 19 Enero 2013, 14:44 pm »

Lo harías utilizando la instrucción ADC, para tener en cuenta el bit de acarreo.

Te pongo un pequeño ejemplo:

Código
  1. int _tmain(int argc, _TCHAR* argv[])
  2. {
  3.  
  4. int num1= 240000, num2= 300000, resultado;
  5.  
  6. __asm{
  7. mov ax, word ptr num1
  8.  
  9.        add ax, word ptr num2
  10.  
  11. mov word ptr resultado, ax
  12.  
  13. mov ax, word ptr num1+2
  14.  
  15. adc ax, word ptr num2+2
  16.  
  17. mov word ptr resultado+2, ax
  18. }
  19. cout << num1 << "+" << num2 << "=" << resultado << endl;
  20. return 0;
  21. }
  22.  

Un saludo
« Última modificación: 19 Enero 2013, 15:11 pm por 3mp3z@ndo » En línea

[Kayser]

Desconectado Desconectado

Mensajes: 15


Ver Perfil
Re: Sumas de 32 bits con registros de 16
« Respuesta #4 en: 20 Enero 2013, 12:55 pm »

Lo que no me queda claro es que pasa al sumar la parte baja y la parte alta... Cuando se suman tanto la parte alta por un lado como la parte baja por el otro se produciran mas de un acarreo cada vez a medida que se suman los numeros no?
En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Sumas en campos
Programación Visual Basic
chofoman 3 2,317 Último mensaje 6 Diciembre 2005, 19:06 pm
por JuszR
Sumas por página con DataReport
Programación Visual Basic
lightningdd 0 1,410 Último mensaje 27 Noviembre 2007, 02:06 am
por lightningdd
[Registros] existe algún registro para Outlook en los registros de windows?
Windows
moikano→@ 5 7,507 Último mensaje 14 Febrero 2011, 14:56 pm
por dantemc
Duda, sumas en Python
Scripting
JUSTDOIT! 3 4,343 Último mensaje 6 Marzo 2011, 17:10 pm
por Shell Root
posibles combinaciones de sumas de campos
PHP
romanjr 0 2,162 Último mensaje 15 Febrero 2012, 20:11 pm
por romanjr
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines