x86-64 相关问题

x86-64是Intel x86架构的64位扩展

在 x86 汇编中,我想调用一个函数,但它不传递参数?

举个例子: subq $16, %rsp movq %rdi,-8(%rbp) movq -8(%rbp),%rax # 隐式定义:$xmm0 pinsrw $0,(%rax),%xmm0 callq __extendhfsf2@PLT ...

回答 0 投票 0

如何修复以下 mod、gcd 和 prime 函数?

我正在尝试实现一个具有三个函数的程序——模数、gcd 和素数——根据输入,将计算并返回两个输入的余数 gcd 以及所述 gcd 是否为素数。然而,有...

回答 0 投票 0

如何让 AMD Epyc Zen 2 处理器保持“热”和快速?

我编写了一个多线程 SIMD 矩阵向量乘法,在我感兴趣的大小下它的性能优于英特尔 MKL (针对多核优化的多线程固定大小矩阵向量乘法...

回答 0 投票 0

防止 CPU 内核使用 LL 缓存

我有以下问题:我有一个低延迟应用程序在核心 0 上运行,一个常规应用程序在核心 1 上运行。我想确保核心 0 应用程序获得尽可能多的缓存,然后......

回答 2 投票 0

将位掩码拆分为设置位的子掩码

我有一个带有少量设置位的掩码,只有 3 或 4 个。 掩码最多可以是 64 位,但让我们举一个简短的例子 - 10100101 我想生成停止在设定位的掩码,但我...

回答 1 投票 0

avx2是否有通过查找表从内存加载的指令? [重复]

avx2是否有通过查找表从内存加载的指令?比如我要实现一个函数,这个函数有两个变量int64_t a[256]和int lookuptable[256]。 ...

回答 0 投票 0

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

回答 1 投票 0

“Hello World”的分段错误

好吧,我只是想运行一个简单的 GNU 汇编程序,但出了点问题。 。数据 你好_str: .string "你好,世界! “ ...

回答 0 投票 0

VMX Activity state=shutdown的奇怪现象:

所有AP都是非root的。 BSP 在 root 中设置以下项目,然后 VM 进入(不是向量化): 活动状态=2 中断状态=0 NMI-退出=1 虚拟 NMI=1 NMI-窗口退出=1 手风琴...

回答 0 投票 0

使用 GCC 32 位与 64 位说明将 C 反汇编为程序集 x86_64

我正在尝试通过逆向工程程序学习汇编 x86_64,以了解汇编的工作原理。为此,我使用 gcc 编译器将 C 代码反汇编为汇编代码。我为此使用的命令...

回答 1 投票 0

为什么lea指令将与源地址不同的地址加载到目标?

在下面的示例中,我希望 rax 的值应等于 0x555555555ffd。但在我执行指令后,rax 显示地址为 0x555555556004。 lea指令如何计算...

回答 0 投票 0

强制函数在 clang 或 prologuless 非裸 C 函数上进行优化——将基于 C 常量的 asm 块粘贴在一起

是否有强制优化 clang 上的 C 函数,即使文件是使用 -O0 编译的? 我正在寻找等同于 gcc 的 __attribute((optimize("s")) 或 __attr 的东西...

回答 3 投票 0

fgets in assembly x86_64 errors when trying to fprint char*

我正在尝试使用 fgets 逐行读取文件。该子例程是从一个 c 测试文件中调用的,其中第一个参数是我试图从中读取的 FILE*。 这是我的代码...

回答 1 投票 0

Binary Bomb phase 4 first int

我目前无法计算出解决二进制炸弹第 4 阶段所需的第一个数字。我已经知道我需要两个整数 (%d %d) 并且我知道第二个整数是什么,但我是

回答 0 投票 0

在x86_64中使用ret任意跳转[重复]

程序 节.data msg db "你好,朋友。",0x0a, 0x0 长度数据库 0x10 节.text 全局_start _开始: 调用_illegaljmp _出口: 移动 rax, 60 移动 rdi, 0 系统调用

回答 0 投票 0

在MASM64中,是否有将16位立即数压入堆栈的指令?

在 MASM64 中,如果我编写指令 push 0,它会将一个 64 位立即数压入堆栈(即 RSP = RSP - 8)。 因此,如果我只想推送一个 16 位立即数来设置 FLAGS,我不知道只能写...

回答 3 投票 0

将 __asm__ __volatile__ 转换为 NASM

有没有办法将 asm volatile 转换为 NASM 这是我试图转换的代码 __asm__ __volatile__ ("cpuid" : \ "=a" (eax), "=b" (ebx), "=c&quo...

回答 0 投票 0

我正在尝试在汇编程序中编写一个函数,该函数以 3 为单位计数,从 1 到 rcx 以 3 计数,最大值为 20

例如,如果参数为 20,则循环应计数 1、4、7、10、13、16、19,然后结束。到目前为止我写的东西会算得上正确,但它不会止于 20。 .globl __Z5counti

回答 0 投票 0

如何将函数或标签的地址加载到寄存器中

我正在尝试将“main”的地址加载到 GNU 汇编器中的寄存器 (R10) 中。我做不到。这是我所拥有的以及我收到的错误消息。 主要的: 主线,%r10 我也试过

回答 1 投票 0

配置 qemu KVM-SVM 不模拟 rtdscp 并获取有效时间戳

我正在尝试测量 VM 中一条指令的周期数——我的代码如下所示: 开始 = rdtscp(); 我++; 结束 = rtdscp(); //增加我采取结束时间周期 据我所知,...

回答 0 投票 0

© www.soinside.com 2019 - 2024. All rights reserved.