Nasm是Netwide Assembler,一个开源的x86 / x64汇编程序。它旨在实现可移植,模块化和简单的语法。
我正在尝试在 .text 部分中用汇编语言定义一个字节。我知道数据应该进入 .data 部分,但我想知道为什么当我这样做时它会给我一个分段错误。如果我定义...
这个程序必须获取并显示符号。但相反,我有一系列奇怪的符号 组织100小时 组织100小时 节.文本 _开始: 移动啊,0 16小时内 移动...
我正在调用 vrndscalepd 来舍入 zmm 寄存器。要舍入的寄存器是: 3.9304247359239284、0.85804618270500566、1.899940908279022、1.5554455222287524、9.1150061014624413、9.3562881423859334、1 .
如果我们将两个非常大的 32 位值相乘,结果可能会出现在寄存器 edx 和 eax 中。 edx 持有较高位。 我们如何对这些 64 位值执行操作并将它们打印到...
从汇编中调用 C 函数——切换具有超过 6 个参数的函数的调用约定?
我有一个适用于 Linux x64 的汇编应用程序,其中我通过寄存器将参数传递给函数,因此我使用某种调用约定,在本例中为 fastcall。现在我想调用一个 C 函数
我有一个适用于 Linux x64 的汇编应用程序,其中我通过寄存器将参数传递给函数,因此我使用某种调用约定,在本例中为 fastcall。现在我想调用一个 C 函数
我计划构建一个在非常低的级别上运行、没有任何抽象的游戏引擎,为此我将使用 NASM X86/X64。这是一个好的选择还是我应该使用更高级别的la...
据我所知,Linux和Windows之间有两种常见的调用约定:函数调用的参数要么加载到寄存器中,要么放置在堆栈上。 例如
我读过这个、这个、这个,但还没找到我想要的东西。 首先,我了解 lea 和 mov 在所能达到的结果方面的区别,简单地说: mov eax, ebp ;放入
我已经读过这个,这个,还有这个还没有找到我想要的东西 首先,我了解 lev 和 mov 之间的区别在于它们可以实现的结果,简单地说 mov eax ebp ;输入值...
(程序集 NASM 提示“无法打开包含文件‘include.inc’”
我正在完成一个小项目(感谢 Tinkernut),用 Assembly 制作一个小型操作系统。我从头开始制作它,当我完成主文件后,我想到了......
我正在阅读一本关于 x64 汇编的书。这本书描述了一些关于如何使用 gdb 的内容,我能够检查整数,但打印不起作用。 如果我包含...
组装 .data 节 玩家生命:dd 5 游戏结束:dd 0 次数重置:dd 0 玩家Y:dd 5 玩家X:dd 5 玩家得分:dd 0 节.文本 全局_start 全局_完成...
学习一些 nasm 和我的汇编项目的文件格式。我目前对 SizeOfHeaders 感到非常困惑。 看一下官方文档: PE头和节的大小...
我正在学习Linux nasm汇编中的子例程(在kali机器上运行)。我编写了下面的代码,输出打印“Hello World 2 ” 两次了,我不明白为什么。所以可以...
我正在学习Linux nasm汇编中的子例程(在kali机器上运行)。我编写了下面的代码,输出打印“Hello World 2 ” 两次了,我不明白为什么。所以可以...
几周以来,我一直在学习汇编语言编程,今天我安装了编译汇编程序所需的所有应用程序。 我安装了 DOSBox 0.74、NASM(汇编器)和...
我正在尝试在asm中实现我自己的strncmp。这是 NASM 代码: 节.文本 全局 my_strncmp 我的_strncmp: mov rcx, 0;使用类似 rcx 的计数器 。下一个: cmp rdx, rcx ;我想这个
我有这个程序,我想将字符串写入屏幕,但输出是空的,我在每一行都添加了注释。 [组织0x7c00];告诉汇编器加载此代码的位置 ...
我可以在内存中分配n个长度的位字段吗? 如果这个答案是肯定的,我可以在这个字段中进行加法和乘法等运算吗?