仮想マシンで FreeDOS を使用して割り込みベクトル テーブルをダンプする次のプログラムを作成しようとしています。アセンブリ プログラムを作成できることはわかっていDEBUG
ますが、次の IVTDUMP.COM ファイルを作成し、保存して実行するにはどうすればよいでしょうか。
注: 可能であれば、すべて FreeDOS から直接実行したいと考えています。コマンドを使用してみましEDIT
たが、エラーが発生し、何か不足していると確信しています。
for
(
address=IDT_255_ADDR;
address>=IDT_001_ADDR;
address=address-IDT_VECTOR_SZ,vector--
)
{
printf("%03d %08p ",vector,address);
__asm
{
PUSH ES
MOV AX,0
MOV ES,AX
MOV BX,address
MOV AX,ES:[BX]
MOV ipAddr,AX
INC BX
INC BX
MOV AX,ES:[BX]
MOV csAddr,AX
POP ES
};
printf("[CS:IP]=[%04X,%04X]\n",csAddr,ipAddr);
}