x86-64 问答列表

x86_64程序集中的分段错误:系统调用问题 [重复]

作者:codesmith 提问时间:11/13/2023

这个问题在这里已经有答案了: 在函数中使用 DB(定义字节)时的分段错误( 1 个答案) 9天前关闭。 我只是尝试在屏幕上打印“Hello!”,但我遇到了 SegmentationFault 错误。...

x86_64架构是否有掩码和比较指令?

作者:Marc 提问时间:11/12/2023

需要在运行时保留类型信息的编程语言的实现通常使用整数值的某些位作为标记位。C 编程语言中处理此类标记的典型表达式如下所示: (val && MASK) == TAG 在机器语言中,必须实现这样的...

x86-64 上的浮点 CPU 操作的可重现性如何?

作者:MWB 提问时间:11/14/2023

注意:这个问题是关于CPU指令的,而不是高级语言(你受编译器的摆布) 来自一个流行的答案: 在相同的硬件上运行相同的浮点运算始终会产生相同的结果。 但是,我们可以在 x86-64 上做出更强的保...

汇编代码“lea”指令输入。Lea (,reg1,reg2) [重复]

作者:Zayed Aldhaheri 提问时间:11/15/2023

这个问题在这里已经有答案了: CS:APP示例使用带有两个操作数的idivq? (3 个答案) 关于 [base + index*scale + disp] 和 AT&T disp(base, ind...

在程序集中写入共享对象时,如何处理“针对受保护符号的重新定位R_X86_64_PC32”?

作者:Marc 提问时间:11/16/2023

我正在用汇编语言编写一个对象文件,以包含在共享对象中。我正在使用 GNU 工具链,我的目标是 .请考虑以下(示例)来源:x86_64-pc-linux-gnu .text .globl f f:...

在 Apple Silicon 上预期BUS_ADRERR时出现BUS_ADRALN错误

作者:user46317 提问时间:11/16/2023

在将大型 C++ 代码库移植到 Apple Silicon 时,我观察到信号处理在本机构建中的行为有所不同。具体来说,我正在写入 mmap 内存地址,并预计会出现BUS_ADRERR总线错误。Wind...

Linux x64 调用约定 - 为什么前 6 个参数与 RBP 的负偏移量相同?

作者:Xiaoyong Guo 提问时间:7/13/2023

我正在阅读此页面 Linux x64 调用约定,但对通过寄存器和堆栈传递函数参数感到困惑。它说: 参数 1-6 在修改之前通过寄存器 RDI、RSI、RDX、RCX、R8、R9 访问,或者通过 RB...

为什么生成的相同汇编程序代码不会导致相同的输出?

作者:pmor 提问时间:11/27/2021

示例代码 ():t0.c #include <stdio.h> float f(float a, float b, float c) __attribute__((noinline)); floa...

如何在 64 位 NASM 中使用 malloc 和 free?

作者:RTC222 提问时间:2/8/2018

在 64 位 NASM 中,我使用 C 库中的 malloc() 分配一个 8000 字节的内存块,完成后,我通过调用 free() 来解除分配它。 我的研究提出了许多关于如何在 64 位 NASM...

为什么除以 3 需要在 x86 上右移(和其他奇怪之处)?

作者:Jan Schultke 提问时间:8/15/2020

我有以下 C/C++ 函数: unsigned div3(unsigned x) { return x / 3; } 当使用 clang 10 at 编译时,这会导致:-O3 div3(un...


共61条 当前第4页