• Viernes 29 de Marzo de 2024, 07:16

Autor Tema:  Re: suma de dos numeros  (Leído 4040 veces)

lestat_mike

  • Nuevo Miembro
  • *
  • Mensajes: 1
    • Ver Perfil
Re: suma de dos numeros
« en: Lunes 18 de Noviembre de 2002, 02:24 »
0
Hola a todos, necesito un codigo en ensamblador para los procesadores intel que lea de teclado dos numero, los sume, y presente en pantalla el resultado, agradeceria que alguien me pudiera enviar el codigo o algo que me pueda ayudar, y de paso un compilador de ensamblador;), pero cualquier cosa que me puedan enviar para ayudarme es bienvenida, thanks:P

deldar

  • Miembro activo
  • **
  • Mensajes: 93
    • Ver Perfil
Re: suma de dos numeros
« Respuesta #1 en: Lunes 9 de Diciembre de 2002, 23:54 »
0
Lee de teclado con una de las int que hay para eso (estan en todos los libros de la materia.
Lo que lees es un codigo ascii ,que pasas a numero restando 48 (decimal) y lo guardas en un registro libre.
Lees el segundo numero y los sumas con add
Para mostrarlos tb tienes int ,tendras que mostrar número a número , esta vez sumando 48(valor -->ascii).
No es el codigo pero está todo.
Quien de verdad sabe de qué habla, no encuentra razones para levantar la voz.

Astor

  • Miembro MUY activo
  • ***
  • Mensajes: 112
    • Ver Perfil
Re: suma de dos numeros
« Respuesta #2 en: Miércoles 5 de Febrero de 2003, 18:05 »
0
No alcanza con sumarle o restarle 48 para pasar de Hexa a Decimal o viceversa. Eso solo sirve para un solo digito. Si alguien ingresara el string "432"

Deberias comenzar a hacer divisiones sucesivas, por ejemplo por 100(luego de obviamente haber restado 48d a cada digito caracter). El resultado va a ser 4 y el resto 32.
A ese 4 lo multiplicas por 100 y lo pones en un registro. EL resto (32) lo divis por 10 ahora, y al resultado, 3, lo multiplicas por 10 y se lo sumas al registro que contenia el 400. Asi seguis hasta que dividis y multiplicas por 1.

Si vas  a trabajar con numeros de 16 bits por ejemplo deberias comenzar a hacer las divisiones sucesivas arrancando por 10.000

Al terminar vas a haber hecho algo similar a la funcion Atoi de C.

deldar

  • Miembro activo
  • **
  • Mensajes: 93
    • Ver Perfil
Re: suma de dos numeros
« Respuesta #3 en: Viernes 7 de Febrero de 2003, 00:14 »
0
Astor estas suponiendo que se introducen todos los números de una tacada y luego se procesan o que estan en un registro ya introducido. El problema es tomar el número de teclado ,no se realizaria niguna division sino una multiplicacion x10 de forma que :
0x10 = 0
+(tecla-48) 4=4
nueva tecla
x10 = 40
+3=43
nueva tecla
x10=430
+2=432
es el proceso contrario
El proceso que tu indicas es muy util para mostrar el resultado en pantalla
Quien de verdad sabe de qué habla, no encuentra razones para levantar la voz.

Astor

  • Miembro MUY activo
  • ***
  • Mensajes: 112
    • Ver Perfil
suma de dos numeros
« Respuesta #4 en: Sábado 8 de Febrero de 2003, 20:54 »
0
Si tenes razon, explique todo al reves. Deben ser los efectos del alcohol, menos mal estabas para rectificarme.

Gracias y saludos.