我想用NASM汇编语言编程。我有NASM 2.07和Borland C ++编译器5.0(bcc32)。我的操作系统是Windows 7.我不知道如何在Windows平台上使用NASM进行输入和输出。你能帮帮我吗?
答案 0 :(得分:3)
如果您是NASM的新手,我建议不要使用Borland C ++ 5.0。我的网站here上有一个工具包,它是win32编程的完整工具链。
您修改main.asm,并运行make.bat来编译和链接它。它没有比这更容易。该软件包附带文档和关于NASM编程的电子书。
答案 1 :(得分:2)
最简单的方法是调用Win32函数,可以通过链接kernel32库(IIRC)来访问。
答案 2 :(得分:0)
使用nasm安装cygwin。 Cygwin是Windows的终端。查看本教程 http://www.avivos.net/gcc-g-c-and-cpp-compiler-and-ssh-in-windows-8-cygwin/ 实际上它是用于安装gcc和g ++但你可以用同样的方式选择nasm。
答案 3 :(得分:0)
您可以使用“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 ;