C実習 プログラムによる8255a制御 * busyの確認: i/oアドレス($h42)を読み込み 2ビット目を調べる busyがh(5v)であれば "0"となり l(0v)であれば "1"となる。 * pa0〜pa7(da0〜da7)の確認 i/oアドレス(&h40)にデータを 書き込む。 例 mov al,3 out $40,al 1ビット目と2ビット目がh(5v)になる。 例 モニタledの点灯 out命令とモニタledの関係から10進数,2進数,16進数の関係が わかる。 表 モニタledの点灯とデータの書き込み * ボタンを押すとモニタledが全部つく(消える)プログラム 開発言語 delphi unit unit1; interface uses windows, messages, sysutils, classes, graphics, controls, forms, dialogs; type tform1 = class(tform) button1: tbutton; procedure button1click(sender: tobject); private { private 宣言 } public { public 宣言 } end; var form1: tform1; implementation {$r *.dfm} procedure tform1.button1click(sender: tobject); begin asm {アセンブラの始まり} mov al,$ff {$ffの代わりに$00とすると全部消える} out $40,al {ポート40にalつまり$ffを出力する} end; {アセンブラの終わり} end; end. プログラムの起動画面 次へ進む 前に戻る 理科におけるコンピュータの活用へ