x86 相关问题

x86是一个源自Intel 8086 CPU的架构。 x86系列包括32位IA-32和64位x86-64架构,以及传统的16位架构。关于后者的问题应该标记为[x86-16]和/或[emu8086]。如果您的问题特定于64位x86-64,请使用[x86-64]标记。对于x86 FPU,请使用标记[x87]。对于SSE1 / 2/3/4 / AVX *,也可以使用[sse]和[avx] / [avx2] / [avx512]中的任何一个

如何使用引导加载程序正确设置链接器脚本?

我有一个 2 阶段引导加载程序和一个 C 内核函数。问题是它没有进入第二阶段或内核。我在第一阶段和第二阶段都进行了char测试,以便通过ou测试...

回答 1 投票 0

C 语言的完整 x86/x64 JIT 汇编器

你知道类似这样但可以嵌入到 C 程序中的东西吗?

回答 2 投票 0

MOV 指令不会将整个寄存器复制到内存中

我正在用 x86 汇编编写一个程序并使用 MASM 对其进行汇编 我将一个 32 位值写入 EAX,然后将其复制到内存位置,但它似乎并没有复制整个寄存器,它只是......

回答 1 投票 0

直接在 shell 中反汇编操作码片段?

我得到了一个小字节串,其十六进制表示形式如下: 6631C08A2500000000 是否有反汇编程序,它接受操作码作为直接输入参数,而不需要编译文件? e....

回答 2 投票 0

如何在ARM mac上搭建conda osx-64环境?

我有一台 M1 MacBook,使用 conda 到 miniforge3。 我想使用不是为 ARM 构建的软件包(ifcopenshell、pythonocc-core)。混合通道(conda-forge/osx-64 和 conda-forge/osx-arm)通常会...

回答 2 投票 0

有没有一种有效的方法可以使用SIMD内在函数获取SIMD寄存器中的第一个非零元素?

如标题所示,如果一个256位SIMD寄存器是: 0 | 0 | 1 | 0 | 0 | 1 | 0 | 0 | 如何有效地获取第一个非零元素的索引(即第一个 1 的索引 2)?最

回答 2 投票 0

AVX512 汇编和 C++ 矩阵向量函数有奇怪的速度差异

我尝试编写一些函数来使用单个矩阵和源向量数组来执行矩阵向量乘法。我曾经用 C++ 编写过这些函数,也用 x86 编写过一次

回答 1 投票 0

Ret(来自过程)将控制权返回到该过程的开头,而不是 Main

我正在使用 MASM 和 Irvine32 编写基本的 ASM 代码。该代码按字符输入,用户输入他们想要输入的字符数,然后循环运行那么多次。 程序...

回答 1 投票 0

Ret(来自过程)将控制权返回到该过程的开始位置,而不是 Main

我正在使用 MASM 和 Irvine32 编写基本的 ASM 代码。代码是按字符输入,用户输入他想要输入的字符数&循环运行那么多次。

回答 1 投票 0

如何修改由 C 生成的现有汇编代码

我正在用C编写一些必须非常高效运行的方法,所以我想手动编辑一些自动生成的汇编代码。 我知道如何使用 gdb 读取汇编代码...

回答 3 投票 0

GDT 刷新导致整个内核失败

我正在用C从头开始编写一个x86_32位内核,在编写了VGA驱动程序之后,我一直在尝试实现GDT以及键盘驱动程序的中断。然而,我的 GDT_flush() 很有趣......

回答 1 投票 0

什么是在软件中模拟PDEP和PEXT的快速回退算法?

我想围绕 x86 指令 PDEP(并行位存储)和 PEXT(并行位提取)创建一个包装器。 在这些不可用的架构上(以及相应的内在函数......

回答 2 投票 0

“苹果”碰撞一次后不动

第一次与苹果碰撞后,它有时会移动,但之后你就没有机会让它移动了。这是使用 check_collision 函数来检查的,该函数计算了...的 x 和 y

回答 1 投票 0

-mavx2 是否意味着 -mavx 和 -msse4.2

据我了解,每个支持AVX2的CPU都支持AVX,每个支持AVX的CPU都支持SSE4.2。 这是否意味着仅指定 -mavx2 就足够了,还是两者之间存在差异......

回答 1 投票 0

使用4字节mov加载多个字时会发生什么?

AT&T 语法 我有以下代码: x: .word 1 y: .word 0 z: .word 2 mov x, %eax # eax = 0x1 x 是如何移入 %eax 的? 我知道如果没有后缀,mov 默认情况下会移动 4 个字节。 另外,x,y,...

回答 1 投票 0

(汇编 x86)当一个单词使用 4 字节 mov 时会发生什么?

AT&T 语法 我有以下代码: x: .word 1 y: .word 0 z: .word 2 mov x, %eax # eax = 0x1 x 是如何移入 %eax 的? 我知道如果没有后缀,mov 默认情况下会移动 4 个字节。 另外,x,y,...

回答 1 投票 0

SSE指令加载零扩展字节?

假设我有一个指向 RDI 中一堆 uint8_t 的指针,我想将 4 个 uint8_t 加载到 XMM0 中,并使用 SIMD 指令将其与 XMM1 相乘,其中我存储了 4 个浮点值。 我怎么能...

回答 1 投票 0

如何防止编译器“优化”SIMD常量来查找表?

一个例子可能是最好的,所以考虑这个代码(忽略逻辑,这是无意义的): #包括 auto foo(long long const a[], size_t n) { 自动常量 v = _mm_set_epi64x(

回答 1 投票 0

尝试将值传递给保留字节

我想将“hello world”传递给保留的“teste”,但它只读取传递的字符串的第一个字符。 .bss 节 测试RESB 1024 节.文本 全球主要 ...

回答 1 投票 0

_mm256_insert_epi32()没有效果

我开始在 Linux 上使用 GCC 12 在 x86 上编码 AVX2。一切都按预期进行。除了以下片段: #包括 #包括 __m256i aVector =

回答 1 投票 0

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