assembly - xor ax,加载​​段寄存器时的ax

标签 assembly operating-system bootloader x86

<分区>

我正在尝试编写一个引导加载程序,而我正在编写的所有代码都在实模式下运行。在我发现的所有示例中,要么是 xor ax, ax 要么是 xor eax, eax,但我不明白这是在做什么。这似乎与设置段寄存器有关,但我不清楚是什么。

最佳答案

异或指令是异或

查看异或真值表XOR

xor eax, eax ; Set eax to 0
mov eax, 0   ; Set eax to 0

我不是 100% 确定,但我认为使用 XOR 是出于某些历史原因。

关于assembly - xor ax,加载​​段寄存器时的ax,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26645676/

相关文章:

debugging - 什么是私有(private)字节、虚拟字节、工作集?

assembly - 从 DOS 启动 MBR

assembly - 为什么这段代码使用 VMULPD 来写入将被 VFMADD 覆盖的寄存器?那不是没用吗?

x86 汇编器 : floating point compare

c - 用于调试我的操作系统的调试器

c - 使用 sigaction 发送有效负载

ios - 如何将 Xcode 4.2 的 iOS 反汇编从 Thumb 切换到 ARM?

assembly - Cortex-M0+ 链接器脚本和启动代码

nasm - 引导加载程序 - 加载第二阶段 - qemu 工作,真机不工作

assembly - 如何将第9扇区复制到第1扇区?