Правильно ли я настроил сегмент стека в реальном режиме?
Я пишу загрузчик, и я настроил свой стек как таковой...
STACK_SEGMENT equ 0x0050
STACKP_OFFSET equ 0x03FF
mov ax, STACK_SEGMENT
mov ss, ax
mov sp, STACKP_OFFSET
Я делаю 1024 байта стекового пространства, делая это? и это уместно, чтобы загрузить другие вещи в 0x00900? 0x00900 должно быть сразу после стека данных...
1 ответ
Решение
Да, это предоставит вам 1024 байта стекового пространства, если вы не загрузили ничего между 0x500 и 0x900. Кроме того, да, безопасно хранить данные в формате 0x900 без перезаписи стека. Следует помнить одну вещь: если сегменты стека и данных различаются, вам нужно будет использовать префиксы сегментов, если вы хотите получить доступ к данным в стеке с любым регистром, кроме sp
или же bp
,