Сборник задач и упражнений для лабораторного практикума по курсу "ЭВУ и системы" (изучение архитектуры и системы команд INTEL-совместимых микропроцессоров). Коршунов А.Д. - 5 стр.

UptoLike

Составители: 

5
3. Ветвления. Команды передачи управления
В задачах этого раздела предполагается разработка программ с использованием команд JZ, JA, JB и
т.п., анализирующих исходные данные и направляющих вычислительный процесс по одному из двух (или
более) путей, а также команды JMP. Исходные данные и результаты (если это не указано явно) могут
находиться либо в произвольных регистрах МП, либо задаваться с
помощью портов 2 или 3 на вкладке
«Ввод-вывод» системы программирования AsmEd. Преподаватель может усложнить задачу, размес-
тив исходные данные и результаты в каких-либо ячейках ОЗУ, например, DS:0020h или ES:0100h.
Теперь студент должен будет использовать в программе косвенную адресацию.
1. Дано целое число. Если оно чётное, то записать в регистр DI значение FFFFh, если
нечётное - FF00h.
2. Даны два числа. Записать в регистр SI меньшее, а в регистр DI - большее из них.
3. Дан четырёхзначный номер года. Определить номер столетия, например, при 1492
ответом должно быть "15", а при 1812 - "19". Учесть, что началом века считается
первый, а не нулевой год: так, при вводе 2000 ответом будет "20".
4. Супермаркет доставляет продукты питания на дом. Эта услуга оплачивается сле-
дующим образом: если сумма покупки не превышает 600 рублей, то доставка обой-
дётся покупателю в 250 рублей; если сумма покупки лежит в пределах 600...990 руб-
лей, то доставка стоит 150 рублей; если сумма покупки - более 990 рублей, то дос-
тавка вообще бесплатная. Написать программу, вводящую сумму покупки и вычис-
ляющую:
а) стоимость доставки; б) стоимость покупки вместе с доставкой.
5. Дано текущее время (M S), где M - это минуты, а S - секунды. Написать программу,
определяющую время спустя 1 секунду.
6. Дано текущее время (H M S), где H - это часы, M - это минуты, а S - секунды. Напи-
сать программу, определяющую время спустя 1 секунду.
7. Дано целое число в пределах 0..23, представляющее собой московское время с точ-
ностью до часа (без минут). Написать программу, вычисляющую иркутское время и
выводящую его на экран. Разница во времени между Москвой и Иркутском состав-
ляет +5 часов. Решить эту задачу: (а) с применением ветвления; (б) без него, но с ис-
пользованием команды MOD.
                                                                                              5


3. Ветвления. Команды передачи управления
В задачах этого раздела предполагается разработка программ с использованием команд JZ, JA, JB и
т.п., анализирующих исходные данные и направляющих вычислительный процесс по одному из двух (или
более) путей, а также команды JMP. Исходные данные и результаты (если это не указано явно) могут
находиться либо в произвольных регистрах МП, либо задаваться с помощью портов 2 или 3 на вкладке
«Ввод-вывод» системы программирования AsmEd. Преподаватель может усложнить задачу, размес-
тив исходные данные и результаты в каких-либо ячейках ОЗУ, например, DS:0020h или ES:0100h.
Теперь студент должен будет использовать в программе косвенную адресацию.

1. Дано целое число. Если оно чётное, то записать в регистр DI значение FFFFh, если
   нечётное - FF00h.

2. Даны два числа. Записать в регистр SI меньшее, а в регистр DI - большее из них.

3. Дан четырёхзначный номер года. Определить номер столетия, например, при 1492
   ответом должно быть "15", а при 1812 - "19". Учесть, что началом века считается
   первый, а не нулевой год: так, при вводе 2000 ответом будет "20".

4. Супермаркет доставляет продукты питания на дом. Эта услуга оплачивается сле-
   дующим образом: если сумма покупки не превышает 600 рублей, то доставка обой-
   дётся покупателю в 250 рублей; если сумма покупки лежит в пределах 600...990 руб-
   лей, то доставка стоит 150 рублей; если сумма покупки - более 990 рублей, то дос-
   тавка вообще бесплатная. Написать программу, вводящую сумму покупки и вычис-
   ляющую:
      а) стоимость доставки; б) стоимость покупки вместе с доставкой.

5. Дано текущее время (M S), где M - это минуты, а S - секунды. Написать программу,
   определяющую время спустя 1 секунду.

6. Дано текущее время (H M S), где H - это часы, M - это минуты, а S - секунды. Напи-
   сать программу, определяющую время спустя 1 секунду.

7. Дано целое число в пределах 0..23, представляющее собой московское время с точ-
   ностью до часа (без минут). Написать программу, вычисляющую иркутское время и
   выводящую его на экран. Разница во времени между Москвой и Иркутском состав-
   ляет +5 часов. Решить эту задачу: (а) с применением ветвления; (б) без него, но с ис-
   пользованием команды MOD.