masm32 调用 stdout 没有输出

2023-12-12

我正在使用 masm32 在 Windows 7 上编译和链接,它与下面的代码一起工作得很好。然而,调用 stdOut 并不是简单地在命令提示符上打印任何内容。我究竟做错了什么?

.386

.model flat, stdcall
    option casemap:none

    include C:\masm32\include\windows.inc
    include C:\masm32\include\kernel32.inc
    include C:\masm32\include\user32.inc
    include C:\masm32\include\masm32.inc

    includelib C:\masm32\lib\kernel32.lib
    includelib C:\masm32\lib\user32.lib
    includelib C:\masm32\lib\masm32.lib

.data    
    MsgBoxCaption   db "Message Box Caption", 0
    MsgBoxText      db "Win32 Assembly is great!", 0

.data? 
    ; declare an uninitialized byte, referred to as location sum
    sum             dd ?

.code
    start:    
        mov eax, 1d
        mov ebx, 1d

        ; result will be stored in the first argument
        add eax, ebx  

        ; push eax onto the stack
        push eax

        ; pop value into sum
        pop sum

        ; invoke MessageBox, NULL, addr MsgBoxText, addr MsgBoxCaption, MB_OK

        invoke StdOut, addr MsgBoxCaption
        invoke StdOut, addr sum

        ; exit with status code 0 
        invoke ExitProcess, 0
    end start

已解决...我为链接器使用了错误的参数

如何正确链接

ml /c /coff /Cp hello.asm
link /subsystem:console /libpath:c:\masm32\lib hello.obj

如何不链接这个程序

ml /c /coff /Cp hello.asm
link /subsystem:windows /libpath:c:\masm32\lib hello.obj
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

masm32 调用 stdout 没有输出 的相关文章

随机推荐

  • 计算csv文件中python中的特定出现次数

    我有一个包含 4 列的 csv 文件 标签 用户 质量 Cluster id 使用 python 我想执行以下操作 对于每个 cluster id 从 1 到 500 我想查看每个用户的好标签和坏标签的数量 从质量列获得 有超过6000名用
  • Android studio getSlotFromBufferLocked:未知缓冲区错误

    我想制作一个简单的登录和注册应用程序 以便用户可以创建一个帐户 姓名 用户名 密码 我使用 WAMP 和 MYSQL 数据库来存储帐户 当我在注册表单上填写用户信息并单击 注册 时 出现以下错误 09 14 09 30 39 864 262
  • 是否使用了 static constexpr 变量 odr?

    给出下面的代码是Foo FOO1是否使用 ODR include
  • 使用 Algolia React-instantsearch 和 React-Native

    我正在尝试获取新的 Algolia反应即时搜索使用react native的组件 我一直在关注guide我完全被困住了 基本上 每当我尝试添加我的
  • 可以查看源代码或反编译 XLL Excel 添加

    是否可以在没有原始源代码的情况下查看 XLL Excel 插件的源代码 我猜测这个 XLL 是用 C 编写的 但不确定 IE 可以使用 dotPeek 反编译的 NET DLL 或者可以通过 Developer gt Visual Basi
  • 从 Access 表单调用 SQL Server 函数

    我正在寻找在 Access 前端使用 SQL Server 函数的正确方法 使用它的一种方式相当简单 只需调用函数 使用括号即可 准备就绪 但我一直坚持另一个案子 如果有两个独立的函数 第一个函数用于 编码 第二个函数用于 解码 数据 那会
  • 无法关闭应用程序浏览器窗口

    我可以打开我的窗口 并在其中执行很多操作 例如通过 Linkedin 或 Facebook 登录 但我无法关闭它以返回我的应用程序 1 我尝试捕获事件来跟踪 url 并在 url 包含特定关键字时关闭窗口 但该事件从未被触发 我从来没有任何
  • 使用 Python 的 MSN

    我计划为我运行的游戏创建一个简单的机器人 并将其放在 MSN 上并回答查询 我想使用Python来做到这一点 并用谷歌搜索并发现MSNP 我想 太棒了 和 太棒了 但它似乎已经有 5 年了 奇怪的是 它无法连接到 MSN 因为这些年来他们可
  • Netbeans IDE 中的自动格式化 Javascript

    是否有任何已知的插件或方法可以在 Netbeans IDE 中正确自动格式化 Javascript 编辑 2012 年 9 月 15 日 进一步研究后 我发现 javascript 模块已经被重写 非常需要 您终于可以找到 javascri
  • 不使用存储库模式,按原样使用 ORM (EF)

    我总是使用存储库模式 但对于我最新的项目 我想看看是否可以完善它的使用以及 工作单元 的实现 我开始挖掘得越多 我开始问自己这个问题 我真的需要它吗 现在这一切都始于 Stackoverflow 上的几条评论 可以追溯到 Ayende Ra
  • Rails:使用控制器渲染 js.erb 模板

    我有一个 Rails 应用程序试图合并一些 AJAX 其中单击 新建 会打开一个模式窗口和一个表单 我希望能够在失败时显示验证错误 因此在我的创建操作中 我考虑重新渲染 new js erb 文件 这是正确的方法吗 def create p
  • Android 谷歌标签管理器

    我正在按照我的营销团队的要求为 Android 应用程序 V4 实施 Google 跟踪代码管理器以供将来使用 而且我从未在网站的 GTM 上工作过 所以在这种情况下我很天真 我已经根据官方网站上的说明创建了帐户 容器和标签 我已将标签管理
  • 填充八位字节字符串

    我有 65 个不同位长度的参数 我需要将它们填充为八位字节字符串 参数将连续填充在八位字节字符串中 例如 假设第一个参数是 1 位长 因此它将填充在八位位组字符串的第 1 个八位位组的第 0 位位置 现在第二个参数假设为 9 位长 因此 该
  • 子类中的重载运算符

    游览和导游 导游扩展了旅游类别 我在旅游类中超载了 gt 运算符 我的旅游课程看起来像 include
  • cakephp中的save和saveAll函数有什么区别?

    任何人都可以举个例子吗 save用于简单地保存模型 Array ModelName gt Array fieldname1 gt value fieldname2 gt value 假设上述信息存储在名为 data 的数组中 则可以调用 t
  • WCF REST 文件上传

    我正在开发一个 WCF Web 服务 它需要能够上传文件等 目前我添加 平面图 项目的方法如下所示 OperationContract WebInvoke Method GET ResponseFormat WebMessageFormat
  • 如何生成相关的 Uniform[0,1] 变量

    这个问题与如何生成具有不同分布的相关变量的数据集 在 Stata 中 假设我创建一个遵循 Uniform 0 1 分布的随机变量 set seed 100 gen random1 runiform 我现在想要创建第二个随机变量 它与第一个随
  • JAXB 错误:有多个映射。由于两个对象工厂具有相同的 Bean

    我有两个 Maven JAXB 项目 A 主要 Maven JAXB 存根 XSD 项目 其中包含 BASKET xsd B Maven JAXB 存根想要将 BASKET xsd 包装在自己的对象中的用户项目 这会产生两个对象工厂 不同的
  • 如何在 GitHub 上合并远程更改?

    第一次尝试 Github 推送时出现以下错误 rejected master gt master non fast forward error failed to push some refs to email protected me m
  • masm32 调用 stdout 没有输出

    我正在使用 masm32 在 Windows 7 上编译和链接 它与下面的代码一起工作得很好 然而 调用 stdOut 并不是简单地在命令提示符上打印任何内容 我究竟做错了什么 386 model flat stdcall option c