标签: assembly x86 bootloader gas osdev
在nasm(Netwide Assembler)中,可以使用 $ 查找当前指令的地址,并使用 $$ 查找当前部分的地址。通过使用($ - $$),我们得到目前为止的部分长度,并使用完整的指令:
times 512-($-$$) db 0
我们用零填充扇区的其余部分。 这通常用于OS开发的小型hello-world程序。
我已经看到GNU汇编程序支持像 rept 这样的构造来进行重复,而。(dot)可用于获取当前地址。但我还没有弄清楚如何在气体中完成整个事物。
那怎么办呢?