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 位模式下使用是否有原因?是的,我知道,此类说明仅适用于兼容性问题,并且应该......
为什么该程序的 32 位和 64 位编译版本以这种方式填充内存?
我试图更好地理解堆栈和堆的工作原理。 在比较同一程序的 32 位和 64 位编译版本时,我遇到了一个障碍。 在这两种情况下,我都使用了嘉宾 Fedor...
Intel官方文档说:“如果目标操作数和寄存器AL、AX或EAX中的值相等,则ZF标志被设置;否则被清除。CF、PF、AF、SF和OF标志。 ..
我正在编写自己的操作系统内核,并开始使用 C++ 进行打印功能。我可以用字符打印到 VGA 内存(0xB8000),但是当我使用 print_str(const char* str) 函数时,它只是...
昨天的任务还在议程上:“使用GetOpenFileName函数选择一个文件。检查该文件是否小于3天,执行它。否则,显示一个对话框要求删除...
对于 x86,UEFI 运行时服务函数是否始终以 SMM 模式执行?
对于操作系统执行UEFI固件提供的功能,最常见的方法是通过SMM处理程序,通过触发SMI(系统管理中断)进入,从而导致运行SMM处理程序
英特尔的编译器有一个编译指示,可用于生成非临时存储。例如,我可以写 void square(const double* x, double* y, int n) { #pragma 非时间向量 对于 (int i=0; ...
C 编译成汇编时的 put() 和 printf() 有什么区别?
这是我使用 put() 的 C 程序: #包括 int 主函数(无效){ 投入(“测试”); } 使用 gcc -S -o Sample.s Sample.c 将其编译成 Assembly 后,这是...
我正在编写一个16位实模式汇编x86例程来读取磁盘,但它无法正常工作
我正在编写一个16位实模式汇编x86例程来读取磁盘,但它无法正常工作。 它适用于我的操作系统,如果有帮助的话。 这是我的代码,您可以粘贴,使用 NASM 进行编译,然后
我阅读了 ISA 参考资料,很清楚这两条指令在加载值的类型上有所不同(整数与单精度浮点数)。我不明白的是,负载的影响是......
对于学校作业,我必须编写 x86 汇编代码,但我不能使用 gcc 来编译它,因为我的计算机是 x64 机器,而 gcc 只支持 x86 代码。 有没有一个命令可以...
在开发 ATA PIO 驱动程序时,我遵循了以下教程:PCI IDE 控制器和 ATA PIO 模式。我成功地在 QEMU 中为 i386 实现了一个简单、最小的驱动程序。然而,我决定重新开始...
ar db“差异$” 有什么区别 mov dx,偏移ar 和 le dx,ar 我认为两者都在做相同的工作,但这两者有什么区别
我正在为 Windows 10 编写 x86 手动地图注入器。 在编写负责解析导入的代码时,我从 kernel32.dll (windows\syswow64\kernel32.dll) 中发现了一个名为“
我在Intel Intrinsic指南中看不到这一点,但也许我错过了它。 如果我有两个 512 位寄存器 a 和 b,我想将它们视为具有四个 128 位元素,然后执行: 一个[0] ...
在使用 GDB 运行 ELF 程序时,我目前目睹了特定添加指令的相当意外的行为: Intel 语法:add cl,BYTE PTR [eax] AT&T 语法:add (%eax),...
我正在准备汇编语言考试,正在做我们老师给的例子。可悲的是我遇到了一个我不明白的问题。我的任务是编写一个简短的汇编程序,其中: 有两个
为什么我的数据部分在编译的二进制文件中出现两次? Ubuntu、x86、nasm、gdb、readelf
之前的相关问题已得到解答。谢谢你! 然而,这给我带来了一个新问题。 为什么 nasm 将数据字节放在两个不同的内存位置? 我包括节目信息和其他...
这里是 nasm x86 汇编代码,用于识别数组序列中缺失的数字: [组织0x100] 跳转开始 开始: 莫夫西, 0 jmp外层 外: mov bx,测试 mov ax, [bx+si] 移动CX,0 jmp旅馆...
我正在为 x86 BIOS 开发引导加载程序。在我的第一阶段引导加载程序(MBR)中,我需要从磁盘读取2880个扇区(或更多),然后跳转到放置在第二个