1. Камеры
  2. Автоаудио и электроника
  3. Домашнее аудио
  4. Персональное аудио
  5. Телевизоры
  6. Умный дом
  >> Электронные технологии >  >> Персональное аудио >> Радиобудильники

Как написать программу для определения интервала времени между двумя последовательными событиями, используя язык программирования 8086?

```

.МОДЕЛЬ МАЛЕНЬКАЯ

.СТЕК 100H

.ДАННЫЕ

STRING БД '$'; Строка для отображения

MSG1 DB 0DH, 0AH, 'Введите первый раз:$'; сообщение 1

MSG2 DB 0DH, 0AH, 'Введите второй раз:$'; сообщение 2

RESULT DB 0DH, 0AH, 'Интервал времени:$'; сообщение 3

MSG3 БД 0DH, 0AH, '$'; сообщение 4

ВХОД1 БД 2 ДУП (?); входной буфер в первый раз

ВХОД2 БД 2 ДУП (?); входной буфер во второй раз

ВЫХОД БД 5 ДУП (?); выходной буфер

CRLF DB 0DH, 0AH, '$'; Возврат каретки и перевод строки

.КОД

ГЛАВНЫЙ ПРОЦ; Основная процедура

ДВИЖЕНИЕ AX, @ДАННЫЕ; Инициализировать сегмент данных

ДВИГАТЕЛЬ ДС, АКС

ЛЕА DX, MSG1; Отобразить сообщение 1

МОВ АХ, 9

ИНТ 21Ч

МОВ АХ, 1; Получите с 1-го раза

ИНТ 21Ч

МОВ АЛ, АХ; Сэкономьте час в Алабаме

МОВ БЛ, ДЛ; Сэкономьте минуту в BL

МОВ АХ, 0; Очистить AH и AL

МОВ АЛ, 0

МОВ СХ, 10; Умножьте час на 10.

МУЛ СХ

МОВ ДЛ, АЛ; Сэкономьте час в DL

ВЫХОД ДВИГАТЕЛЯ, DL; Сохранить час в выходном буфере

MOV ВЫХОД+1, ':'; Сохраните ':' в выходном буфере

МОВ АХ, 1; Получите минуту

ИНТ 21Ч

ВЫХОД ДВИЖЕНИЯ+2, БЛ; Сохранение минут в выходном буфере

MOV ВЫХОД+3, ':'; Сохраните ':' в выходном буфере

ЛЕА DX, ВЫХОД; Отображать первый раз

МОВ АХ, 9

ИНТ 21Ч

ЛЕА DX, MSG2; Отобразить сообщение 2

МОВ АХ, 9

ИНТ 21Ч

МОВ АХ, 1; Получите 2-й раз

ИНТ 21Ч

МОВ Ч, АХ; Сэкономьте час в Швейцарии

МОВ ДХ, ДЛ; Сэкономьте минуту в DH

МОВ АХ, 0; Очистить AH и AL

МОВ АЛ, 0

МОВ СХ, 10; Умножьте час на 10.

МУЛ СХ

МОВ ДЛ, АЛ; Сэкономьте час в DL

CMP DL, ВЫХОД; Сравнить часы

JB SUB_HOURS; Если 2-й час <1-й час, вычтите часы.

СУБ-КАН, ВЫХОД; Вычтите 2-й час из 1-го часа

МОВ ДЛ, Ч; Сохранить разницу в DL

МОВ АХ, 0; Очистить AH и AL

МОВ АЛ, 0

МОВ СХ, 10; Умножьте минуту на 10.

МУЛ СХ

МОВ ДЛ, АЛ; Сэкономьте минуту в DL

CMP DL, ВЫХОД+2; Сравнить минуты

JB SUB_MINUTES; Если 2-я минута <1-й минуты, вычтите минуты.

SUB DH,ВЫХОД+2; Вычтите 2-ю минуту из 1-й минуты.

МОВ ДЛ, ДХ; Сохранить разницу в DL

ПРОПУСК СПМ; Перейти, чтобы пропустить отображение «отрицательного» интервала времени

СУБ_ЧАСОВ:; При необходимости вычтите часы

МОВ ДЛ, 24; Добавьте 24 часа ко 2-му часу

ДОБАВИТЬ CH, DL

СУБ-КАН, ВЫХОД; Вычтите 2-й час из 1-го часа

МОВ ДЛ, Ч; Сохранить разницу в DL

SUB_MINUTES:; При необходимости вычтите минуты.

МОВ ДЛ, 60; Добавьте 60 минут ко 2-й минуте.

ДОБАВИТЬ DH, DL

SUB DH, ВЫХОД+2; Вычтите 2-ю минуту из 1-й минуты.

МОВ ДЛ, ДХ; Сохранить разницу в DL

ПРОПУСКАТЬ:

ВЫХОД ДВИЖЕНИЯ+4, DL; Сохранять разницу минут в выходном буфере

ЛЕА DX, ВЫХОД; Отображение временного интервала

МОВ АХ, 9

ИНТ 21Ч

ЛЕА DX, РЕЗУЛЬТАТ; Отобразить сообщение 3

МОВ АХ, 9

ИНТ 21Ч

МОВ АХ, 4CH; Выйти с кодом возврата 0

ИНТ 21Ч

ГЛАВНЫЙ КОНЕЧНЫЙ; Конец основной процедуры

```

  1. Как установить время на RCA CD радио-часы
  2. Что такое схема синхронизации?
  3. Что такое порог Rts?
  4. Какой номер телефона у компании Piano Company?
  5. Что не будет выполнено, используя только один тактовой импульс в микропроцессоре 8085?