问题标签 [masm32]

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

assembly - x86汇编 乘除涉及哪些寄存器

这是我的代码:

我的问题: 1. 我到底应该放哪个寄存器并将in1它们in2相乘?2.“”来划分它们?3. 余数在除法中存储在哪里?

不要担心一般性的陈述,你能告诉我哪些寄存器肯定(尽可能接近)在乘法和除法中工作。

注意:有些人可能会说这篇文章是x86 汇编的重复 - masm32:乘法和除法的绝对崩溃,但是(如果我错了,请纠正我)发新帖子而不是添加更尊重论坛社区对旧的评论并使其脱离主题。

0 投票
1 回答
1174 浏览

masm32 - 读取反汇编代码

我用masm32编写了简单的Hello word程序。但是当我尝试用 IDA 反汇编它时,我得到了更大的输出(我不会在那里写它,因为它会占用很多空间)。我不明白为什么它不同。如何运行反汇编的代码?

0 投票
1 回答
1089 浏览

assembly - MASM 例程从 32 位地址读取 dword

因此,我们的一个项目遇到了一些需要编写的汇编代码的障碍。我们有一个旧的、旧的(用 Borland 1992 编译的)内存测试器 C 程序,它偶尔需要进入汇编程序以从内存的某些区域读取值。我需要编写一个 MASM 汇编例程,它接受 32 位内存地址并返回该位置的 dword。我唯一的组装经验是大约 4 年前在 MIPS 的,所以我很生疏。到目前为止,我有这个:

问题是当我读入值时,我得到的东西几乎但不完全是我正在寻找的东西。当我运行类似...

在 0xEFF87110 具有值 0x00000000 并且 0xE0000000 具有 0x80863C00 的内存空间中,我最终得到:

我相信我混淆了我的 16 位和 32 位寄存器,但任何解决这些问题的尝试都会导致进一步的问题。有没有人有更好、更简洁的代码直接从 32 位内存地址读取,或者可以帮助我解决我的问题?

0 投票
2 回答
253 浏览

masm32 - 无法显示 CR 和 LF

我试图在我的代码中显示回车和换行,但它不起作用。如果我将代码打印为字符串,它就可以工作。需要帮助。提前致谢。

; 一个 16 位 DOS 程序,从 STDIN 接收单个字符,然后将其打印到 ;STDOUT

0 投票
1 回答
3921 浏览

assembly - x86 程序集 - MASM32 - 乘以 3 个数字

我有一个将 3 个数字相乘的程序,我正在努力理解。我有一些问题,我希望有人能解释这个程序发生了什么,并告诉我我是否走在正确的轨道上。我知道我有不止一个问题,所以我很抱歉。

这让我很困惑......

那么,我们将 num3 存储到 BL 中?但是由于 num1 和 num2 的结果是 16 位并存储到 AX 我们 mul BX? 而不是BL?但是BL中不是num3吗?

对不起,没有一个具体的问题。如果我的逻辑不正确或接近,你能解释一下发生了什么,为什么?

谢谢

0 投票
1 回答
5993 浏览

assembly - 汇编语言 - masm32 - 乘法

我将 3 个数字相乘,即使有进位也能很好地工作。我想添加第四个数字来乘以仅用于学习目的。

在我乘以 3 个数字后,我转移到 EDX 并打印。效果很好。在我添加第四个数字后,我想我乘以 32 位 x 32 位?所以它存储到 EDX:EAX 中?

然后我需要将 EAX 转换为 EDX 以便它们一起打印吗?我不确定我是否为第四个号码做对了?

这是提示

这是逻辑

我不确定我是否应该将 num4 移动到 ECX 并乘以 CX 我应该乘以 32 位吗?我对第四个数字做错了什么?谢谢

0 投票
2 回答
1592 浏览

arrays - 汇编 - 访问数组元素

我有一个正在尝试打印的数组。我想把它打印出来,看看它是否正确。它目前正在打印数字 1 并停止。或者,如果我以不同的方式处理 ECX,它会打印出一堆零并崩溃。

这是我的程序。

0 投票
1 回答
810 浏览

arrays - x86 程序集中的字符串数组:一次获取一行

我正在阅读包含标题、作者和日期的 3 本书的文件。

我想要做的是将每一行处理成一个新数组。我只有抓取一行数据并将其添加到临时数组时遇到问题。

我无法通过查找回车和递增来指向行首和行尾EDI

我会尽量保持简短,只向您展示我认为您可能需要的内容。

我有一个读取文件宏,我将文件读入 hMem。

然后我试图解析文件:

我可以计算标题的长度,但不确定如何使用它来获取标题。也许,我在我的电脑前呆了太多小时,看不到解决方案!谢谢你。

0 投票
2 回答
698 浏览

assembly - 如何在 Windows 上使用 sqlite3 和 masm32

由于我必须在 Assembler 中编写一个访问 Sqlite3 数据库的小型库,因此我开始搜索如何使用 sqlite3.dll。我在 fasm 中找到了一种方法(我必须使用 masm32,原因有很多,但无助于解决问题,这只是必要的)通过cinvoke并引用看起来不可用的库。
我基本上想知道的是我是否有可能在 masm 中做类似的事情,或者我是否必须通过GetProcAddress.

0 投票
2 回答
1638 浏览

assembly - x86 程序集(masm32)输出乘数产生垃圾字符

几个月后,我将为此返回组装,但我无法让两个数字相乘并输出结果。这是我的代码:

它输出类似P &aeffiini,.

问题:为什么它会输出那个随机字符串,我该如何解决?

提前致谢。