问题标签 [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.
assembly - MASM 字符串中 Ascii 的总和
所以我遇到了一个问题,我只想一次从字符串中读取一个字符并将其存储在 EBX 寄存器中,然后获取该字符的值并在 EAX 中保持运行总和。
使用 8 位无符号算术将字符串字符的所有 ASCII 代码相加。溢出被忽略。最终值是校验和。例如,如果字符串是“Joe”,那么 ASCII 值是 4A、6F、65。总和是 11E。
visual-studio-2012 - MASM 不会在 Visual Studio 2012 中编译
最近我开始阅读“x86 处理器的汇编语言”,并且我已经了解了我需要编译我的代码的部分。所以我去谷歌搜索了如何正确设置 VS12 的 masm。有一段时间,它工作得很好,但我决定从 MASM 休息一下,现在当我突然回来时,这开始发生了。我收到随机错误,例如,编译器无法区分注释并将它们视为错误,我也收到 LNK1104 错误,说我的文件不存在。
这些是我使用的设置:http: //kipirvine.com/asm/gettingStartedVS2012/index.htm#ProjectProperties
如果有人知道我如何解决这个问题,哦,代码真的很简单。这里:
assembly - 排除反向字符串
我编写了一个程序来反转它给出的字符串,但结果似乎不匹配。
我使用正向和反向指示要交换的索引,最后在尾部添加空字符。
结果应该是
但我的结果是
似乎有问题,但我无法找出错误在哪里。
你能帮我找出可能出错的地方吗?
提前谢谢。
if-statement - MASM 中的 if 语句期间出现无效指令操作数错误
我对 MASM 非常陌生,并且在使用 if 语句时遇到了麻烦。我得到的编译错误是:RNG.asm(61) : error A2070: invalid instruction operands。(第 61 行从下往上 5 个)
这是我的代码:
感谢您的时间,
伊恩
assembly - 如何在汇编中反转和修改我的字符串?
我有一个项目,我想输入一个数字并说我输入 3,它会给你一个输出,
一个5会给你
在我的项目中,我认为我的导师不会允许我使用数组,或者至少现在不允许,但这是我的想法。
我正在考虑为数字制作一个字符串,所以假设我得到一个 3。我会产生 ZYX* 并简单地将其反转以获得三角形的另一半。唯一的问题是,我不知道如何将字母一次一个地更改为星星。我正在考虑使用循环来做到这一点,但不知道该怎么做。我只知道下一个字符串是 ZY** 然后简单地反转它。
不要误会我的意思,我并不是要你们所有人为我做这件事,但也许给我一些关于如何处理它的指示或提示。谢谢你。
到目前为止,多亏了大家,我才能够想出这个。
现在我只需要另一边。
assembly - 将汇编语言 8086 中的 2 个值相乘?
我将从控制台窗口输入的两个值相乘。我正在使用32 位寄存器 eax, ebx,但它没有将值相乘。该程序正在运行,但它没有成倍增加。任何人都可以检测到问题吗?这段代码有什么问题?我在汇编语言中使用 KIP.R.IRVINE 链接库。
这是代码:
还有一个问题:我需要在其中使用进位标志吗?如果是这样,那么它的代码会是什么样子?
assembly - 汇编语言 8086 使用 32 位 reg 添加并在 64 位中赋值?
我想通过使用 32 位寄存器将value1 添加到 value2 并给出 64 位以下的值(等于 16 位)。是否可以使用 2 个寄存器的空间(32+32 = 64bit)?我认为可以通过使用PTR OPERATOR来完成,但我不知道如何使用 PTR 指令。
我已经制作了添加程序。它在控制台中接受两个值并给我们结果。它只能取32 位(8 位)以下的值。如果我们给出更高的值,那么它将在控制台中给出整数溢出错误。
我在汇编语言中使用 KIP.R.IRVINE 链接库
我们如何使用 32 位寄存器给出 64 位的值?我们如何使 32 位寄存器取 64 位值?
这是32位加法的代码
assembly - 我们可以一次使用两个 32 位 reg(32 + 32 = 64) 以使其能够获取 64 位值吗?汇编语言 8086
汇编语言 8086:
我已经制作了加法程序,它在控制台中接受两个值并给我们结果..如果我们给出更高的值,它只能取 32 位(8 位)以下的值,那么它将在控制台中给出整数溢出错误
如果我想在 input1 和 input2 中提供超过 32 位的值,我该怎么做?
我想通过使用 32 位寄存器将 value1 添加到 value2 并在 64 位(等于 16 位)下给出值.. 可以使用2 reg 的空间(32 + 32 = 64 位)?...
我们如何制作 2 个 32 位寄存器以使其成为 64 位我知道这是可能的,但我不知道该怎么做......因为我是汇编语言的新手
我在汇编语言中使用 KIP.R.IRVINE 链接库
我们将如何使用 2 个 32 位 reg 给出 64 位值?或者我们如何使 2 32bit reg 取 64bit 值?
这是 32 位加法的代码:
assembly - 我们如何一次使用两个 32 位 reg(32 + 32 = 64) 使其能够获取 64 位值?汇编语言 8086
汇编语言 8086:
我已经制作了一个加法程序,它在控制台中取两个值并给我们结果..如果我们给出更高的值,它只能取32 位(8 位)以下的值,那么它将在控制台 winbdow 中给出整数溢出错误..
如果我想在 input1 和 input2 中提供超过 32 位的值,我该怎么做?可以通过制作 DWORD(32 位)数组并放入一半(16 位)一半(16 位)值来完成
例如:
array1 DWORD 2 DUP(?)
array2 DWORD 2 DUP(?)
我想通过使用 32 位寄存器将 value1 添加到 value2 并在 64 位(等于 16 位)下给出值.. 可以使用 2 reg 的空间(32 + 32 = 64 位)?...
我们如何制作 2 个 32 位寄存器使其成为 64 位我知道这是可能的,但我不知道该怎么做......因为我是汇编语言的新手
我在汇编语言中使用 KIP.R.IRVINE 链接库
我们将如何使用 2 个 32 位 reg 给出 64 位值?或者我们如何使 2 32bit reg 取 64bit 值? 我不知道如何编码..需要编码方面的帮助
这是 32 位加法的代码:
visual-studio-2010 - 在 Visual Studio 中将“.inc”文件添加到汇编语言项目中
在 Visual Studio 2010 中,如何将.inc
文件添加到汇编语言项目中?在这里,我正在尝试添加irvine32.lib
到项目中:
在文件开头添加此行时出现此错误.asm
: