问题标签 [irvine32]

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 回答
6428 浏览

loops - 在 x86 汇编中打印 A 到 Z 和 Z 到 A 的程序

我正在编写一个程序,该程序使用循环在汇编中打印 A 到 Z 和 Z 到 A,但是每次打印出“A”后它都会崩溃。

该程序使用了 Irvine32.inc 库中的一些函数,但我确信这与问题无关,所以我暂时忽略它。. . 如果需要,我会提供更多详细信息。

非常感谢!

仲量联行

这是 Irvine32.inc 文件:

0 投票
1 回答
803 浏览

assembly - MASM 中 DumpMem 的意外输出 - 程序集

我在 MASM 中编写了一个简单的小型汇编程序,但是我得到的输出是意外的,并且以 3 为前缀。就像我12345在显示时输入的那样,它显示输出为

31 32 33 34 35

好像我不接受用户的输入并对其进行硬编码一样mystring byte 1,2,3,4,6-它显示的输出如下01 02 03 04 06

帮助我理解这种行为 - 在此先感谢

这是程序代码:

0 投票
1 回答
4300 浏览

assembly - 将 BYTE 数组读入 DWORD 数组

我正在尝试完成一项家庭作业,其中涉及在程序集中创建一个 2、4、6、8、10 的 BYTE 数组,将这些值交换为 DWORD 类型的数组,显示结果,交换值的顺序并再次显示在装配中。除了从 8-> 32 位数组交换之外,我的每件作品都在工作。这是我最近的尝试迭代:

0 投票
1 回答
5612 浏览

string - 从 MASM 中的字符串中删除一个字符

我必须编写一个程序

  • 从键盘缓冲区中获取一个字符串并将其放入字符数组中
  • 要求删除一个字符
  • 从字符数组中删除字符,同时转移其他所有内容

我想用一个堆栈来完成这个。所以这是我的逻辑。

从字符串的末尾开始,将该字符与要删除的字符进行比较。如果不是角色,则将其推入堆栈。如果它是忽略它并继续通过字符串。然后从一开始就把所有东西都放好。

我应该使用一个程序来完成这个。当我逐步完成时,一切似乎都工作正常,直到我尝试离开程序并返回主程序。我相当确定我的程序中的逻辑是问题所在。现在,当我尝试使用字符串“The”并删除 e 时,我得到“he”。

弄清楚了。

回答:

我没有处理从控制台正确获取角色的问题。我也没有处理 ecx = 0 的情况。这是字符数组的第一个位置。所以我没有比较正确的字符,也没有在必要时将第一个字符推到数组中。我已经通过删除来修复它

并将其替换为

然后在 L1 循环之后添加它。

它现在按设计工作。我只是有一些格式问题需要解决。

0 投票
1 回答
92 浏览

assembly - CMP 语句未给出正确结果

结束主

当我使用 CMP 命令进行比较时,它只会带我去 JGE.. 无论值是什么.. 有什么解决方案吗?

我也尝试使用 JE 并给出相同的输入,但即便如此,我也获得了更大的标签。

0 投票
1 回答
1199 浏览

assembly - 未定义符号:WriteFloat

未定义符号:WriteFloat

我的代码正在运行。问题只是WriteFloat。当我将 WriteFloat 更改为 WriteInt 或 WriteDec 时,没有错误。但我无法得到我的确切结果。我有 Irvine32.lib、Macros.inc,我正在使用 masm615,我的编辑器是 textpad。

0 投票
1 回答
932 浏览

assembly - 怎么把字符倒着写?

我用汇编语言写了我的名字,我想把它打印出来。我不知道如何向后写。

这是我需要向后打印的代码。

0 投票
1 回答
2553 浏览

loops - 在汇编 x86 中从 DWORD 中推送和弹出

到目前为止,我尝试了几种方法来打印 DWORD 中的值,但我只得到第一个或最后一个数字,我需要以相反的顺序打印所有 5 个数字。

0 投票
1 回答
371 浏览

assembly - 我需要帮助计算随机数 -10 到 10

我需要从 -10 到 10 计算每个数字。我该怎么做?

0 投票
2 回答
236 浏览

assembly - 奇怪的汇编语言添加错误

我正在用汇编语言编写斐波那契数列的实现,我遇到了一个奇怪的错误。一开始它可以工作,但是当我达到 8+13(即十六进制的 8+D)时,它给了我 15。我正在使用 Visual Studio 10 / MASM 32 编译/运行它

这是我的代码(Irvine32 是一个包含一些实用函数的库),然后我将解释运行它时得到的输出:

我的eax寄存器转储DumpRegs依次为 1、1、2、3、5、8、D、15、22、37、59、90

如您所见,这偏离了正确的 Fib 序列,即“D”。那么,我该如何解决这个问题,更重要的是,我想了解这里发生的事情导致了这个问题。谢谢!

编辑:好吧,我看到了我的愚蠢错误。显然所有的输出都是十六进制的。好吧,我想这只是另一个提醒我不要操之过急。再次感谢你的帮助!