この例では、いくつかの古い VGA コードを使用してシーケンス コントローラ レジスタがどのように設定されているか理解できません。
mov dx,SC_INDEX
mov ax,0604h
out dx,ax ;disable chain4 mode
この例は、Michael Abrash の VGA 本からのものです: https://www.phatcode.net/res/224/files/html/ch47/47-02.html
説明によると、彼はインデックス 4 にあるメモリ モード レジスタを設定したいと考えています。彼は、ビット インデックス 3 にある chain4 を無効にしたいと考えています (すべて、Richard F. Ferraro による EGA、VGA、およびスーパー VGA カードのプログラマーズ ガイドによると)。 )。
なぜ彼が 06 と 04out
の 2 バイトを ax に入れ、それらを . out レジスタは 1 バイトのみであり、アドレス指定のためにレジスタのインデックスを明示的に設定していません。私が理解できない魔法が起こっているのでしょうか?