Правильно ли я настроил сегмент стека в реальном режиме?

Я пишу загрузчик, и я настроил свой стек как таковой...

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,

Другие вопросы по тегам