Foros del Web » Programación para mayores de 30 ;) » Programación General »

Suma de Flotantes con ASM y C

Estas en el tema de Suma de Flotantes con ASM y C en el foro de Programación General en Foros del Web. Solicito su ayuda para la resolución de este ejercicio. Se me ha dado un fragmento de codigo en C que ejecuta la suma de 2 ...
  #1 (permalink)  
Antiguo 25/02/2014, 20:23
 
Fecha de Ingreso: octubre-2011
Mensajes: 9
Antigüedad: 13 años, 1 mes
Puntos: 0
Suma de Flotantes con ASM y C

Solicito su ayuda para la resolución de este ejercicio.
Se me ha dado un fragmento de codigo en C que ejecuta la suma de 2 numeros de punto flotante utilizando un codigo en ensamblador

Este es el Codigo en C

Código C:
Ver original
  1. #include <stdio.h>
  2.  
  3. int main(){
  4.     float x, y, z;
  5.  
  6.     printf("Escribe el primer numero: ");
  7.     scanf("%f", &y);
  8.     printf("\nEscribe el segundo numero: ");
  9.     scanf("%f", &z);
  10.    
  11.     x = asm_main( );
  12.    
  13.     printf("la suma es %f\n",x);
  14.  
  15. return;
  16. }

Y este es el codigo en ensamblador usando NASM en una arquitectura x86 que debo modificar (este codigo fue hecho para la suma de numeros enteros)
Código asm:
Ver original
  1. segment .text
  2.     global asm_main
  3.  
  4. asm_main:
  5.     push  ebp
  6.     mov   ebp, esp
  7.     mov   eax, dword [esp+28]
  8.     add   eax, dword [esp+32]
  9.     mov   esp, ebp
  10.     pop   ebp
  11.     ret

Hasta ahora no he logrado que la suma se realice, pero supongo que son necesarias las instrucciones fld, faddp y fstp

Si cualquiera pudiese orientarme en la resolución de este ejercicio les estare agradecido.
  #2 (permalink)  
Antiguo 27/02/2014, 20:20
 
Fecha de Ingreso: enero-2012
Ubicación: Buenos Aires
Mensajes: 745
Antigüedad: 12 años, 10 meses
Puntos: 35
Respuesta: Suma de Flotantes con ASM y C

Estás obteniendo algún error? Por qué no le pasas los valores que quieres sumar como argumentos? Prueba imprimiendo los valores que recibes a ver si son los que esperas que sean.


Etiquetas: ensamblador
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 23:04.