问题标签 [masm]

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 投票
2 回答
4147 浏览

winapi - 访问段寄存器 MASM

我正在尝试查询位于进程环境块中的值,该值由 FS 段寄存器指向。尝试编译包含 fs:[0] 段的代码会导致错误(错误 A2108:使用寄存器假定为错误)。

你如何查询段寄存器?!

谢谢

0 投票
2 回答
1942 浏览

assembly - 汇编语言工具和参考

前段时间我曾经做过汇编语言编程,我很愚蠢地想要重新开始它。

过去,我使用 MASM.EXE 命令行编译 asm 代码,在基本的文本编辑器中编写没有验证的代码。

今天使用汇编编写的最佳工具是什么?

有哪些好的在线快速参考资料?

0 投票
1 回答
8219 浏览

c - 转换问题:__asm__ __volatile__ 从 GNU C 到 MSVC 用于输入/输出包装器

我在 Linux 环境中处理 Nasm 和 GNU C 内联 asm 已经有一段时间了,这个功能效果很好......但现在我正在切换到 Windows 环境,我想使用 Masm(与 VS2008)我似乎无法得到这个工作...

当我写出这样的...

asm 不再被识别并且 volatile 抛出一个错误,说“字符串”,我也尝试写 _asm volatile 但我收到一个错误,说“'操作码'中的内联汇编语法错误;找到'数据类型'”

0 投票
3 回答
1894 浏览

c - 内联汇编跳转错误

为什么这会失败,一旦 Masm 达到 jmp?

`

0 投票
3 回答
4381 浏览

assembly - masm x86 程序集崩溃中的 DOS 中断

我刚刚开始在 win32 上学习一些 x86 程序集,并且使用 .asm 文件的 ide 附带的自定义构建规则将 masm 与 Visual Studio 2008 一起使用。我一直在尝试使用 DOS 中断打印到控制台,但我收到消息:“ASMTest.exe 中 0x00401004 处的未处理异常:0xC0000005:访问冲突读取位置 0xffffffff。” 在第 8 行。我正在尝试输出单个 ascii 字符“A”(41h)这是 masm 代码:

当我使用 debug.exe 并使用“a”命令输入所有 .CODE 指令并运行它(“g”)时,它工作正常。

谁能告诉我如何正确使用 DOS 中断?谢谢!

编辑:在 win32 上编程时,Managu 是正确的,您应该使用像 WriteConsoleA 这样的 Windows api 调用,而不是使用 DOS 中断。是一个有用的资源。如果有人正在寻找执行此操作的代码(就像我一样),这里是:

(将入口点设置为 main)

0 投票
2 回答
5018 浏览

assembly - 无法通过段寄存器访问标签,汇编错误

我得到的错误是错误“A2074:无法通过段寄存器访问标签”

我正在尝试使用 soffset 循环遍历 byteArray。

0 投票
1 回答
1772 浏览

assembly - 异或存储在 EAX 中的地址

你怎么能 XOR 存储在 EAX 中的值?

问题出在这一行:

EAX 包含我想要异或的值的地址。我怎样才能做到这一点?我认为这将是类似的东西:

但这不起作用(语法错误)

0 投票
3 回答
36595 浏览

assembly - JMP 到绝对地址(操作码)

我正在尝试编写一个 exe 打包程序/保护程序,以此来了解更多关于汇编程序、c++ 以及 PE 文件如何工作的信息。我目前已经让它工作了,所以包含 EP 的部分与一个密钥进行异或,并创建了一个包含我的解密代码的新部分。一切都很好,除非我在解密后尝试 JMP 到原始 EP。

基本上我这样做:

但 ollydbg 并没有跳转到入口点,而是显示这段代码反汇编为:

当我尝试在 olly 中手动更改它时,新的操作码显示为

0xCBCFFFFF 是从哪里来的?我将如何从 C++ 端生成它?

0 投票
1 回答
1824 浏览

assembly - URLDownloadToFile 的进度条

我正在使用 MASM 构建下载程序,但问题是我不知道如何使用进度条来显示下载进度,我正在使用 URLDownloadToFile,如下所示:

最好的祝福。

0 投票
1 回答
1144 浏览

visual-studio-2005 - ml64 - 警告 A6004:过程参数或本地未引用

我在 Visual Studio 2005 中为 x64 microsft 宏汇编器编写了一个函数。该函数接收 3 个参数:

x64 调用约定规定前 4 个参数将驻留在寄存器 rcx、rdx、r8 和 r9 中。当我在函数中使用参数时,我引用的是注册它们自己而不是参数:

这会导致以下警告:

警告 A6004:过程参数或本地未引用

我怎样才能避免或抑制这个警告?有没有办法引用函数内部的参数而不是使用寄存器?