如何在x86 MASM VS 2022中显示Hello World?

问题描述 投票:0回答:1

我是汇编新手,我想学习如何在不依赖 MASM32 sdk 或 Irvine32 设置等的情况下使用它。我要求 gpt 为我生成一个代码,但它一直给我使用 MASM32 SDK 中的

.inc
文件和
.lib
文件。有什么方法可以在不依赖这些设置的情况下显示
Hello World

assembly x86 masm
1个回答
0
投票

创建空控制台项目。将 asm 源文件复制到项目目录(如果尚不存在)。在项目中,右键单击源文件名 属性

从构建中排除 - 更改为“否”

假设文件名为 x.asm。

自定义构建步骤命令行:

ml /c /Fo$(OutDir)\x.obj x.asm

自定义构建步骤输出:

$(OutDir)\x.obj

示例代码:

        .686p                   ;enable instructions
        .xmm                    ;enable instructions
        .model flat,c           ;use C naming convention (stdcall is default)

;       include C libraries
        includelib      msvcrtd
        includelib      oldnames
        includelib      legacy_stdio_definitions.lib    ;for scanf, printf, ...

        .data                   ;initialized data
pfstr   db      "Hello world!",0dh,0ah,0
        .data?                  ;uinitialized data
        .stack  4096            ;stack (optional, linker will default)

        .code                   ;code 
        extrn   printf:near
        public  main

main    proc

        push    offset pfstr
        call    printf
        add     esp,4 

        xor     eax,eax
        ret
main    endp

        end
© www.soinside.com 2019 - 2024. All rights reserved.