x86-64是Intel x86架构的64位扩展
我正在编写一个编译器,它为 Linux (x86-64) 发出了以下(英特尔语法)汇编代码: lea r13, _s1 mov qword ptr [rbp + -2*8], r13 mov r10, qword ptr [rbp + -2*8] lea r13, qword ptr ...
我在性能极其重要的闭源(二进制分布式)科学软件上工作。在许多情况下,启用 AVX 和类似的扩展会带来宝贵的性能优势......
这个问题与这个问题相关:How can I access arguments 7+ using inline assembly? 我知道自己访问指针是非标准的,可能不安全,而且不可移植......
使用 C 内在函数从一个 ZMM 寄存器中提取四个 XMM 寄存器,反之亦然
在 SSE 和 AVX512 寄存器之间移动数据有一个普遍的问题,但这个问题是关于 C 内在函数的。 有一个内在函数可以将两个 xmm 寄存器插入一个 ymm:__m256 _mm256_set_...
我想创建一个对其输入求和的可变函数。我已经设法编写了用于捕获参数 2-6 的内联汇编,但我正在努力从堆栈中检索其他参数...
如何在汇编语言中使用 long int 和 long int 数组
我写了一个程序,用一个 long int 和一个 int 数组进行除法和模运算。当我想写我的除法运算结果但我不能。我无法弄清楚问题所在,但我觉得...
我正在编写代码来比较不同版本函数的执行时间。 我需要帮助来理解我观察到的机器行为。 我计时的代码执行一些
我如何使用 int、int 数组并用汇编语言打印它 [重复]
当我使用一些负整数或不是数字和整数数组时,我会例外:浮点核心转储和分段错误核心转储。另外,我不能写一些
如何在 arm64 主机平台上运行 amd64 docker 镜像
我有一台 m1 mac,我正在尝试在基于 arm64 的主机平台上运行基于 amd64 的 docker 镜像。但是,当我尝试这样做时(使用 docker run),我收到以下错误: 警告:所要求的...
安装和更新 Perl 模块为“通用”(x86_64,arm64)?
是否可以安装和更新具有通用(x86_64、arm64)架构支持的 Perl(CPAN)模块?如果是,那么如何? 背景 在基于 arm 的 macOS 计算机上,Perl CPAN 模块可以是
如何在 M1 Mac 的 Android Studio 模拟器上运行 x86_64 或 x86 图像?
我正在尝试在我的 M1 mac 中的 android studio 上设置 x86 图像。设置完成后,在启动模拟器时它会停止并显示消息 [device_name] 的模拟器进程已终止。 有没有...
将 Perl 模块安装为“通用”(x86_64、arm64)?
是否可以安装具有通用(x86_64、arm64)架构支持的 Perl(CPAN)模块?如果是,那么如何? 背景 在基于 arm 的 macOS 计算机上,可以为
printf float in nasm assembly 64-bit
我想用 printf 打印一个浮点值 全球主要 外部打印 节.data 字符串:db`%f `, 0 节.bss rs: 请求 1 [...] movq xmm0, [rs] mov rdi, 字符串 移动 rax, 0 ...
Denis Yurichev 的逆向工程挑战#10 中有这样一段 asm 代码 https://challenges.re/10/ 优化 GCC 4.8.2: 此代码片段很短,但很棘手。它有什么作用?我...
从信号处理程序调用 llvm-libunwind 是否安全?
有一个运行在Linux上的多线程应用程序,CPU架构是x86_64。我希望能够像 backtrace() 函数那样获得堆栈跟踪。信号处理程序返回后,应用程序将继续...
在程序集 x64 中将 dword 参数推送到堆栈时出现问题 [重复]
在我的 C++ 主函数中,我将 6 个 int 参数传递给一个用汇编 x64 编写的子例程。前四个参数在寄存器中,但我正在努力从堆栈中获取最后两个参数。这是我的
使用 AVX2 实现 _mm256_mullo_epi4 的最快方法
对于一个研究问题,我需要使用 AVX2/AVX 指令实现非常高效的 4 位乘法(只需要低 4 位)。 我目前的做法是: __m256i _mm256_mullo_epi4(合作...
这是我的 x86 说明,我不确定如何理解它并通过它来化解第 2 阶段 在此处输入图像描述 我不确定什么技巧可以帮助解决这种类型的
在 Apple Silicon 上调试和查找模拟的 x86_64 寄存器?
我目前使用的是 M1 MacBook Air。我想在我的本地计算机上调试 C 代码,但使用 x86_64 汇编语法和寄存器。 我尝试安装 gdb,但在我的机器上设置起来很复杂。我
尝试将数组加倍以增加数组以添加更多元素。没有编译或运行时错误,但它不会让你在 5 之后输入更多元素我不确定数组大小是否不是