x86-64是Intel x86架构的64位扩展
举个例子: subq $16, %rsp movq %rdi,-8(%rbp) movq -8(%rbp),%rax # 隐式定义:$xmm0 pinsrw $0,(%rax),%xmm0 callq __extendhfsf2@PLT ...
我正在尝试实现一个具有三个函数的程序——模数、gcd 和素数——根据输入,将计算并返回两个输入的余数 gcd 以及所述 gcd 是否为素数。然而,有...
如何让 AMD Epyc Zen 2 处理器保持“热”和快速?
我编写了一个多线程 SIMD 矩阵向量乘法,在我感兴趣的大小下它的性能优于英特尔 MKL (针对多核优化的多线程固定大小矩阵向量乘法...
我有以下问题:我有一个低延迟应用程序在核心 0 上运行,一个常规应用程序在核心 1 上运行。我想确保核心 0 应用程序获得尽可能多的缓存,然后......
我有一个带有少量设置位的掩码,只有 3 或 4 个。 掩码最多可以是 64 位,但让我们举一个简短的例子 - 10100101 我想生成停止在设定位的掩码,但我...
avx2是否有通过查找表从内存加载的指令?比如我要实现一个函数,这个函数有两个变量int64_t a[256]和int lookuptable[256]。 ...
Intel x86_64 程序集将整数添加到双精度浮点数 SSE、SSE2
为了达到这样的目的: 对于 (int i=0; i < height; i++) { double relY = cY-i; ... L1: cmp rax, [rsi] jz end mov xmm2, rax ;<---- ... How can I move
好吧,我只是想运行一个简单的 GNU 汇编程序,但出了点问题。 。数据 你好_str: .string "你好,世界! “ ...
VMX Activity state=shutdown的奇怪现象:
所有AP都是非root的。 BSP 在 root 中设置以下项目,然后 VM 进入(不是向量化): 活动状态=2 中断状态=0 NMI-退出=1 虚拟 NMI=1 NMI-窗口退出=1 手风琴...
使用 GCC 32 位与 64 位说明将 C 反汇编为程序集 x86_64
我正在尝试通过逆向工程程序学习汇编 x86_64,以了解汇编的工作原理。为此,我使用 gcc 编译器将 C 代码反汇编为汇编代码。我为此使用的命令...
在下面的示例中,我希望 rax 的值应等于 0x555555555ffd。但在我执行指令后,rax 显示地址为 0x555555556004。 lea指令如何计算...
强制函数在 clang 或 prologuless 非裸 C 函数上进行优化——将基于 C 常量的 asm 块粘贴在一起
是否有强制优化 clang 上的 C 函数,即使文件是使用 -O0 编译的? 我正在寻找等同于 gcc 的 __attribute((optimize("s")) 或 __attr 的东西...
fgets in assembly x86_64 errors when trying to fprint char*
我正在尝试使用 fgets 逐行读取文件。该子例程是从一个 c 测试文件中调用的,其中第一个参数是我试图从中读取的 FILE*。 这是我的代码...
我目前无法计算出解决二进制炸弹第 4 阶段所需的第一个数字。我已经知道我需要两个整数 (%d %d) 并且我知道第二个整数是什么,但我是
程序 节.data msg db "你好,朋友。",0x0a, 0x0 长度数据库 0x10 节.text 全局_start _开始: 调用_illegaljmp _出口: 移动 rax, 60 移动 rdi, 0 系统调用
在 MASM64 中,如果我编写指令 push 0,它会将一个 64 位立即数压入堆栈(即 RSP = RSP - 8)。 因此,如果我只想推送一个 16 位立即数来设置 FLAGS,我不知道只能写...
将 __asm__ __volatile__ 转换为 NASM
有没有办法将 asm volatile 转换为 NASM 这是我试图转换的代码 __asm__ __volatile__ ("cpuid" : \ "=a" (eax), "=b" (ebx), "=c&quo...
我正在尝试在汇编程序中编写一个函数,该函数以 3 为单位计数,从 1 到 rcx 以 3 计数,最大值为 20
例如,如果参数为 20,则循环应计数 1、4、7、10、13、16、19,然后结束。到目前为止我写的东西会算得上正确,但它不会止于 20。 .globl __Z5counti
我正在尝试将“main”的地址加载到 GNU 汇编器中的寄存器 (R10) 中。我做不到。这是我所拥有的以及我收到的错误消息。 主要的: 主线,%r10 我也试过
配置 qemu KVM-SVM 不模拟 rtdscp 并获取有效时间戳
我正在尝试测量 VM 中一条指令的周期数——我的代码如下所示: 开始 = rdtscp(); 我++; 结束 = rtdscp(); //增加我采取结束时间周期 据我所知,...