x86 问答列表

如何使用scanf读取nasm x86 64中的浮点值?

作者:Jonas 提问时间:6/17/2023

我正在尝试简单地读取浮点值并使用程序集 x86 64 打印它。因此,当我尝试打印变量价格时,我将其用作 c 函数 scanf 缓冲区的值不会改变。 它将打印最初设置的值,因此在下面的代码中,它打印 ...

不能使用运算符<< 和 std::float128_t;如何打印?

作者:Jan Schultke 提问时间:6/18/2023

我有以下代码,它不能使用 x86_64 GCC 13 编译: #include <iostream> #include <stdfloat> int main() { std::cout << ...

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

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

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

这些推送 r16 编码在 64 位模式下是否正确?

作者:YutakaAoki 提问时间:7/29/2023

关于在 Intel x86_64 CPU 的 64BIT 模式下推送 wordregister(r16)。 在 B-28 第 2D 卷中, 附录 B,指令格式和编码, 英特尔组合手册 PDF, 订单...

GNU 汇编。“Movq %rsp, %rax” 被组装成一个只有 3 字节的二进制文件。不是 8 字节。为什么?[复制]

作者:Towa 提问时间:7/31/2023

这个问题在这里已经有答案了: 在英特尔 x86-64 架构上,机器代码指令是否以 4 字节的小端字获取? (2 个答案) 如何将 15 字节的指令从内存传输到 CPU? (2 个答案) 4个月前关闭。...

x86 是否具有 Arm FCVTNS(标量)的等效项?

作者:pmor 提问时间:8/8/2023

手臂有指令,这是(强调后加):FCVTNS (scalar) 浮点转换为有符号整数,四舍五入到最接近,并系到偶数(标量)。 一个简单的问题:x86 有相当于 Arm 的吗?FCVTNS (scal...

为什么 ld linker 在编译 elf_i386 代码时失败

作者:Jack Thomson 提问时间:1/15/2023

我正在尝试制作一个简单的操作系统,但似乎无法让链接器工作。 我尝试使用命令: ld -m elf_i386 -o kernel.bin -Ttext 0x1000 kernel-entry.o ke...

对寻址模式的混淆 - 寄存器本身在 () 之外如何作为ADDRESS_OR_OFFSET常量工作?

作者:Enlico 提问时间:8/23/2023

在《从头开始编程》的第 3 章中,我读到了 内存地址引用的一般形式是这样的: ADDRESS_OR_OFFSET(%BASE_OR_OFFSET, %INDEX, MULTIPLIER) 所有...

为什么 rsp 寄存器在叶函数中没有像任何其他函数开始时那样递减?[复制]

作者:alessio solari 提问时间:8/28/2023

这个问题在这里已经有答案了: 为什么这个函数序言中没有“sub rsp”指令,为什么函数参数存储在负 rbp 偏移量? (2 个答案) 在不调整 RSP 的情况下使用局部变量的编译器 (1 个答案) ...

即使我们在 gcc 中使用 -mno-red-zone 标志,红色区域是否仍然存在?

作者:alessio solari 提问时间:8/28/2023

我的系统:Ubuntu 22.04.3 在 x86_64上运行。GCC 版本 11.4.0 我读到System V ABI要求使用红色区域。来自 GCC 手册: 红色区域由 x86-64 ABI ...


共137条 当前第7页