masm

    2热度

    1回答

    以下是在Kip Irvine的汇编语言x86手册中找到的链接列表汇编程序。主要是,一个循环遍历列表并显示所有的节点值。程序不是在循环中使用固定的计数器,而是在尾节点中检查空指针,并在找到它时停止循环。我的问题如下: (a)有人可以解释<计数器,($ + Counter * SIZEOF ListNode)>?它是如何工作的,它是什么意思? (b)有人可以解释(ListNode PTR [esi])

    0热度

    1回答

    在我的程序中,我试图计算两个整数的平均值,然后舍入数字。例如,如果平均值为-22.5,则它将舍入到-23。 validInputs是从用户收集到的有效输入的数量,并且始终为正整数,而validSum将始终为负整数,因为它仅添加负整数。但是,当比较余数时,我没有得到正确的舍入结果,并且想知道为什么。 编辑:我建议更改为-5,但仍然遇到同样的错误。我相信我的错误肯定是一个合乎逻辑的问题。 mov e

    1热度

    1回答

    我有以下装配命令: mov eax, 10001 mov [eax], DEADCODEh 我所知道的是 我说的是X86 EAX有32位 我要保持小尾数记住 那么内存是怎么样的呢? 整个十六进制数是否存储在10001或只有一部分? 取决于那些地址10002,10003和10004是怎么样的?

    1热度

    1回答

    基本上我必须创建一个迷宫并将其存储在一个文本文件中,以便稍后可以打开它,我已经创建了迷宫部分,但是我对于我的生活无法保存所有在屏幕上的文本文件(甚至是空格)我知道我可以使用int 21h将文件写入文件我只是不知道如何将所有内容写入文本文件(整个80行和25列)按顺序显示在dosbox屏幕上。 mov ah,3CH ; File creation mov cx,0 ; mov dx, OF

    0热度

    1回答

    我正在将我的程序移植到ml64,一半用于运动,一半用于查看我可以获得多少性能。 不管怎么说,我目前正试图了解堆栈帧的设置,在这个例子中,据我所知: push rbp ; inherited, base pointer of caller, pushed on stack for storage mov rbp, rsp ; inherited, base pointer of the call

    0热度

    1回答

    我正在使用FP IEEE-754到MASM程序集上的StrDec。它工作正常,尽管我花了一些时间搞清楚这一点,但我不确定如何在逗号后添加更多数字 - 现在有两个,例如123.46,但我需要123.456789。我想我需要一个计数器来处理我的额外位,但我得到access violation,同时在逗号和增加字节数之后添加额外的数字。 .data CaptionOut BYTE "Resul

    1热度

    1回答

    美好的一天!我一直试图列出所有当前正在运行的应用程序,并使用masm将其写入文本文件。我是新的程序集,但使用MSDN作为我的参考。到目前为止,我知道如何使用CreateFile,WriteFile,ReadFile等,但我没有得到Process32First的工作方式。 我试图将此链接中的代码转换为MASM,(https://msdn.microsoft.com/en-us/library/win

    1热度

    1回答

    我使用MASM和DOSBox中 基本上我有基于时间有人拿了完成一个迷宫创建一个前10名。 我开始通过重新设置系统时间为0时,用户通过这样穿过迷宫的首字符: mov ah, 2Dh mov ch, 00 mov cl, 00 mov dh, 00 int 21h 当用户到达迷宫我得到了系统的末端,然后再次将时间存储在2个变量中。 mov ah, 2Ch int 21h mov Fin

    2热度

    1回答

    以下在Kip Irvine的Assembly x86书中找到的示例使用动态内存分配来重复分配大块内存,直到超过堆大小。我通过包含WriteWindowsMsg过程修改了代码的某些部分,因为某些奇怪的原因,我收到了一个错误,指出此过程不存在。下面是修改后的代码: ; Heap Test #2 (Heaptest2.asm) INCLUDE Irvine32.inc .data HANDLE

    2热度

    1回答

    我想提供一个最终项目的框架,这是一个FP计算器。但是,我遇到了一些麻烦。如果我编译这个代码,我得到。我不确定这是什么汇编,但我相信它的32位和我正在使用MASM编译器。 这样做的要点是从输入文件中读取一行,并进行执行操作。但是,我只是在做定义部分,我的合作伙伴会考虑实施这些操作。 如果我要将主函数减去“Only_Nums,Character_Error:和Invalid_Char:”,程序将编译。