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]中的任何一个

为什么属于同一物理核心的两个逻辑核心频率不同?

CPU开启Turbo模式时,工作频率会随着工作负载的变化而波动。我通过turbostat命令观察到每个核心在运行期间都有不同的频率...

回答 1 投票 0

x64:并发写入布尔数组

假设我在 C 中有一个这样的数组: 静态易失性布尔 my_array[128] = {0}; 最重要的是,我有 128 个线程,每个线程在完成时都会写入不同的索引 true。 可以

回答 1 投票 0

使用 simd 查找字符的第一个实例

我正在尝试使用 simd(AVX2 或更早版本)查找字符的第一个实例,在本例中为 '"'。我想使用 _mm256_cmpeq_epi8,但随后我需要一种快速的方法来查找是否有任何结果

回答 1 投票 0

12字节长的double如何放入64位寄存器中?

我们假设内存中有一个long double变量。根据我在网上找到的信息,它有 12 字节大。如果寄存器大小是64位,CPU如何对其进行操作?是否以某种方式划分?

回答 1 投票 0

我做了一个简单的hello world,内核''。它不打印任何东西。我做错了什么?

我遵循了本教程:https://www.youtube.com/watch?v=1rnA6wpF0o4,以便在启动后编写一个非常非常基本的 hello world,因为它在接下来的剧集中看起来非常完整。我的问题是...

回答 1 投票 0

Os Dev 的 PCI IDE 教程中的 insl 函数是做什么用的?

这是调用insl的函数。 void ide_read_buffer(无符号字符通道,无符号字符寄存器,无符号整数缓冲区, 无符号整型四元组) { /* 警告:此代码包含...

回答 2 投票 0

汇编代码在 QEMU 中崩溃,但在 Bochs 中运行良好

我目前正在学习一些操作系统开发并编写了一个非常基本的引导加载程序。 它只需要软盘映像的一些扇区并将其加载到 RAM 的地址 0x10000 处。然后切换到 32-...

回答 1 投票 0

使用 scasb 统计某个单词在句子中出现的次数

我一直在做一些使用 masm 的练习任务,我想出了如何用一些字符(在本例中为空格)替换句子的一部分。但我一生都无法弄清楚如何......

回答 1 投票 0

值是否应该始终从 x87 FPU 堆栈中弹出?

最近我一直在实模式下用x86汇编编写一些数学代码。该代码在模拟器和真实硬件中都经过了测试。 我假设,在我的数学函数中,我可以简单地离开

回答 1 投票 0

定义内联字节注册到NASM中;将数据库字符串放入 .data 并通过一个源代码行获取指向它的指针?

有什么方法可以这样传递字节吗? mov ecx, 字节 ["mybytes",0xa,0] 代替: .data 节 mybytes db "mybytes",0xa,0 节.文本 全球主要 主要的: 我...

回答 1 投票 0

使用GDB调试x86 NASM程序时无法打开文件

这是从我的代码中读取文件的简化示例: .data 节 文件名 db 'txt.txt', 0x00 .bss 节 FD RESD 0x01 增益恢复 0x100 节.文本 全局_start _开始:...

回答 1 投票 0

为什么x86 int寄存器的数量是8个?

最近开始学习x86汇编语言和CPU架构。我注意到 int 寄存器的总数是 8,但对于 x86-64 来说是 16。 为什么?一定有一些解释。

回答 3 投票 0

澄清 32 位寄存器 x86 的各个部分

我有一个关于 x86 汇编中 32 位寄存器的子部分的问题:寄存器的较低子部分(使用时)是否被视为相应 32 位寄存器的一部分?

回答 1 投票 0

是否可以将线程执行转移到另一个线程?

我目前正在尝试将线程执行从当前线程转移到另一个新创建的线程的可能性(我希望它是一个正确的词);这是插图: 线程 1 运行...

回答 2 投票 0

定义要在程序集 x86 中注册的内联字节

有没有办法以这种方式传递字节: mov ecx, 字节 ["mybytes",0xa,0] 代替: .data 节 mybytes db "mybytes",0xa,0 节.文本 全球主要 主要的: 我...

回答 1 投票 0

缓存预取是在硬件地址空间还是虚拟地址空间完成的?

硬件预取器是在连续的虚拟地址上操作,还是在连续的硬件地址上操作?想象一下这样的情况,您有一个跨越多个字节的大数组......

回答 1 投票 0

有没有比cpuid更便宜的序列化指令?

我已经看到了相关问题,包括这里和这里,但似乎唯一提到的用于序列化 rdtsc 的指令是 cpuid。 不幸的是,我的 cpuid 大约需要 1000 个周期......

回答 4 投票 0

使用串口以汇编x86发送16位数据

我正在制作一个在 2 台电脑上运行的多人游戏,他通过两个 com 端口进行通信,想法是我想发送和接收 16 位数据,但最高值是 8,所以我需要将 th.. .

回答 1 投票 0

为什么使用非完全序列化指令时,用`mov CR0, ...`改变`PG`后需要跳转一次?

英特尔® 64 和 IA-32 架构软件开发人员手册第 3A 卷 9.3 序列化指令 当执行启用或禁用分页的指令(即更改 PG...

回答 2 投票 0

汇编x86,mov $constant,%register

我有以下代码片段: 移动$0,%eax 移动$0x2023,%ax 移动 $1,%ah 执行 mov $0x2023, %ax 时会发生什么? 我期望 %eax=0x20231 但它是 0x123。我使用了调试器并看到...

回答 1 投票 0

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