x86-64 问答列表

在 Linux/x86-84 上传递大对象的 C++ 调用约定

作者:Xiaoyong Guo 提问时间:1/22/2021

我正在尝试理解在 C++/Linux/x86-64 平台中按值传递对象作为函数参数的开销。 我用于探索的实验代码发布在下面和 godbolt.org 上:https://godbolt.org/z/...

i386 和 x86-64 上 UNIX 和 Linux 系统调用(和用户空间函数)的调用约定是什么

作者:claws 提问时间:3/29/2010

以下链接解释了 UNIX(BSD 风格)和 Linux 的 x86-32 系统调用约定: http://www.int80h.org/bsdasm/#system-calls http://www...

如何计算指令中的字节数?[复制]

作者:Frostmourne 提问时间:10/13/2022

这个问题在这里已经有答案了: 如何判断 x86 指令的长度? (7 个答案) 从 32 位 x86 汇编代码读取程序将有多少字节的方法是什么(1 个答案) 去年关闭。 今天,我得到的答案是“比较 c...

ASM/NASM - 在类型结构中返回 MUL 的高低

作者:1111 B 提问时间:12/2/2022

global mymul mymul: mov rax, rdi mul rsi ret #include <stdio.h> typedef struct { unsigned lon...

如何从 C 生成的 shellcode 中删除 NULL 字节?

作者:vengy 提问时间:1/15/2023

为了好玩,我正在尝试使用 Windows MSVC x86-64 重写此 NASM Windows/x64 - 动态无空 WinExec PopCalc Shellcode(205 字节),如下所示:...

NASM 中的 RDTSCP 始终返回相同的值(对单个指令进行计时)

作者:RTC222 提问时间:2/11/2019

我在 NASM 中使用 RDTSC 和 RDTSCP 来测量各种汇编语言指令的机器周期,以帮助优化。 我阅读了 Gabriele Paoloni 在英特尔(2010 年 9 月)撰写的“如何在英特尔...

组装功能中用于将缓冲区设置为零的不一致时钟周期测量

作者:Z123 提问时间:6/8/2023

我目前正在研究一个将缓冲区设置为零的汇编函数。我正在测量执行该函数所需的时钟周期。但是,我遇到了一个问题,即无论缓冲区大小如何增加,时钟周期数都保持不变,我无法解释此行为。 这是我正在使用的汇编函数...

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

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

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

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

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

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

使用 AVX-512 乘以“uint64_t”的向量 [复制]

作者:Litherum 提问时间:10/1/2023

这个问题在这里已经有答案了: 为什么使用 imul 来乘以无符号数字? (2 个答案) 将int64_t数组相乘的最快方法? (2 个答案) 为什么有符号和无符号乘法在x86(-64)上的指令不同? ...


共61条 当前第5页