したいこと
lgdtの命令の走らせてcpu側のgdt関連の設定をデバックしたい。しかし、私には分からないためやり方が知らない
c言語いうととあるそれぞれ構造体の値をprinfして出力するイメージ
該当のソースコード
bits 16 org 0x7e00 jmp main main: cli mov ax, 0 mov ds, ax mov es, ax mov fs, ax mov gs, ax mov ss, ax call gdt ; プロセッサ初期化と設定 gdt: bits 32 lgdt [gdt_setup];https://wiki.osdev.org/GDT_Tutorial gdt_setup: db gdt_end - gdt_setup dw gdt_null gdt_null: dq 0 gdt_code: dw 0xffff; limit dw 0; base mid と base用 db 0x9a; 多分アクセス type=0x9A db 11001111b;フラグ1 db 10011010b;フラグ2 db 0 gdt_date: dw 0xffff dw 0 db 0x92;type=0x92 db 11001111b db 10011010b db 0 gdt_end: ret ;ここにcpu側のgdt設定の値をデバックを行いたいコードを組み込む hlt times 510-($-$$) db 0 dw 0AA55h
試したこと
少しduckduckgoで調べたが特殊なのか分からないけどそいう関連ポイのは出てこない
補足情報(FW/ツールのバージョンなど)
アセンプリコンパイル = NASM version 2.15.05 compiled on Aug 28 2020
仮想マシン = visual box
ここにより詳細な情報を記載してください。
intelの仕様書のgdt関する情報をdeeplで翻訳させたが、ほんとんどここからここまでは自由なことを述べてたのでインテルに中指立てたくなった(*感想である)
私が参考したもの
wiki.osdev.org/GDT_Tutorialとhttp://softwaretechnique.web.fc2.com/OS_Development/kernel_loader2.html