I have another question. If you're not willing to put any effort into this, why should I?
Oh alright... you did say "please"...
This is for Linux. I'm not going back to Windows even if you say 'Pretty please with sugar on it'!
The "--prefix _" should put underscores on "main", "scanf", and "printf" and make it work for 'doze. I hope...
I made "t" a global variable, not local/automatic as your C program showed. Simpler, IMO. If you want it local, TRY IT!
; Linux nasm -f elf32 prog.asm
; 'doze nasm -f win32 --prefix _ prog.asm
; gcc -m32 -o prog(.exe) prog.o
global main
extern scanf
extern printf
section .text
main:
push ebp
mov ebp, esp
push t
push fmt
call scanf
push dword [t]
push fmt
call printf
mov esp, ebp
pop ebp
ret
fmt db "%d", 0
section .bss
t resd 1
Best,
Frank