Правильно ли я настроил сегмент стека в реальном режиме? - PullRequest
3 голосов
/ 10 июля 2011

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

STACK_SEGMENT equ 0x0050
STACKP_OFFSET equ 0x03FF

mov ax, STACK_SEGMENT
mov ss, ax
mov sp, STACKP_OFFSET

Выделяю ли я 1024 байта стекового пространства, делая это?и уместно ли загружать другие вещи в 0x00900?0x00900 должно быть сразу после моих данных стека ...

1 Ответ

1 голос
/ 10 июля 2011

Да, это предоставит вам 1024 байта стекового пространства, если вы не загрузили ничего между 0x500 и 0x900. Кроме того, да, безопасно хранить данные в формате 0x900 без перезаписи стека. Следует помнить одну вещь: если сегменты стека и данных различаются, вам нужно будет использовать префиксы сегментов, если вы хотите получить доступ к данным в стеке с любым регистром, отличным от sp или bp.

...