ただの予防策。私は組み立ての完全な初心者です。私の唯一の質問は、DOS では次のコマンドのみであるということです。
MOV AH, 09
INT 21
MOV AX, 4C01
INT 21
09
2 番目の割り込みには、パラメータ意味表示画面がまだありますか、AX
それとも何らかの方法で変更されますか?
AH
とAL
はAX
、それぞれ の上半分と下半分です。はい、設定AX
変更AH
です。
4C
「終了プログラム」です。
Ralf Brown の Interrupt Listを検索する必要があります。これは、これらの古い DOS/Windows 割り込みの決定的なガイドです。
AH = 09H で INT 21h を呼び出すと、コンソール$
にある -terminated 文字列が出力されます。DS:DX
AH = 4cH で INT 21H を呼び出すと、リターン コードAL
(この場合は 01H) でプログラムが終了します。
が単に の上位 8 ビットであるため、2 番目の呼び出しはに設定されません。2 番目の設定は、設定の一部として次のように設定されます。AH
09H
AH
AX
MOV
AH
4cH
AX
より詳細に(ウィキペディアから):
この他のレジスターから作られたレジスターには、Intel での長い歴史があります。
ax
ah
とで構成されていal
ます。eax
16 ビットと からの他の 16 ビットで構成されていax
ます。rax
32 ビットと からの他の 32 ビットで構成されていeax
ます。他の汎用レジスター、インデックスまたはベースレジスターなどの特殊レジスター、およびスタックポインターに対する同様のアプローチとともに。
興味深いことに、それらは拡張レジスタの上位半分にアクセスする機能を複製しませんでした。たとえば、とeax
で構成されていました(どちらも神話上の話ですが、後者は のエイリアスです)。eah
eal
ax
これにより、より高いモードで非常に小さなレジスタの大きなキャッシュが得られますが、コストがどうなるかはわかりません (Intel/AMD がコストを知っていることは間違いなく、おそらく高すぎると見なされていました)。