问题标签 [masm32]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
3 回答
8789 浏览

assembly - MASM32,显示字符串和整数

我正在使用 MASM32(版本 10),我想知道在屏幕上输出字符串和整数的最简单方法是什么。请提供完整的源代码,而不仅仅是特定的行。

谢谢你。

编辑:

它崩溃而没有输出任何东西。我尝试了其他几件事,但有不同的问题,唯一的共同点是我没有在屏幕上显示字符串:)

0 投票
2 回答
516 浏览

assembly - 被感染的编译器,还是故障?

我遇到了一些非常奇怪的事情,事情就是不加起来。首先,我在这里发布这个是因为我不确定这是否与计算机病毒有关。如果是这样,你能指导我到一个地方寻求帮助吗?

所以现在:

我在这里遇到了一些奇怪的问题,我的防病毒和恶意软件字节标志代码*都是用 masm 和 masm 示例作为病毒编译的。我用谷歌搜索过,发现这个问题以前也发生过,所以我没有太认真,起初认为这是一个误报。

但是我编译了你在这篇文章底部看到的代码来测试我的其他一些东西。我通过 ollydbg 运行它(同时忽略了我的 comodo 防病毒软件),然后我看到了这个:

下面的代码不可能编译成那个跳转,所以我正在单步执行代码。过了一会儿,我看到奇怪的代码开始通过 ntdll.dll 库中的 api 进行枚举。发生了什么?如果这确实是病毒到哪里寻求帮助?

但我仍然不确定,comodo 和malwarebytes 都只将示例标记为病毒,而不将文件(test.exe)标记为病毒

我用来测试的测试代码...

*: 包括 \masm32\include\masm32rt.inc

更新:

代码不在磁盘上,而是在内存中,所以它可能是某种库:

而且我已经删除了调用退出过程,它仍然存在

0 投票
1 回答
2839 浏览

assembly - 如何将编译器masm32连接到notepad++

masm32编译器在哪里下载?我已经上传到这里,但我不明白它是如何实现(运行/编译)项目的。我可以在哪里下载编译器。如何运行第一个项目,例如这个

code>

请详细回答

0 投票
1 回答
1480 浏览

assembly - 如何在汇编中将 31 位设置为 1 的无符号 dword 添加数字,这样它就不会被视为负数?

我正在尝试在 MASM32 中将 5 添加到 3234567890。这是完整的示例代码:

向 unsigned dword 添加内容的正确方法是什么?现在我得到负数,预期结果是 3234567895。

更新: 问题确实出在使用的宏中。我已经将样本编辑到最低限度并且它工作正常。这里没有什么神秘之处。:)

感谢大家!

0 投票
2 回答
439 浏览

glibc - 如何在 libc 中调用内核代码?(Windows 或 Linux)

我的意思是,内核如何将其功能暴露给用户级应用程序。

0 投票
1 回答
258 浏览

windows - 在 win xp 上组装 COM 可执行文件

有没有办法将 x86 代码组装成 COM 可执行文件?我正在使用 masm32 作为我的汇编程序。在组装/链接命令行上找不到足够的信息,所以我总是会遇到错误......

这是一个简单的程序和我得到的错误:

有什么想法吗?向其他具有更好文档的汇编程序的建议也会很好......

代码:

用于组装和错误的命令:

D:>ml /AT test.s Microsoft (R) 宏汇编器版本 6.14.8444 版权所有 (C) Microsoft Corp 1981-1997。版权所有。

组装:test.s Microsoft (R) Incremental Linker Version 5.12.8078 版权所有 (C) Microsoft Corp 1992-1998。版权所有。

/z2“host.obj”/t“test.com”NUL LINK:警告 LNK4044:无法识别的选项“z2”;忽略 LINK:警告 LNK4044:无法识别的选项“t”;忽略 test.obj:警告 LNK4033:将对象格式从 OMF 转换为 COFF test.obj:致命错误 LNK1190:找到无效修复,类型 0x0001

0 投票
2 回答
71 浏览

syntax - MASM32 中这种声明的语法是什么?

我现在理解这样的声明:

其中有 3 个部分。但是上面声明的语法是什么?

0 投票
1 回答
225 浏览

syntax - MASM32 中的宏在做什么?

有人知道这个宏在做什么吗?

0 投票
1 回答
339 浏览

assembly - 将代码修补到 MASM 编译的可执行文件中

我在 MASM 中编写了一个简单的程序,例如:

我检查了 OllyDbg 调试器中的代码,我得到:

我的问题是哪个组件在实际代码 (00401010) 之前修补了这 11 个字节 (00401005-0040100F) ?为什么?

我使用 Windows XP SP3、MASM 和 OllyDbg。

好的,这里是解释(对谁在乎):这段代码是在调试模式下构建的,所以汇编器/链接器(不知道到底是哪个)添加了这些额外的字节。JMP 的存在是为了让程序能够运行,因为它必须绕过一系列 INT 3 指令。如果程序是在 RELEASE 模式下构建的,则不会附加这样的额外代码。

0 投票
1 回答
651 浏览

assembly - MASM32 的 Qeditor 中的项目选项不起作用

我有 Masm32,我正在使用 Qeditor。项目菜单中的任何选项都不起作用。例如,如果我单击“全部构建”,则没有任何反应(没有窗口,文件目录中没有构建文件,没有任何反应)。

我的路径上有 c:\masm32\bin ,所以这不是问题。