Мне нужен указатель на местоположение, которое всегда одинаково. Итак, как я могу создать указатель на ... скажем, адрес памяти 0x20 и сохранить его каким-то образом, чтобы иметь доступ к нему позже.
Замечания:
Я не хочу хранить результат, но фактический указатель на адрес памяти (так как я хочу указать на начало массива).
Заранее спасибо.
-
Я думаю, что исправил это сейчас. Я использую прерывание BIOS 0x15, чтобы получить карту памяти. Каждое прерывание возвращает 1 запись, и вы указываете в es: di место, где BIOS может его сохранить. Я позволил биосу собрать его с 050h: 0h. Мне понадобился указатель на 0x50: 0x0 (0x500 linear), чтобы использовать карту позже. Я все еще должен проверить, но я сделал следующее:
mov ax, 0x50
mov es, ax
xor di, di
shl ax, 4
add ax, di
mov [mmr], ax
И ммр объявлен так:
mmr:
dw 0 ; pointer to the first entry
db 0 ;entry count
db 24 ; entry size