アセンブリ言語で割り込みゲートディスクリプタの設定を行っています。
この図の中の割り込みゲート。
s
1lea eax,[int_default] 2mov ebx,0x0008_8E00 3xchg ax,bx
32bitのオフセットは16bitとの互換性のために
分けられている・・・らしいです。
①lea eax,[int_default]
これによって
32bitのオフセットがeaxレジスタに入る。
②mov ebx,0x0008_8E00
図で言うと、15bit~47bitの範囲をebxレジスタに入れる。
③xchg ax,bx
これがよくわかりません。
xchg a,b
aとbの内容を交換する。
eax・・・(左から?)int_default[0:15] + int_default[16:31] ebx・・・(左から?)0x0008 + 8E00
これが正しいのなら
echg命令によって
eax・・・(左から?)int_default[0:15] + 8E00 ebx・・・(左から?)0x0008 + int_default[16:31]
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/01/12 08:57 編集
2020/01/12 09:08
2020/01/12 09:59