首页 > 解决方案 > 如何编译简单的汇编windows程序?

问题描述

我正在尝试编译这样一个简单的assemblyHello World 程序:

    global  _main
    extern  _printf

    section .text
_main:
    push    message
    call    _printf
    add     esp, 4
    ret
message:
    db  'Hello, Worldsssss', 10, 0

我想只使用ml.exeMSVC 2019安装中的编译它,但是当我运行时:

ml .\HelloWorld_5.asm

我越来越:

.\HelloWorld_5.asm(8) : error A2008:syntax error : global
.\HelloWorld_5.asm(9) : error A2008:syntax error : in directive
.\HelloWorld_5.asm(11) : error A2008:syntax error : section
.\HelloWorld_5.asm(12) : error A2034:must be in segment block
.\HelloWorld_5.asm(13) : error A2034:must be in segment block
.\HelloWorld_5.asm(14) : error A2034:must be in segment block
.\HelloWorld_5.asm(15) : error A2034:must be in segment block
.\HelloWorld_5.asm(16) : error A2034:must be in segment block
.\HelloWorld_5.asm(17) : error A2034:must be in segment block
.\HelloWorld_5.asm(18) : error A2034:must be in segment block
.\HelloWorld_5.asm(18) : error A2088:END directive required at end of file

请不要告诉我使用masm.exe,我想使用ml

使用什么选项来ml编译没有问题?

标签: windowsvisual-studioassembly

解决方案


推荐阅读