これは私のコードです:
...
data_seg equ os_data-gdt_start
code_seg equ os_code-gdt_start
...
jmp code_seg:pm_start
[BITS 32]
pm_start:
mov ax,data_seg
mov ds,ax
mov word [ds:0xb8000],0xC341
gdt の dc ビット (アクセス バイトの 3 番目のビット) がゼロの場合、正しく動作します。1のときに機能しない理由を知りたいですか?
dc ビットはデータ セレクターの方向ビットであり、それが 0 の場合はセグメントが成長し、1 の場合はセグメントが成長することを知っています。しかし、成長と成長が正確に何を意味するのかわかりません。スタックを使用したいときは、成長して成長することを意味します.( ESP++ および ESP-- )