问题标签 [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 投票
1 回答
435 浏览

c++ - 链接汇编和c问题

试图了解如何链接结构中定义的函数,该函数位于汇编代码中,并试图从 c 中调用它。我认为当我调用该函数时缺少一个步骤,我得到一个未解析的外部符号......

0 投票
4 回答
1223 浏览

nasm - 汇编语言“汇编器”也是特定的吗?哪个汇编程序最好?

我正在学习汇编语言。PC Assembly Language我从使用 NASM(The Netwide Assembler)的 Paul A. Carter's 开始。然后在中间我切换并开始阅读Introduction to 80×86 Assembly Language and Computer Architecture使用 MASM 的内容。

在我曾经写过的 NASM 中,用于初始化一个字节

分贝 110101b

在 MASM 我正在​​使用

字节 110101b

我正在阅读中。由于这些是汇编器指令,它们对于每个汇编器都是不同的。对?这些汇编程序开发人员不遵循这些指令的标准吗?因为,他们知道助记符是特定于 CPU 的。因此,用汇编语言学习和编码是一件很痛苦的事情。

现在,如果他们遵循不同的指令,那么如果您更改汇编程序或切换操作系统(如果 MASM 开发人员使用 linux,他将陷入困境),那就更痛苦了。

我的困惑是我应该熟悉 NASM 还是 MASM?我是 Windows 的粉丝,但我可能(将来)也必须在 Linux 上工作。

每本书的标题都应该是“_________Assembly Language using __________ Assembler”

0 投票
2 回答
34453 浏览

assembly - MASM/NASM 差异

NASM 和 MASM 汇编器之间的语法差异是什么?

0 投票
1 回答
443 浏览

assembly - masm 装配未解决的外部问题

我的班级正在研究“英特尔计算机的汇编编程”一书(第 5 版),我正在尝试让程序进行汇编。这本书附带了 Irvine32.inc,它应该使 IO 和其他东西更容易。我将它们与我要编译的 .asm 文件放在同一目录中。每当我执行 ml /Fe test.exe test.asm /link 时,我总是会收到有关该库中每个函数的错误,其中包括“未解析的外部”,例如:

test.obj(test.asm): error Lsomething: '_READINT@0': unresolved external

我知道该程序有效,因为它正在我朋友的计算机上运行(我也在 64 位 linux 上通过 dosemu 运行它)。当然,我有:

在我的来源。无论如何,程序会编译,但它会立即杀死dosemu,而不是告诉我为什么。有谁知道我可能做错了什么?

0 投票
7 回答
950 浏览

c - 汇编中的win32 api帮助

为什么汇编中的结构声明与 win32 api 文档中的不同。(我来自 c++ 并尝试使用汇编语言)

例如,我从 icezelion 的教程(tutorial3)中得到了这个函数原型

嘿等等......我知道“WNDCLASSEX”结构,在我的win32 api文档的离线版本中,它被声明为......

为什么 asm 版本使用 DWORD 与 win32 api 文档中的内容相反?
我使用了错误的文档还是什么?如果有人可以给我发一个适用于 asm 程序员的 WIN32 api 文档的下载链接吗?
求助,很迷茫。

编辑:这是我所指的教程的链接:

iczelion的win32 asm教程3

0 投票
4 回答
3142 浏览

loops - 我究竟做错了什么?(简单组装循环)

http://imgur.com/gjUbV.jpg

它不会让我发布图片。顺便说一句,Reddit.programming 的某个人把我送到了这里。那谢谢啦!

结果是:

0 投票
8 回答
2468 浏览

assembly - 参加装配课程,卡在 DOS 中!

作为电子工程学位的一部分,我正在学习微处理器编程课程。不幸的是,在实验室中,我们必须使用 MASM 在 DOS 中工作。

现在,我真的不觉得 DOS 是个障碍,但我只是在家里的电脑上没有它(而且我有的电脑都没有软盘驱动器),所以我无法练习编写程序。我曾在 Windows 下尝试过,但它无法组装(我猜这是因为保护模式)。

关于我应该怎么做的任何建议?我应该只学习在保护模式下编程吗?这对我的课程有帮助吗?本课程的重点是 8086。

也许虚拟机可以提供帮助?如果是这样,我在哪里可以获得 DOS 和 MASM?

0 投票
3 回答
17473 浏览

assembly - masm 除法溢出

我正在尝试在汇编中划分两个数字。我正在为 Irvine 计算机书的 Irvine 组装工作,我无法为我的生活做除法工作。

这是我的代码

WriteDec 应写入 eax 寄存器中的任何数字(应在除法调用后设置为商)。相反,每次我运行它时,Visual Studio 都会崩溃(但是程序确实会编译)。

0 投票
1 回答
383 浏览

assembly - 在 BIOS 中显示图形

使用 MASM32 是否可以将存储在嵌入可执行文件的二进制文件中的位图显示到控制台?

谁能告诉我怎么做?

附录:我不是在这里谈论一个完整的 GUI。只是能够在屏幕上显示字符位图。它们将作为 8x8 二进制图像存储在我们链接到可执行文件的文件中。

0 投票
2 回答
7633 浏览

memory - 汇编 - 试图反转字符串,但它在最终字符串上添加了一个额外的字符

我对大会相当陌生(老实说,一般来说,编程)。我正在尝试使用堆栈。 这段代码的目的:

  • 输入一个字符串,限制为 80 个字符
  • 重新打印输入的字符串
  • 打印每个字符,因为它被推入堆栈
  • 打印从堆栈中弹出的每个字符
  • 打印反转的字符串。

代码在最后一步失败。

如果输入的字符串是“帮助”,它会打印出“pleHe”。最终字符串中的最后一个字符是原始字符串的第二个字符。

请帮我看看我在哪里搞砸了!