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
遅延ループ:
ループ遅延ループ;カウンタがゼロになるまでループする
レット