0

有人可以帮助了解如何为操作系统设置堆栈。

据我了解,SS是由“程序员”设置为1024(1k)并将SP移到它的顶部,对吗?

我在 MikeOS 教程中找到了以下内容,不确定如何将 544 添加到 07c0 将添加 4k 缓冲区

bootloader_start:

    mov ax, 07C0h           ; Set up 4K of stack space above buffer

    add ax, 544         ; 8k buffer = 512 paragraphs + 32 paragraphs 
4

1 回答 1

1

这是我用来设置堆栈段的代码。

; NASM syntax
xor ax, ax ; or set ax to whatever segment you wish
mov ss, ax ; IIRC, you can't just go mov ss, 0
mov sp, 0xF000 ; or set sp to whatever you wish

我认为我不必将堆栈放在那里。只要不覆盖系统数据,您就可以将其放在任何您想要的位置。

于 2012-04-30T23:29:02.413 回答