Windows 7中的NASM程序中的I / O.

时间:2010-02-24 16:17:40

标签: nasm

我想用NASM汇编语言编程。我有NASM 2.07和Borland C ++编译器5.0(bcc32)。我的操作系统是Windows 7.我不知道如何在Windows平台上使用NASM进行输入和输出。你能帮帮我吗?

4 个答案:

答案 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                 ;