问题标签 [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.
winapi - 访问段寄存器 MASM
我正在尝试查询位于进程环境块中的值,该值由 FS 段寄存器指向。尝试编译包含 fs:[0] 段的代码会导致错误(错误 A2108:使用寄存器假定为错误)。
你如何查询段寄存器?!
谢谢
assembly - 汇编语言工具和参考
前段时间我曾经做过汇编语言编程,我很愚蠢地想要重新开始它。
过去,我使用 MASM.EXE 命令行编译 asm 代码,在基本的文本编辑器中编写没有验证的代码。
今天使用汇编编写的最佳工具是什么?
有哪些好的在线快速参考资料?
c - 转换问题:__asm__ __volatile__ 从 GNU C 到 MSVC 用于输入/输出包装器
我在 Linux 环境中处理 Nasm 和 GNU C 内联 asm 已经有一段时间了,这个功能效果很好......但现在我正在切换到 Windows 环境,我想使用 Masm(与 VS2008)我似乎无法得到这个工作...
当我写出这样的...
asm 不再被识别并且 volatile 抛出一个错误,说“字符串”,我也尝试写 _asm volatile 但我收到一个错误,说“'操作码'中的内联汇编语法错误;找到'数据类型'”
c - 内联汇编跳转错误
为什么这会失败,一旦 Masm 达到 jmp?
`
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)
assembly - 无法通过段寄存器访问标签,汇编错误
我得到的错误是错误“A2074:无法通过段寄存器访问标签”
我正在尝试使用 soffset 循环遍历 byteArray。
assembly - 异或存储在 EAX 中的地址
你怎么能 XOR 存储在 EAX 中的值?
问题出在这一行:
EAX 包含我想要异或的值的地址。我怎样才能做到这一点?我认为这将是类似的东西:
但这不起作用(语法错误)
assembly - JMP 到绝对地址(操作码)
我正在尝试编写一个 exe 打包程序/保护程序,以此来了解更多关于汇编程序、c++ 以及 PE 文件如何工作的信息。我目前已经让它工作了,所以包含 EP 的部分与一个密钥进行异或,并创建了一个包含我的解密代码的新部分。一切都很好,除非我在解密后尝试 JMP 到原始 EP。
基本上我这样做:
但 ollydbg 并没有跳转到入口点,而是显示这段代码反汇编为:
当我尝试在 olly 中手动更改它时,新的操作码显示为
0xCBCFFFFF 是从哪里来的?我将如何从 C++ 端生成它?
assembly - URLDownloadToFile 的进度条
我正在使用 MASM 构建下载程序,但问题是我不知道如何使用进度条来显示下载进度,我正在使用 URLDownloadToFile,如下所示:
最好的祝福。
visual-studio-2005 - ml64 - 警告 A6004:过程参数或本地未引用
我在 Visual Studio 2005 中为 x64 microsft 宏汇编器编写了一个函数。该函数接收 3 个参数:
x64 调用约定规定前 4 个参数将驻留在寄存器 rcx、rdx、r8 和 r9 中。当我在函数中使用参数时,我引用的是注册它们自己而不是参数:
这会导致以下警告:
警告 A6004:过程参数或本地未引用
我怎样才能避免或抑制这个警告?有没有办法引用函数内部的参数而不是使用寄存器?