Лекции.Орг


Поиск:




Категории:

Астрономия
Биология
География
Другие языки
Интернет
Информатика
История
Культура
Литература
Логика
Математика
Медицина
Механика
Охрана труда
Педагогика
Политика
Право
Психология
Религия
Риторика
Социология
Спорт
Строительство
Технология
Транспорт
Физика
Философия
Финансы
Химия
Экология
Экономика
Электроника

 

 

 

 


Перекодирование информации




 

Одной из наиболее распространенных задач в составе общего программного обеспечения любой ЭВМ являются программы преобразования данных из числовых форматов в символьные для вывода на устройства отображения и обратно при вводе числовой информации. При этом активно используются команды логических операций и сдвига. Рассмотрим задачу преобразования байта (целого без знака числа) в пару байтов кодов символического кодирования КОИ-7, отражающих содержимое двух тетрад исходного числа в виде сим­волов соответствующих шестнадцатеричных цифр. Пусть исходное число записано в регистре D, а коды К0И-7 для старшей и младшей тетрады нужно получить в регистрах В и С соответственно.

 

Подпрограмма:

PR: CPI 0АН; сравнение содержимого А с числом: (А)-0АН

JNC M1; переход в случае отсутствия заёма на M1 (буквы)

ORI 30H; формирование кода КОИ-7 арабской цифры
RET; возврат

М1: ADI 37Н; формирование кода КОИ-7 букв от А до F

RET; возврат

 

Основная программа:

MOV A,D; в регистр А исходное число

ANI 0F0H; обнуление младшей тетрады

RAR;

RAR; перемещение старший тетрады

RAR; вправо на место младшей (на 4 разряда)

RAR;

CALL PR; вызов подпрограммы преобразования тетрады

MOV B,A; запись кода символа старшей тетрады

MOV A,D; в регистр А снова исходное число

ANI 0FH; очистка старшей тетрады

CALL PR; вызов подпрограммы преобразования тетрады

MOV C,A; запись кода символа младшей тетрады

HLT; останов

 

Идея алгоритма приведенной выше программы состоит в выделении в подпрограмму задачи преобразования байта, где левая тетрада содержит нули, а число в правой тетраде может быть заменено символом арабской цифры от 0 до 9 или символом латинской буквы от А до F. Из основной программы обращение к подпрограмме осуществляется в первый раз для преобразования левой тетрады исходного числа, а второй раз – для преобразования правой тетрады.

 

3 Эмулятор микроЭВМ СМ-1800

Постановка задачи эмуляции

Эмуляция включает в себя следующие технические задачи:

1. Разработку иерархической модели эмулируемого устройства,

2. Полную программную реализацию всех модулей и внутренних узлов эмулируемого устройства, включая связи между отдельными модулями,

3. Программную реализацию логических и магистральных потоков данных, проходящих по линиям связи,

4. Реализацию схемы функционирования всего устройства в целом,

5. Реализацию системы мониторинга отдельных физических модулей или всего устройства,

6. Реализацию системы контроля и управления эмулятором.

 

Эмуляция включает в себя следующие оптимизационные задачи:

1. Соответствие точности и качества эмуляции заданным требованиям,

2. Выбор скорости и качества работы эмулятора, в зависимости от производительности ЭВМ, на которой будет эксплуатироваться эмулятор,

3. Соответствие уровня эмуляции работе, которая будет производиться на эмуляторе. Уровень может быть: функциональный, программный, аппаратный и физический. Естественно, самая качественная эмуляция будет обеспечена, если устройство эмулируется на физическом уровне.

 

Технические данные

 

1. Минимальный эмулируемый интервал: 1/2 машинного цикла,

2. Эмулируемые модули:

2.1 Модуль центрального процессора (МЦП),

2.2 Микропроцессор КР580ИК80А[1],

2.3 Модуль системного контроля,

2.4 Пульт контроля и управления (ПКУ),

2.5 Модуль связи с пультом контроля и управления,

2.6 Выносной пульт с элементами коммутации и индикации,

2.7 Видеотерминал алфавитно-цифровой (ВТА 2000-30)

2.8 Клавиатура,

2.9 Модуль оперативной памяти 64Кб (МОЗ),

2.10 Модуль теневой памяти 3Кб, включая системное ПЗУ 2Кб,

2.11 Порты ввода 00h, 01h, и др.

2.12 Порты вывода 00h, 01h, 03h, и др.

2.13 Внутрисистемный интерфейс И41.

2.14 Таймер.

2.15 Система обработки приоритетных прерываний.

3. Скорость работы: ~500000 циклов в секунду,

4. Возможность настройки: есть

4.1 Регулировка яркости экрана ВТА,

4.2 Доступны переключатели, расположенные на задней панели ВТА – фиксированный формат (ФФ) и частичный сдвиг (ЧСВ),

4.3 Реакция эмулятора при обработке несуществующих команд микропроцессора,

4.4 Частота обновления экрана: через 1…9999 циклов,

5. Возможность мониторинга отдельных модулей: есть

5.1 Мониторинг состояния микропроцессора и системных шин,

5.2 Мониторинг дампа памяти с возможностью переключения между основной памятью и теневой памятью, расположенной в модуле центрального процессора.

6. Возможность управления работой эмулятора: есть

6.1 Возможные состояния эмулятора:

Работа с максимальной скоростью (~500000 циклов/сек.),

Работа с фиксированной медленной скоростью (20 циклов/сек.),

Трассировка в пошаговом режиме,

7. Возможность расширения и доработки: есть

 

Описание программы

 

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

Сразу после запуска программы на экране проявляются четыре основных окна: видеотерминал алфавитно-цифровой (ВТА 2000-30), пульт контроля и управления (ПКУ), клавиатура и главное меню. По умолчанию все окна привязаны друг к другу; перемещение по экрану всех трёх окон происходит одновременно при перетаскивании окна главного меню. Назначение пунктов меню приведено ниже:

 

Главное меню

 

После названия каждого из пунктов в скобках указана комбинация “горячих» клавиш для быстрого доступа к пункту меню.

Подменю “ Файл ”.

Пункты “ Открыть/сохранить состояние ” (Ctrl+Alt+L Ctrl+Alt+S) позволяют сохранить на диске состояние всего эмулятора целиком и, затем, восстановить его в том же виде, для продолжения работы (файл *.cms).

Пункты “ Открыть/сохранить дамп памяти ” (Alt+L Alt+S) позволяют сохранить слепок оперативной памяти на диске и загрузить сохранённый файл в оперативную память эмулятора (файл *.cmd). Работа производится только с содержимым оперативной памяти модуля МОЗ, сохранение и загрузка содержимого памяти модуля центрального процессора МЦП происходит при запуске эмулятора.

Пункт “ Выход ” (Alt+F4) завершает работу эмулятора.

 

Подменю “ Эмулятор ”.

Позволяет управлять работой эмулятора.

Пункт “ Перезапуск эмулятора” (Ctrl+Alt+F12) вызывает полный рестарт и последующую инициализацию приложения.

Пункты “ Сброс… ” и “ Инициализация… ” (Ctrl+F8…F12) позволяют повторно проинициализировать отдельные модули СМ-1800 без перезапуска всего эмулятора.

Пункты “ Приостановить работу ” (F10), “ Трассировать шаг ” (F11) и “ Продолжить работу ” (F12) изменяют состояние работы эмулятора. Очень удобно использовать в отладочных целях “горячие” клавиши.

Пункт “ Скорость эмуляции ” позволяет произвести переключение между максимальной (F8) и медленной (F7) скоростью эмуляции.

 

Подменю “ Показать ”.

Позволяет показать/скрыть любую из форм эмулятора (F1…F6).

Пункт “ Расположить окна компактно ” (Alt+Enter) размещает все окна на экране по умолчанию: одну под другой от левого верхнего угла экрана, для удобства восприятия информации.

 

Подменю “ Лабораторные работы ”.

Позволяет перевести эмулятор в один из следующих режимов: выполнение лабораторных работ (Shift+F1…F4), решение задач на языке ассемблера (Shift+F5), или обычный режим работы (Shift+F6).

 

 

Подменю “ Конфигурация ”.

Позволяет включить/отключить привязку отдельных окон на экране (Ctrl+Alt+F1…F4).

Пункт “ Настройки ” (Alt+F2) позволяет произвести дополнительную настройку эмулятора: реакцию на недокументированные команды микропроцессора, режимы работы ВТА, вид переключателей ПКУ, частоту обновления форм эмулятора, и др. Есть возможность установки значений по умолчанию.

 

Подменю “ О программе ”.

Пункт “ Помощь ” (Ctrl+F1) позволяет получить справку по работе с эмулятором.

Пункт “ Эмулятор СМ-1800 ” (Alt+F1) выводит на экран информацию о программе.

Основные окна

“Видеотерминал алфавитно-цифровой (ВТА)”

Окно представляет собой полную визуальную копию оригинального видеотерминала ВТА 2000-30. Обмен информацией с модулем ВТА производится в стандартной кодировке КОИ-7 (коды 00h…7Fh) через порт ввода 00h и порты вывода 00h и 01h.

 

“Пульт контроля и управления (ПКУ)”

Окно представляет собой полную визуальную копию оригинального пульта с элементами коммутации и индикации. Используется для просмотра управляющих сигналов микропроцессора и управления аппаратными ресурсами СМ-1800.

 

“Клавиатура”.

Окно представляет собой полную визуальную копию клавиатуры СМ-1800. Нажатия на клавиши производятся с использованием манипулятора “мышь”. Отдельные клавиши (СПС, УС и ПВТ) обладают триггерным эффектом для эмуляции их удержания. Нажатия почти всех клавиш могут также эмулироваться и с помощью стандартной клавиатуры компьютера (см. приложение 1).

Дополнительные окна

 

“Состояние микропроцессора”.

В этом окне можно увидеть состояния всех регистров и управляющих сигналов микропроцессора, а также информацию, проходящую по шинам адреса и данных. Состояние окна обновляется в конце каждого цикла микропроцессора.

 

“Дамп памяти”.

В этом окне отображается содержимое модуля оперативной памяти. Кнопки «Hex» и «Dec» позволяют переключать систему счисления (шестнадцатеричная/десятичная), а кнопка «Теневая память» - просматривать модуль теневой памяти (3Кб). Её содержимое будет отображаться в окне вместо первых трёх килобайт основной оперативной памяти.

 

“Дизассемблер”.

В этом окне производится расшифровка (дизассемблирование) команд, выполняемых микропроцессором. Обновление окна производится по сигналу M1 выбора кода следующей команды.

 

Окно настроек эмулятора.

В этом окне отображаются дополнительные настройки эмулятора. Возможно изменение следующих параметров:

1. Действие эмулятора при обработке недокументированных команд микропроцессора - пропустить команду, выполнить команду так, как её выполняет реальный микропроцессор или выдать сообщение об ошибке,

2. Вид переключателей ПКУ – обычный или в виде кнопок с битовой маркировкой,

3. Режимы работы видеотерминала (ВТА): ФФ – включение режима фиксированного формата, ЧСВ – включение режима частичного сдвига строк,

4. Яркость экрана ВТА – изменяется в пределах 0…150%,

5. Количество циклов микропроцессора, после которых эмулятор обновляет экран, – может варьироваться от 1 (скорость работы эмулятора – минимальная) до 9999 (скорость – максимальная). Необходимо подобрать такую частоту обновления, чтобы скорость эмуляции составляла ~500000 циклов/сек.

Есть возможность установки стандартных настроек – кнопка «Стандартные настройки».

 

Сообщения эмулятора

 

В нижней части окна видеотерминала находится строка состояния эмулятора. Слева – текущее состояние работы, справа – число циклов, выполняемое эмулятором за секунду (должно быть ~500000).

В нижней части окна ПКУ находится информационная строка эмулятора. В эту строку отправляются сообщения, генерируемые эмулятором при наступлении различных событий, например, «Останов по адресу», «Выполнение команды с пульта», «Чтение из несуществующего порта» и т.п.

При сохранении копии экрана ВТА в файл на экран выводится информационное сообщение об имени созданного текстового файла.

 





Поделиться с друзьями:


Дата добавления: 2015-10-27; Мы поможем в написании ваших работ!; просмотров: 614 | Нарушение авторских прав


Поиск на сайте:

Лучшие изречения:

Своим успехом я обязана тому, что никогда не оправдывалась и не принимала оправданий от других. © Флоренс Найтингейл
==> читать все изречения...

2396 - | 2210 -


© 2015-2025 lektsii.org - Контакты - Последнее добавление

Ген: 0.011 с.