←前ページへ :  INDEX :  次ページへ→


8-2.IN命令 ( Input from Port ) :ポートから入力

  IN命令は入出力デバイスの状態を読み出す命令である。

IN ( Input from Port ) :ポートから入力

IN	DEST,SRC

   動作:SRCのI/Oポートに接続されているデバイスの状態を読み出す
  影響を受けるフラグ:なし
    DEST:EAX(80386以上) / AX / AL
    SRC :即値(8bit)、DX
  ポートのアドレス0000h〜00FFhにアクセスするときは、SRCに既値が利用できる。すべてのポート(0000h〜FFFFh)にアクセスするにはDXレジスタを使わなくてはならない。 DESTはポートのサイズ(プログラマーが調べなくてはならない)によって、レジスタのサイズを決める。

  コンピュータの画面は左上から横に1行ずつ描画し、最後に右下に至る。そこまで来るとまた左上に戻る。これを繰り返すことで、画面が私たちに見える。 PC-9801(PC-9821)シリーズでは右下を書き終わり、左上に戻る瞬間に、A0hポートのデータ(1バイト)の6bit目が1になる。これを利用して、右下に来るまで待つプログラムを作ることができる。

WAIT_SYNC:
 in	al,0a0h
 test	al,00100000b	
 jne	WAIT_SYNC
なぜこんなことが必要かというと、VRAM(表示するグラフィックを格納するメモリー)に書くタイミングを計らないと、見た目がちらついてしまうため。今はそんなことは気にしなくても大丈夫。あくまでも昔の話・・・。

←前ページへ :  INDEX :  次ページへ→