• Miércoles 20 de Noviembre de 2024, 12:31

Autor Tema:  Operador Suma De Mas De 16bits  (Leído 2253 veces)

LeGatoRojo

  • Miembro HIPER activo
  • ****
  • Mensajes: 552
  • Nacionalidad: mx
    • Ver Perfil
    • LeGatoRojo
Operador Suma De Mas De 16bits
« en: Miércoles 22 de Septiembre de 2004, 08:23 »
0
Hola quisiera ayuda para poder utilizar una funcion en esamblador que sume numeros mayores a 16 bits, alguien podria ayudarme.
Un día desperte y en lugar de dientes tenía colmillos, en lugar de manos, tenía garras; pero lo más impactante fue el color escarlata de mi pelaje.

andreumic

  • Nuevo Miembro
  • *
  • Mensajes: 11
    • Ver Perfil
Re: Operador Suma De Mas De 16bits
« Respuesta #1 en: Miércoles 22 de Septiembre de 2004, 16:24 »
0
Usa la instruccion  " adc ", es igual que add , pero tiene en cuenta el acarreo de la operacion anterior(se supone que es una suma, la operacion anterior).
  Así podras hacer sumas de tropecientosmilbits, claro que no creo que sea la manera óptima de trabajar con sumas, seguramente hay instrucciones a partir de la version 386 que son capaces de trabajar con palabras dobles.
  Esto te puede servir cuando trabajas ya con numeros similares al "long long" del C estandarizado moderno, que tiene 12 o mas bytes.

Para restar hay una operacion que hace lo mismo(pero, obviamente, restando), esta es sbb.

Un ejecmplo de adc :(lo pongo en sintaxis at&t)

;suponemos que ax y cx forman un numero de 32 bits
;y que bx y dx forman otro numero de 32 bits

add %ax, %bx  ;(suponiendo que valen 111111111111111 los dos)

; el resultado dado por la operacion será 111111111111110 y el carry flag se
;pondra a 1
;entonces se hace la operacion adc que tiene en cuenta ese bit para acabar
;de hacer la suma(cx y dx tienen la parte mas "grande" de los numeros de 32 bits)

adc %cx, %dx ; y yasta! Aunque... no he tenido en cuenta el signo... :(

LeGatoRojo

  • Miembro HIPER activo
  • ****
  • Mensajes: 552
  • Nacionalidad: mx
    • Ver Perfil
    • LeGatoRojo
Re: Operador Suma De Mas De 16bits
« Respuesta #2 en: Jueves 23 de Septiembre de 2004, 07:08 »
0
Gracias, me sirvio de ayuda, con el acarreo ya puedo usar otro byte, gracias
Un día desperte y en lugar de dientes tenía colmillos, en lugar de manos, tenía garras; pero lo más impactante fue el color escarlata de mi pelaje.

andreumic

  • Nuevo Miembro
  • *
  • Mensajes: 11
    • Ver Perfil
Re: Operador Suma De Mas De 16bits
« Respuesta #3 en: Jueves 23 de Septiembre de 2004, 18:24 »
0
Weno, de nada pero... ahora me he picado.. y... la multiplicación y la división ... ¿como se harían?

Piensa en ello, pk si lo vas a nacesitar parece algo complicaillo...

LeGatoRojo

  • Miembro HIPER activo
  • ****
  • Mensajes: 552
  • Nacionalidad: mx
    • Ver Perfil
    • LeGatoRojo
Re: Operador Suma De Mas De 16bits
« Respuesta #4 en: Lunes 27 de Septiembre de 2004, 08:38 »
0
je pues segun se puede hacer con corrimiento logico a la izquierda, pero por mas que uso shl en c++ o macroensamblador me marca error
Un día desperte y en lugar de dientes tenía colmillos, en lugar de manos, tenía garras; pero lo más impactante fue el color escarlata de mi pelaje.