bcc32 + nasm obj 链接错误(致命:'fir.asm':需要在 .def 文件中定义其他段)
这让我头疼,让我感觉非常糟糕 我正在尝试使用旧的 borland c++ 5.5 (bcc32) 的独立汇编 我选择了 nasm 汇编器并在 asm 中编写了一些例程 - 将其…
如何获取 nasm 中系统调用 getcwd 返回字符串的真实长度?
我的程序调用中断80h的函数183(getcwd),它将当前工作目录的绝对路径名复制到buff指向的内存位置,其长度为4096。返回的绝对路径名长度通常小于4096…
如何为 win32 汇编简单的独立函数,哪个汇编器?
非常tnx寻求帮助 我想组装一些简单的函数,例如 struct float3 { float x; float y; float z; }; inline float dot(float3* a, float3* b) { return (…
0xC0000005 中 0x00000005 处未处理的异常:读取位置 0x00000005 时发生访问冲突。重拨时
我的程序应该从用户那里读取一个整数n,然后计算所有除数以及它们是否是素数。我正在使用 Irvine 32 库。现在这是奇怪的部分,当我输入偶数时,我的程…
正确的用户输入 - x86 Linux 汇编
所以我正在使用 NASM 为 Linux 开发一个 x86 汇编程序。该程序主要询问用户的姓名和最喜欢的颜色。执行此操作并将两个字符串存储在 .bss 部分中声明的…
为什么数据段和堆栈段是可执行的?
我刚刚注意到我的简单程序的数据和堆栈段是可执行的。 我在 /proc/[pid]/maps 中看到它,并且简单的代码证实了这一点。 例如: ; prog.asm section .d…
通过 x86 程序集从 argv 读取文件名
我正在尝试读取传递给我的可执行文件的文件名并使用程序集写入该文件。编译没有错误,但执行时失败。我的代码到底有什么问题? BITS 32 segment .data…
将 2 字节变量截断为 1 字节
这似乎是一个微不足道的问题,但我迷路了。 在此示例中,character 是一个 2 字节变量,而寄存器 bx 是一个单字节。我正在尝试执行 cmp bx, [characte…
Linux x86 ASM - 获取用户输入
希望这是一个简单的问题: 首先,我想知道是否有人知道如何在 Linux 上使用 x86 NASM 语法汇编来获取用户输入。现在,我有: section .data greet: db…
x86 ASM Linux - 创建循环
我正在使用 NASM 和 x86 Intel Assembly Syntax 在 Linux 操作系统上开发一个程序 - 它应该很简单。 我遇到的问题是我无法为我的程序创建工作循环: s…
通过用执行相同工作的另一条指令替换一条指令而导致分段错误。为什么?
我有这个工作 shellcode 生成一个 shell 我必须修改它,以便在编译后隐藏二进制文件中任何位置的“/bin/sh”或“sh”。因此,我想到采用 /bin/sh(2f 6…