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

EBP帧指针寄存器的用途是什么?

我是汇编语言的初学者,并且注意到编译器发出的 x86 代码通常会保留帧指针,即使在发布/优化模式下,当它可以使用 EBP 寄存器时...

回答 5 投票 0

我一直致力于解决 Nasm asm 代码第 32 位的分段错误

我对asm编程很陌生。我一直在尝试解决一些任务作为学习的方式。其中两个任务运行良好,但两个任务因分段错误而失败。我经历了很多

回答 1 投票 0

X86 上,load(memory_order_seq_cst) 或atomic_fetch_add(0, memory_order_relaxed) 哪一个性能更好?

问题1:我有一个主要用于计数的变量,只关心它自己的值。以下两种方法哪一种性能更好? 方法一: 阅读:aaa.atomic_fetch_add(0,

回答 1 投票 0

为什么编译器在未优化的调试版本中不简单地将数据从 edi 移动到 eax?

我正在观察为以下函数创建的程序集。 int square(int num) { 返回数字; } 这是为上述函数生成的程序集: 正方形: 推送rbp ...

回答 3 投票 0

为什么编译器不简单地将数据从 edi 移动到 eax?

我正在观察为以下函数创建的程序集。 int square(int num) { 返回数字; } 这是为上述函数生成的程序集: 正方形: 推送rbp ...

回答 1 投票 0

x86 P6 上下文中的字节寄存器是什么?

我正在尝试将 OpenJDK 交叉编译到旧的 32 位 VIA Geode LX 处理器,并且我一直遇到这个断言: 断言(VM_Version::is_P6() || dest_reg->has_byte_register(), “必须使用字节

回答 1 投票 0

x86-64 执行地址计算 mov 即 mov i(r, r, i), r 在端口 1 上执行吗?还是还是p0156?

我问 mov 指令是否需要计算该地址,即(在 at&t 语法中 mov i(r, r, i), reg 或 mov reg, i(r, reg, i) 必须在端口 1 上执行,因为它们实际上是...

回答 1 投票 0

为超过4字节的x86汇编MASM声明本地存储

似乎没有办法声明 1 个变量可以在 x86 Assembly MASM 中获得分配给堆栈的超过 4 个字节,我像这样定位我的存储 ;方法1 method1 PROC stdcall 使用 ea...

回答 1 投票 0

从友好的 UI (Emu8086) 迁移到真正的 x86 程序集

我是 emu8086 模拟器汇编的专家(这是我们在大学教授的),但显然 emu8086 模拟器不是真正的汇编语言,我正在尝试学习 x86 汇编语言...

回答 1 投票 0

使用 simd 指令时的堆栈对齐

在我正在读的关于汇编的书中,我们被告知对于我们编写的任何函数,如果它是一个分支函数并且将调用其他函数,它必须保持堆栈对齐。这样做是为了 SIMD

回答 1 投票 0

NASM 创建函数局部符号的方法以及它们在递归情况下的行为方式

根据我所了解到的,我很可能是错的,要在 NASM 中为函数提供局部变量,我们可以 使用函数基指针的偏移量和堆栈上的空间来充当 lo...

回答 1 投票 0

如何使用gcc生成Intel语法的汇编代码?

gcc -S 选项会生成 AT&T 语法的汇编代码,有没有办法生成 Intel 语法的文件?或者有没有办法在两者之间进行转换?

回答 3 投票 0

汇编单词ptr的2种情况

这里,第一个代码在 dd 变量上使用 + 1 来访问我理解的第二个字节, 但第二个代码我使用了一个具有相同符号 + 1 的数组,我发现这是第二个 el...

回答 1 投票 0

组装 x86 Linux 不读取特定部分的用户输入

读取用户输入的初始系统调用工作得很好,但由于某种原因,当我稍后在代码中调用第二次读取时,它无法正常工作。它只是在

回答 1 投票 0

为什么 IA 32 任务是不可重入的

我有关于 IA32 任务的问题。 TSS 只允许为一项任务保存一个上下文;因此,一旦 任务被调用(调度),递归(或可重入)调用 任务会导致...

回答 1 投票 0

Intel AVX2中的异或指令“VPXORD”、“VXORPS”和“VXORPD”有什么区别

我看到在AVX2指令集中,Intel用不同的指令区分了整数、双精度和浮点的异或运算。对于整数,有“VPXORD”,对于双精度“VXORPD”,对于浮点数“VXO...

回答 1 投票 0

ELF 中的 <.got> 部分是什么?

据我所知,PLT和GOT是处理动态链接函数的部分。 如果代码调用 libc 的 printf 函数, 1. 首先调用PLT获取printf的地址。 2.并写下

回答 2 投票 0

我的引导扇区尝试从另一个扇区加载代码并执行它,但它却锁定了。出了什么问题?

为了学习,我考虑制作一个小型操作系统,现在正在启动加载程序。我希望能够使用 int 0x13 从软盘驱动器读取扇区,将它们放入内存中,然后...

回答 2 投票 0

如何在 clang++ 中禁用矢量化?

考虑以下小搜索功能: 模板 int32_t countsearch(const uint32_t *base, uint32_t 针) { uint32_t 计数 = 0; #pragma clang 循环矢量化(disa...

回答 2 投票 0

在装配体中绘制NES Link

我目前正在组装重制NES Zelda,由于某种原因,我无法正确显示角色。 理想的 型号 小号 堆叠100小时 数据段 代码段 开始: 移动斧头,@data ...

回答 1 投票 0

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