0

OSのスタックを設定する方法を理解するのに役立つ人がいますか。

私が理解している限りでは、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 に答える