我有一個簡單的內核以及一個引導加載程序。在引導裝載程序進入保護模式之前,我想使用中斷來檢索系統內存量(int 0x12),然後將標籤保存的值設置爲檢索到的內存量。一旦內核加載(處於保護模式),我想訪問數據。x86在不包含文件的情況下訪問標籤
起初打算用以下結構:
; sysinfo.asm
RAM: dd 0 ; declare RAM as a 4 byte label
; boot.asm
%include "sysinfo.asm"
; bootloader code here
xor ax, ax
int 0x12
mov [RAM], ax
; go into protected mode and launch kernel
; kernel.asm
%include "sysinfo.asm"
mov ax, [RAM]
; print ax
但是如我所料的情況發生,因爲在boot1.asm的RAM標籤和kernel.asm的RAM標籤是完全不同的,他們不指向同一個地址,我怎麼能這樣做?