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

为什么像 BOUND 或 PUSHA 这样的 x86 传统指令在 64 位模式下不可用?

某些旧版 x86 指令(BOUND、PUSHA、AAA 等)无法在 64 位模式下使用是否有原因?是的,我知道,此类说明仅适用于兼容性问题,并且应该......

回答 1 投票 0

为什么该程序的 32 位和 64 位编译版本以这种方式填充内存?

我试图更好地理解堆栈和堆的工作原理。 在比较同一程序的 32 位和 64 位编译版本时,我遇到了一个障碍。 在这两种情况下,我都使用了嘉宾 Fedor...

回答 1 投票 0

CMPXCHG 如何影响 FLAGS 寄存器?

Intel官方文档说:“如果目标操作数和寄存器AL、AX或EAX中的值相等,则ZF标志被设置;否则被清除。CF、PF、AF、SF和OF标志。 ..

回答 1 投票 0

无法将字符串(char *)打印到VGA内存

我正在编写自己的操作系统内核,并开始使用 C++ 进行打印功能。我可以用字符打印到 VGA 内存(0xB8000),但是当我使用 print_str(const char* str) 函数时,它只是...

回答 1 投票 0

如何在ASM中找出文件的年龄?

昨天的任务还在议程上:“使用GetOpenFileName函数选择一个文件。检查该文件是否小于3天,执行它。否则,显示一个对话框要求删除...

回答 1 投票 0

对于 x86,UEFI 运行时服务函数是否始终以 SMM 模式执行?

对于操作系统执行UEFI固件提供的功能,最常见的方法是通过SMM处理程序,通过触发SMI(系统管理中断)进入,从而导致运行SMM处理程序

回答 1 投票 0

如何生成非临时指令?

英特尔的编译器有一个编译指示,可用于生成非临时存储。例如,我可以写 void square(const double* x, double* y, int n) { #pragma 非时间向量 对于 (int i=0; ...

回答 1 投票 0

C 编译成汇编时的 put() 和 printf() 有什么区别?

这是我使用 put() 的 C 程序: #包括 int 主函数(无效){ 投入(“测试”); } 使用 gcc -S -o Sample.s Sample.c 将其编译成 Assembly 后,这是...

回答 2 投票 0

我正在编写一个16位实模式汇编x86例程来读取磁盘,但它无法正常工作

我正在编写一个16位实模式汇编x86例程来读取磁盘,但它无法正常工作。 它适用于我的操作系统,如果有帮助的话。 这是我的代码,您可以粘贴,使用 NASM 进行编译,然后

回答 1 投票 0

VMOVDQA 和 VMOVAPS 之间的区别?

我阅读了 ISA 参考资料,很清楚这两条指令在加载值的类型上有所不同(整数与单精度浮点数)。我不明白的是,负载的影响是......

回答 1 投票 0

如何使用gcc在x64计算机上编译x86汇编代码

对于学校作业,我必须编写 x86 汇编代码,但我不能使用 gcc 来编译它,因为我的计算机是 x64 机器,而 gcc 只支持 x86 代码。 有没有一个命令可以...

回答 1 投票 0

理解IDE驱动初始化的问题

在开发 ATA PIO 驱动程序时,我遵循了以下教程:PCI IDE 控制器和 ATA PIO 模式。我成功地在 QEMU 中为 i386 实现了一个简单、最小的驱动程序。然而,我决定重新开始...

回答 1 投票 0

lea 和 offset 的区别

ar db“差异$” 有什么区别 mov dx,偏移ar 和 le dx,ar 我认为两者都在做相同的工作,但这两者有什么区别

回答 4 投票 0

kernel32.dll中存在看似无限循环的反向转发

我正在为 Windows 10 编写 x86 手动地图注入器。 在编写负责解析导入的代码时,我从 kernel32.dll (windows\syswow64\kernel32.dll) 中发现了一个名为“

回答 1 投票 0

AVX 512 内在函数添加 128 位元素的 512 位

我在Intel Intrinsic指南中看不到这一点,但也许我错过了它。 如果我有两个 512 位寄存器 a 和 b,我想将它们视为具有四个 128 位元素,然后执行: 一个[0] ...

回答 1 投票 0

汇编/gdb:添加行为

在使用 GDB 运行 ELF 程序时,我目前目睹了特定添加指令的相当意外的行为: Intel 语法:add cl,BYTE PTR [eax] AT&T 语法:add (%eax),...

回答 1 投票 0

汇编MASM字符串比较

我正在准备汇编语言考试,正在做我们老师给的例子。可悲的是我遇到了一个我不明白的问题。我的任务是编写一个简短的汇编程序,其中: 有两个

回答 1 投票 0

为什么我的数据部分在编译的二进制文件中出现两次? Ubuntu、x86、nasm、gdb、readelf

之前的相关问题已得到解答。谢谢你! 然而,这给我带来了一个新问题。 为什么 nasm 将数据字节放在两个不同的内存位置? 我包括节目信息和其他...

回答 1 投票 0

有人可以帮我纠正语法错误和无效有效地址错误吗?

这里是 nasm x86 汇编代码,用于识别数组序列中缺失的数字: [组织0x100] 跳转开始 开始: 莫夫西, 0 jmp外层 外: mov bx,测试 mov ax, [bx+si] 移动CX,0 jmp旅馆...

回答 1 投票 0

为什么我从 LBA 到 CHS 的转换不起作用?

我正在为 x86 BIOS 开发引导加载程序。在我的第一阶段引导加载程序(MBR)中,我需要从磁盘读取2880个扇区(或更多),然后跳转到放置在第二个

回答 1 投票 0

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