问题标签 [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.
assembly - 在汇编编程中获取堆栈的起始地址
在汇编编程中完成push和pop等堆栈操作后,是否可以获得堆栈的有效起始地址?
visual-studio - 强制 Visual Studio 在调试时始终“全部重建”
编辑:基本上我需要的是Visual Studio在我调试时总是重建所有内容。
我目前正在使用 Visual Studio 来编译我的汇编程序,使用 MASM,总的来说它工作正常。
但是我遇到了一个烦人的问题:
如果我包含这样的文件(例如,具有功能的文件)
并编译它,它原本可以正常工作。但是,如果我随后更改了 functions.inc 的内容,则无法识别,编译器会跳过 functions.inc 并使用我更改之前的旧版本。
我在项目属性下的任何地方都找不到解决此问题的选项。但是我确定它与链接器选项或其他东西有关 - 如果我在项目属性下进行任何更改(即使我更改某些内容并将其更改回来,然后按 OK),它确实可以使用新版本正确编译函数.inc.
有任何想法吗?
assembly - MOV src, dest (或) MOV dest, src?
MOV 可能是每个人在学习 ASM 时学习的第一条指令。
刚才我遇到了一本书Rajat Moona 在 GNU/Linux for IA32 Architectures 中的汇编语言编程,它说:(已删除断开的链接)
但我了解到它是MOV dest, src
。它就像“加载dest
” src
。甚至维基也这么说。
我不是说作者错了。我知道他是对的。但是我在这里错过了什么?
顺便说一句..他正在使用 GCCas
来组装这些指令。但这不应该改变指令语法吗?
assembly - 在 Masm 中将 BYTE 读取为 DWORD
我又一次在做 MASM 编程。我正在尝试使用 Irvine32 库编写一个程序,其中用户输入一个字符串,该字符串被放入带有 ReadString 的 BYTE 数组中。然后它遍历该数组并确定每个字符是否为数字。但是,当我尝试
MASM 抱怨比较两个大小不同的东西。无论如何我可以将数组中每个 BYTE 中的 ASCII 码作为 DWORD 读取(或者以其他方式提取每个 BYTE 中的 ASCII 值)?
assembly - 错误 A2070:SSE MASM64 中的指令操作数无效
在 ml64.exe 64 位(masm64)中编译时,SSE 命令给我一个错误我需要做什么才能在 64 位中包含 SSE 命令?
我得到错误:
string - MASM StrCmp 未定义?
如果我尝试汇编以下代码,则会收到 A2006 错误(错误 A2006:未定义符号:StrCmp)。
这是我的代码:
我是汇编程序的完整n00b,我正在努力学习它。;)
伊万
c++ - 关于 MASM 汇编器的“Link Map”输出和“Assume”指令的问题
我是 MASM 的新手。所以这些问题可能非常基础。
当我使用 MASM 汇编器时,有一个名为“ Link Map ”的输出文件。它的内容由各个段的起始偏移量和长度组成,例如Data段、Code段和Stack段。我想知道,这些信息在哪里描述?他们是在谈论 EXE 文件中的各种段是如何定位的,还是在程序加载器将 EXE 文件加载到内存中之后,段如何定位在内存中?
顺便说一句:“假设”指令有什么作用?我的理解是它告诉汇编器将一些信息发送到 exe 文件头中,以便程序加载器可以使用它来相应地设置 DS、CS、SS、ES 寄存器。我说得对吗?
提前致谢。
assembly - 从 MASM/MASM64 在编译时检测架构
如果目标体系结构是 I386 或 AMD64,我如何在编译时从 ASM 源文件中检测?
我正在使用 masm(ml.exe)/masm64(ml64.exe) 来组装 file32.asm 和 file64.asm。最好创建一个文件 file.asm,它应该包括 file32.asm 或 file64.asm,具体取决于架构。理想情况下,我希望能够编写如下内容:
此外,如果需要,我可以使用不同的命令行选项运行 ml.exe 和 ml64.exe。
谢谢!
assembly - 为什么这个数组声明会入侵下一个?
我正在使用 Microsoft Visual C++ Express Edition 学习带有 MASM 的 IA-32 汇编,但遇到了这个困难。当我这样做时:
该程序无法正确运行,因为文件名字符串在进程中间被删除。Irvine32.inc 库可以在 Kip Irvine 的网站上找到。我使用它是因为我的教授使用的教科书是“基于 Intel 的计算机的汇编语言”,Kip Irvine 的第 5 版。当我为此更改变量声明时:
程序运行正常。
为什么仅仅更改声明的顺序会影响程序的运行或不运行,因为 fileName 变量应该在 fibonacciVetor 结束后立即分配,并且在我写入数组时不应该受到影响?
非常感谢。
windows - masm 中用于文件 io 的工具
如何对masm中的文件进行操作。我的意思是使用包含在微软(masm)中的标准库。或者在没有链接库的 Windows 中可用的东西。