Консультация # 193239:
Здравствуйте, уважаемые эксперты! Прошу вас ответить на следующий вопрос:
Не могу найти ошибку в коде, как я поняла нарушена логика программы. При компилировании сразу видно ошибку. Буду благодарна помощи!
#start=Traffic_Lights.exe# name "traffic2" yellow_and_green equ 0000_0110b red equ 0000_0001b yellow_and_red equ 0000_0011b green equ 0000_0100b all_red equ 0010_0100_1001b start: nop ; 0,1,2 mov ax, green out 4, ax mov ax, yellow_and_green out 4, ax mov ax,red out 4, ax mov ax, yellow_and_red out 4, ax ; 3,4,5 mov ax, green << 3 out 4, ax mov ax, yellow_and_green << 3 out 4, ax mov ax,red << 3 out 4, ax mov ax, yellow_and_red << 3 out 4, ax ; 6,7,8 mov ax, green << 6 out 4, ax mov ax, yellow_and_green << 6 out 4, ax mov ax,red << 6 out 4, ax mov ax, yellow_and_red << 6 out 4, ax ; 9,A,B mov ax, green << 9 out 4, ax mov ax, yellow_and_green << 9 out 4, ax mov ax,red << 9 out 4, ax mov ax, yellow_and_red << 9 out 4, ax ; all mov ax, all_red out 4, ax mov ax, all_red << 1 ; all yellow out 4, ax mov ax, all_red << 2 ; all green
out 4, ax jmp start
Дата отправки: 12.05.2018, 00:52
Вопрос задал: todomoku (Посетитель)
Всего ответов: 1
Страница онлайн-консультации »
Консультирует Зенченко Константин Николаевич (Модератор):
Здравствуйте, todomoku!
При запуске программы светофора, все индикаторы выключены. Устанавливая любой бит, можно включить, нужный сиглан светофора, можно включить один светофор, или вообще устроить день жестянщика.

Смотрите код, реализовано два варианта работы светофоров.
#start=Traffic_Lights.exe# name "traffic2" red1 equ 1 yellow1 equ 2 green1 equ 4 red2 equ 8 yellow2 equ 16 green2 equ 32 red3 equ 64 yellow3 equ 128 green3 equ 256 red4 equ 512 yellow4 equ 1024 green4 equ 2048 yellowAll equ yellow4+yellow3+yellow2+yellow1 redAll equ red4+red3+red2+red1 start: mov si,offset Variant1 call show mov si,offset Variant2 call show jmp start Show: lodsw mov cx,ax @@01: push si push cx lodsw mov cx,ax @@02: push cx lodsw out 4,ax mov cx, 4Ch mov dx, 4B40h mov ah, 86h int 15h pop cx loop @@02 pop cx pop si loop @@01 ret Variant1 dw 5,4 dw red4+green3+red2+green1 dw yellowAll+red2+red4 dw green4+red3+green2+red1 dw yellowAll+red3+red1 Variant2 dw 2,10 dw redAll dw redAll+yellow1 dw red4+red3+red2+green1 dw red4+red3+red2+yellow2+yellow1 dw red4+red3+red1+green2 dw red4+red3+red1+yellow3+yellow2 dw red4+red2+red1+green3 dw red4+red2+red1+yellow4+yellow3 dw red3+red2+red1+green4 dw red3+red2+red1+yellow4
Удачи!
Оценить выпуск | Задать вопрос экспертам
главная страница | стать участником | получить консультацию
техническая поддержка
Дорогой читатель! Команда портала RFPRO.RU благодарит Вас за то, что Вы пользуетесь нашими услугами. Вы только что прочли очередной выпуск рассылки. Мы старались. Пожалуйста,
оцените его. Если совет помог Вам, если Вам понравился ответ, Вы можете поблагодарить автора - для этого в каждом ответе есть специальные ссылки. Вы можете
оставить отзыв о работе портале. Нам очень важно знать Ваше мнение. Вы можете поближе познакомиться с жизнью портала, посетив
наш форум, почитав
журнал, который издают наши эксперты. Если у Вас есть желание помочь людям, поделиться своими знаниями, Вы можете
зарегистрироваться экспертом. Заходите - у нас интересно!
МЫ РАБОТАЕМ ДЛЯ ВАС!
Комментариев нет:
Отправить комментарий