【发布时间】:2010-02-24 16:17:40
【问题描述】:
我想用 NASM 汇编语言编程。我有 NASM 2.07 和 Borland C++ 编译器 5.0 (bcc32)。我的操作系统是 Windows 7。我不知道如何在 Windows 平台上使用 NASM 进行输入和输出。请问你能帮我吗?
【问题讨论】:
-
你的问题表明你在问之前没有做任何研究。
标签: nasm
我想用 NASM 汇编语言编程。我有 NASM 2.07 和 Borland C++ 编译器 5.0 (bcc32)。我的操作系统是 Windows 7。我不知道如何在 Windows 平台上使用 NASM 进行输入和输出。请问你能帮我吗?
【问题讨论】:
标签: nasm
最简单的方法是调用 Win32 函数,可通过链接 kernel32 库 (IIRC) 访问。
【讨论】:
您可以使用“C”函数“printf”和“scanf”。 为此,您需要将其声明为“extern”。 有一个简单的例子:
section .data
input_string db 0
format db "%s", 0
output_string1 db "type something", 10, 0 ; "type something\n"
output_string2 db "you wrote: %s", 0
extern _printf
extern _scanf
section .text
global _main
_main: ; int main()
push output_string1 ;
call _printf ; printf(string1);
add esp, 4 ;
push output_string1 ;
push format ;
call _scanf ; scanf(format, string1);
add esp, 8 ;
push input_string ;
push output_string2 ;
call _printf ; printf(output_string2, input_string);
add esp, 8 ;
xor eax, eax ; return 0;
ret ;
【讨论】: