Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Курсовой проект эвм.doc
Скачиваний:
17
Добавлен:
23.12.2018
Размер:
157.18 Кб
Скачать

2. Описание программы-эмулятора.

Программа-эмулятор является своего рода программной средой, дающей возможность, используя стандартный персональный компьютер класса IBM PC, выполнять программы, написанные в машинных кодах процессора КР580ИК80А. Кроме того, программа-эмулятор позволяет ознакомиться с работой основных модулей и устройств, входящих в состав вычислительного комплекса СМ-1800, фактически реализуя принцип абстрактной машины. Однако программа-эмулятор лишь имитирует процессы, происходящие в реальной ЭВМ, и, в связи с этим, наибольшую практическую пользу от работы с программой можно извлечь, имея возможность хотя бы кратко ознакомиться с работой реального вычислительного комплекса СМ-1800. Более того, программа-эмулятор позволяет реализовать некоторые дополнительные возможности, такие как, просмотр содержимого памяти, портов ввода/вывода, регистров центрального процессора.

Другими словами, программа-эмулятор воспроизводит процессы, протекающие в реальной микроЭВМ, с максимально возможной степенью достоверности, поддерживает постоянный диалог с оператором, эмулирует манипуляциями с ПКУ и ВТА, и в то же время максимально использует возможности операционной системы Windows, под управлением которой проходит её работа.

Для выполнения данного курсового проекта я выбрал программу эмулятор Смирнова по нескольким факторам один из них заключается в том что интерфейс программы приближен к внешнему виду реальной машины. Что обеспечивает быстрый и безболезненный переход с реальной машины на эмулятор и наоборот.

Вторым фактором является то что весь свой лабораторный практикум по СМ-1800 я выполнил именно на эмуляторе Смирнова так что работа с ним мне представляется мне более привычной. Но в тоже время я бы не стал утверждать что эмулятор Демина-Пушкина не имеет право на существования по моему мнению это тоже очень достойный эмулятор но его подводит интерфейс, который на мой взгляд с внешним видом реальной машины не имеет ни чего общего. И при схожести всех остальных параметров я выбрал эмулятор Смирнова из за его интерфейса.

  1. Практическая разработка.

    1. Описание алгоритма решения задачи.

Сравнение двух 4-х байтных констант будем производить побайтно, то есть сначала будем сравнивать старшие байты соответствующих констант, а в случае их равенства будем переходить к сравнению младших байт. Так как нам нужно сравнить две константы по модулю, то нужно в первую очередь получить нули в старших битах 4-ых байтов констант. Старшие биты 4-ых байтов определяют знаки соответственно 1-ой и 2-ой констант. Если значение этого старшего байта равно 0, то число положительное, если 1 – число отрицательное.

  1. Получение 0 в старшем бите 4-го байта 2-ой константы, запись в H,L.

  2. Получение 0 в старшем бите 4-го байта 1-ой константы, запись в A.

  3. Сравнение 4-го байта 1-ой константы с 4-ым байтом 2-ой константы.

  4. Переход к пункту 20, если CY=1, то есть, если 2-ая константа больше 1-ой.

  5. Переход к пункту 22, если 4-ые байты не равны между собой, т.е. 1-ая константа больше 2-ой.

  6. Создание счетчика на 3 шага.

  7. Загрузка адреса 5003 в B,C.

  8. Загрузка адреса 5006 в D,E.

  9. Загрузка в пару H,L содержимого ячейки памяти, адрес которой находится в D,E.

  10. Загрузка А содержимым ячейки памяти, адрес которой находится в B,C.

  11. Сравнение 2-х последних байт.

  12. Переход к пункту 20, если CY=1, то есть, если 2-ая константа больше 1-ой.

  13. Переход к пункту 22, если 4-ые байты не равны между собой, т.е. 1-ая константа больше 2-ой.

  14. Уменьшение содержимого B,C на 1.

  15. Уменьшение содержимого D,E на 1.

  16. Уменьшение содержимого L на 1.

  17. Если L≠0, то возвращаемся к пункту 9.

  18. Вывод на экран сообщения:”1-ая константа=2-ой константе”. Запись в регистр B значения FFFF

  19. Выход из программы.

  20. Вывод на экран сообщения:”2-ая константа больше 1-ой”. Запись в регистр B значения 00.

  21. Выход из программы.

  22. Вывод на экран сообщения:”1-ая константа больше 2-ой”. Запись в регистр B значения 01.

23) Выход из программы.