问题标签 [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.
windows - 如何通过 %errorlevel% 获取退出代码,它不再适用于汇编程序
我想获得我的教程汇编程序的退出代码(使用 masm32 和链接)。它工作正常,我会输入 echo %errorlevel%
,它会显示我在之后输入的退出代码invoke ExitProcess
。现在它不再起作用了。我在 OpenSuse 12.1 主机和 Windows Vista Home Premium 上使用 VirtualBox 作为来宾。我一直在寻找答案,但没有找到答案。大多数抱怨都是关于使用批处理文件,这不是我想要做的。这是简单的程序
hello_world.asm
我希望它返回 2,但echo %errorlevel%
返回 0。我缺少什么吗?谢谢,我很抱歉这个问题已经回答死了。我只是找不到我的答案。
编辑:实际上,我找到了部分答案。只有当我使用链接时它才有效/SUBSYSTEM:CONSOLE
。使用/SUBSYSTEM:WINDOWS
总是返回 0。我不知道该怎么做。windows程序的退出代码在哪里?任何信息都非常感谢。
assembly - 汇编语言介绍
我对汇编语言比较陌生。我找到了很多教程来解释如何使用 ML64 和 MASM32 创建 HelloWorld 应用程序,但没有一个详细解释程序。例如,看看下面的示例,我在网上找到并编译(64 位):
我可以通过这个。我知道有通用寄存器和段寄存器,但你如何决定使用哪个。例如,为什么 'r8' 包含标题而不是 r9?是否有 WinAPI 的程序集参考?我意识到这是一个基本问题。我选择了 MASM32 标签,因为这是一个带有 64 位示例的一般问题。
winapi - 使用 masm 将简单字符串写入控制台(汇编代码)
我想使用 writeconsole API 在控制台输出中写入一个字符串,但它不起作用我使用 masm 中的控制台链接并构建它
这是代码
当我运行 exe 输出时,我得到以下信息
C:\masm32>18.exe
C:\masm32>
空输出
所以任何建议
assembly - x86 Assembly Newbie:基本的添加和存储数字问题
您好,我是组装新手,我正在努力让一个由两部分组成的程序工作。我正在为这个 x86 程序集使用 Visual Studio。
第 I 部分)我的第一个目标是数到 13,并在途中添加每个值。例如,0+1+2+3...+13=91。我想总共存储该总数。
第 2 部分)其次,我想用 2 的幂从 2^0 数到 2^6。例如,0、1、2、4、8、32、64。我想*我正在这样做,但我并没有随时存储每个值。我想将这些存储在连续的内存位置。
到目前为止,我有这个,
帮助我理解的问题。
- 如何将值存储在连续的内存位置?
- 我是否正确使用了跳转和标签指令?
- 我是否需要使用像 eax 这样的特定寄存器来执行这些问题?为什么?
非常感谢任何帮助,谢谢。
assembly - 从控制台读取时崩溃 - masm32
我创建了一个名为 t.exe 的 masm 程序,它假设从 cmd 读取输入并输出它。我知道它们可能是另一种方法,但我想使用 `Readconsole
`这是代码:
我尝试运行它,但出现 Microsoft 错误并且程序退出(“ t.exe 遇到问题需要关闭。对于给您带来的不便,我们深表歉意”)。实际上,如果有人知道一本从 masm 开始的好书……我需要它,因为我在处理数据类型方面的问题,请不要发表冒犯性的评论 :)
assembly - dll注入代码
我正在尝试创建一个dll注入代码,测试进程是记事本,进程ID是硬编码的
代码是:
当我运行它时,出现以下错误
kinject.exe 遇到问题,需要关闭。对此造成的不便,我们表示歉意。
所以建议plaftrom是windows xp sp3
inline-assembly - masm中的字符串长度
我尝试使用以下 masm 代码在 cmd 屏幕中输出 hello 的字符串长度。我创建了一个调用strlo
来计算字符串长度的函数。
当我运行它时,我没有得到任何输出。
F:\masm32>len.exe
F:\masm32>
assembly - 通过 char X86 MASM 比较两个缓冲区
我正在使用 X86 程序集,需要按字符比较两个缓冲区并在第三个缓冲区中反映它们是否匹配
伪代码:
我无法弄清楚如何按每个字符访问 。
assembly - x86汇编,如何添加存储在内存中的变量?
平台:奔腾 4 处理器(我真的需要升级 :) 运行 Windows XP。我目前正在用 MASM32 组装。
我是汇编的绝对初学者,我正在尝试弄清楚如何添加变量。我了解如何定义变量、将数据放入寄存器以及如何将寄存器放入堆栈,但我不知道如何组合两个变量的值(通过相加)。
另外,任何人都可以给我一个链接或一些易于理解的x86汇编教程,到目前为止我发现的所有这些都是非常高级的东西,他们没有解释太多。那将不胜感激。
在此先感谢,
assembly - x86 程序集 - 如何显示整数 2,而不是第二个 ASCII 字符
我有这个代码:
它应该做的是做1+1,然后在控制台上显示结果。当我运行它时,它显示 2 的 ASCII 字符(第二个 ASCII 字符),而不是数字 2。我不知道如何让它显示数字 2,而不是第二个 ASCII 字符。我怎么做?
提前致谢,
程序