X86 为GRUB引导加载程序的多重引导指定的全局变量的含义是什么

X86 为GRUB引导加载程序的多重引导指定的全局变量的含义是什么,x86,operating-system,kernel,bootloader,grub,X86,Operating System,Kernel,Bootloader,Grub,我正努力想弄清楚这是怎么回事 .set ALIGN, 1<<0 # align loaded modules on page boundaries .set MEMINFO, 1<<1 # provide memory map .set FLAGS, ALIGN | MEMINFO # this is the Multiboot 'flag' field .set MAGIC, 0x1BADB002

我正努力想弄清楚这是怎么回事

.set ALIGN,    1<<0             # align loaded modules on page boundaries
.set MEMINFO,  1<<1             # provide memory map
.set FLAGS,    ALIGN | MEMINFO  # this is the Multiboot 'flag' field
.set MAGIC,    0x1BADB002       # 'magic number' lets bootloader find the header
.set CHECKSUM, -(MAGIC + FLAGS) # checksum of above, to prove we are multiboot
.set ALIGN,1Michael指向的链接准确地显示了正在发生的事情。FLAGS符号(在您的示例中包含0xB0000000)指定操作系统映像请求或需要引导加载程序的功能。位0是由于对齐符号而设置的,它指定随操作系统加载的所有引导模块必须在页面(4KB)边界上对齐。由于MEMINFO符号而设置的位2指定需要内存信息