在 Linux/x86-84 上传递大对象的 C++ 调用约定
作者:Xiaoyong Guo 提问时间:1/22/2021
我正在尝试理解在 C++/Linux/x86-64 平台中按值传递对象作为函数参数的开销。 我用于探索的实验代码发布在下面和 godbolt.org 上:https://godbolt.org/z/...
x86-64 问答列表
作者:Xiaoyong Guo 提问时间:1/22/2021
我正在尝试理解在 C++/Linux/x86-64 平台中按值传递对象作为函数参数的开销。 我用于探索的实验代码发布在下面和 godbolt.org 上:https://godbolt.org/z/...
作者: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...
作者:1111 B 提问时间:12/2/2022
global mymul mymul: mov rax, rdi mul rsi ret #include <stdio.h> typedef struct { unsigned lon...
作者:vengy 提问时间:1/15/2023
为了好玩,我正在尝试使用 Windows MSVC x86-64 重写此 NASM Windows/x64 - 动态无空 WinExec PopCalc Shellcode(205 字节),如下所示:...
作者:RTC222 提问时间:2/11/2019
我在 NASM 中使用 RDTSC 和 RDTSCP 来测量各种汇编语言指令的机器周期,以帮助优化。 我阅读了 Gabriele Paoloni 在英特尔(2010 年 9 月)撰写的“如何在英特尔...
作者:Z123 提问时间:6/8/2023
我目前正在研究一个将缓冲区设置为零的汇编函数。我正在测量执行该函数所需的时钟周期。但是,我遇到了一个问题,即无论缓冲区大小如何增加,时钟周期数都保持不变,我无法解释此行为。 这是我正在使用的汇编函数...
作者:Jonas 提问时间:6/17/2023
我正在尝试简单地读取浮点值并使用程序集 x86 64 打印它。因此,当我尝试打印变量价格时,我将其用作 c 函数 scanf 缓冲区的值不会改变。 它将打印最初设置的值,因此在下面的代码中,它打印 ...
作者:Jan Schultke 提问时间:6/18/2023
我有以下代码,它不能使用 x86_64 GCC 13 编译: #include <iostream> #include <stdfloat> int main() { std::cout << ...
作者:Litherum 提问时间:10/1/2023
这个问题在这里已经有答案了: 为什么使用 imul 来乘以无符号数字? (2 个答案) 将int64_t数组相乘的最快方法? (2 个答案) 为什么有符号和无符号乘法在x86(-64)上的指令不同? ...