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. Как Factory Reset на Sony Walkman
  2. Как написать книгу на Wattpad на iPod?
  3. Копирование MP3 на более SanDisk Sansa M240
  4. Как скачать бесплатную юридическую Игры на Ipod Nano
  5. Где можно найти информацию о том, где купить дешевый iPod?