1. カメラ
  2. カーオーディオ&エレクトロニクス
  3. ホームオーディオ
  4. パーソナルオーディオ
  5. テレビ
  6. スマートホーム
  >> 電子技術オンライン >  >> 電話 >> 留守番電話

8086 を使用して交通信号制御システムのアセンブリ コードを作成しますか?

「」アセンブリ

;交通信号制御用のメモリアドレスを定義する

TL_RED 等価 00H

TL_YELLOW 等価 01H

TL_GREEN 等価 02H

TL_CONTROL 等式 03H

;交通信号制御用の I/O ポートを定義する

OUTPUT_PORT 等価 04H

;遅延値を定義する

DELAY_TIME 10000 相当

組織100H

;メインプログラムはここから始まります

主要:

移動、TL_RED;信号機を赤に初期化する

mov [TL_CONTROL]、al

jmp ループ;ループにジャンプします

ループ:

移動、[TL_CONTROL];現在の信号機の状態を読み取る

cmp al、TL_RED;信号が赤かどうかを確認する

ジェレッド;赤の場合は赤の状態にジャンプします

cmp al、TL_YELLOW;信号が黄色かどうかを確認する

ジェイエロー;黄色の場合は黄色の状態にジャンプします

cmp al、TL_GREEN;信号が青かどうかを確認する

ジェグリーン;緑の場合は緑の状態にジャンプします

赤:

mov al、OUTPUT_PORT;赤色光の出力ポートを選択してください

アウトアル、01H;赤いライトをオンにしてください

通話遅延。 DELAY_TIME ミリ秒の遅延

mov al、OUTPUT_PORT;赤色光の出力ポートを選択してください

アウトアル、00H;赤い光を消してください

移動、TL_YELLOW;次の信号機のステータスを黄色に設定する

mov [TL_CONTROL]、al

jmp ループ;ループにジャンプします

黄色:

mov al、OUTPUT_PORT;黄色の光の出力ポートを選択してください

アウトアル、01H;黄色のライトを点灯します

通話遅延。 DELAY_TIME ミリ秒の遅延

mov al、OUTPUT_PORT;黄色の光の出力ポートを選択してください

アウトアル、00H;黄色のライトを消してください

移動、TL_GREEN;次の信号機のステータスを青に設定します

mov [TL_CONTROL]、al

jmp ループ;ループにジャンプします

緑:

mov al、OUTPUT_PORT;緑色の光の出力ポートを選択してください

アウトアル、01H;緑色のライトをオンにする

通話遅延。 DELAY_TIME ミリ秒の遅延

mov al、OUTPUT_PORT;緑色の光の出力ポートを選択してください

アウトアル、00H;緑色のライトを消してください

移動、TL_RED;次の信号機のステータスを赤に設定します

mov [TL_CONTROL]、al

jmp ループ;ループにジャンプします

遅れ:

mov cx、DELAY_TIME;遅延用カウンタを初期化する

xor dx、dx;クリアレジスタdx

遅延ループ:

ループ遅延ループ;カウンタがゼロになるまでループする

レット