拨开荷叶行,寻梦已然成。仙女莲花里,翩翩白鹭情。
IMG-LOGO
主页 文章列表 在64位masm中打印hello

在64位masm中打印hello

白鹭 - 2022-02-02 2123 0 0

我是编程的菜鸟。
我想写一个程序在 64 位 masm 中显示你好。
我将 VS 代码与 ml64.exe 和 gcc 一起使用。
以下是我写的:

;; file name: hello.asm
printf proto

.data
    messenge dq "hello", 0

.code
main proc
    sub rsp, 40h
    mov rcx, messenge
    call printf
    add rsp, 40h
    ret
main endp

end

我撰写了一个脚本来组装、链接和执行:

@:: file name: run.cmd
@ml64 /c hello.asm
@gcc -o hello.exe hello.obj
@del *.obj
@hello.exe

它是这样的:

C:\code\MASM>run.cmd
Microsoft (R) Macro Assembler (x64) Version 14.25.28614.0
Copyright (C) Microsoft Corporation.  All rights reserved.

 Assembling: hello.asm

它没有输出你好字符串。
我该如何解决?

uj5u.com热心网友回复:

我只用ml64 hello.asm(没有 gcc)来构建它

;; file name: hello.asm
printf proto
includelib msvcrt.lib
includelib legacy_stdio_definitions.lib

.data
    messenge db "hello", 13, 0

.code
main proc
    sub rsp, 40h
    mov rcx, offset messenge
    call printf
    add rsp, 40h
    ret
main endp

end

基本上就是迈克尔所说的。

标签:

0 评论

发表评论

您的电子邮件地址不会被公开。 必填的字段已做标记 *