Hola, estoy trabajando con nasm. Me piden q haga un programa en ensambaldor que me pida un valor, lo lea, y lo vuelva a imprimir con sus respectivos mensajes, utilizando las funciones de C printf y scanf. El programa en ensamblador q he hecho es este:
-   
- %include "asm_io.inc" 
-   
- segment .data 
-     prompt1  db "Ingrese valor : " 
-     prompt2  db "%f",0 
-         prompt3  db "El valor ingresado es %f",10,0 
-   
- segment .bss 
-     a  resd 1 
-   
- segment .text 
-         global pedir 
-     extern printf, scanf 
-   
-     pedir: 
-             enter   0,0               ; setup routine 
-             pusha 
-      
-         ;printf(prompt1) 
-         push prompt1 
-         call printf 
-         add esp,4 
-      
-         ;scanf("%f",&a) 
-         push a 
-         push prompt4 
-         call scanf 
-         add esp,8 
-         
-         push dword[a] 
-         push prompt6 
-         call printf 
-         add esp, 8 
-      
-     salir:           
-         popa 
-             mov     eax, 0            ; return back to C 
-             leave                      
-             ret 
-   
-   
Lo que no se es como llamarlo desde un programa en C, no necesita que le pase parametros, solo llamarlo. Agradeceria mucho su ayuda