Реферат: Программа-имитатор

Найти сумму всех чисел от А до В.

Число А хранится в R0, число В в R1, сумма в R3. Пусть А=1, В=5.

Регистры Редактор
R0 = +00001 1000 Переслать R0 в R2
R1 = +00005 1002 Сравнить R2 c R1
R2 = +00000 1004 Переход на 3 слов
R3 = +00000 1006 Добавить R2 к R3
R7 = +01000 1008 Увеличить на 1 R2
1010 Переход на -5 слов
1012 Стоп

В данной программе не используются регистры R4, R5, R6.

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

Найти сумму всех чисел от А до В.

Число А хранится в ячейке 1016, число В в ячейке 1018, результат в ячейке 1020. Регистр R0 хранит адрес первого числа, R1 – второго числа, R3 – результата.

Регистры Редактор Память
R0 = +01016 1000 Переслать (R0) в R2 1016 1
R1 = +01018 1002 Сравнить R2 c (R1) 1018 5
R2 = +00000 1004 Переход на 3 слов 1020 0
R3 = +01020 1006 Добавить R2 к (R3)
R7 = +01000 1008 Увеличить на 1 R2
1010 Переход на -5 слов
1012 Стоп

Программа работы с массивом данных.

Посчитать число положительных элементов массива и занести его в R5.

В R0 хранится адрес начала массива 1030. В R1 – адрес конца массива 1036.

Регистры Редактор Память
R0 = +01016 1000 Сравнить (R0)+ c R3 1030 -1
R1 = +01018 1002 Если < переход на 1 слов 1032 2
R5 = +00000 1004 Увеличить на 1 R5 1034 3
R7 = +01000 1006 Сравнить R0 с R1 1036 -4
1008 Если <= переход на -5 слов
1010 Cтоп

Программа с подпрограммой.

Даны два массива одинаковой размерности. Произвести обмен максимальными элементами. В качестве подпрограммы оформить нахождение максимального элемента массива.

Адрес начала первого массива 1050 хранится в R0. Адрес конца первого массива 1060 в R1. Адрес начала второго массива 1070 в R2. Адрес конца второго массива 1080 в R3. Начало стека 1200 в R6.

Регистры Редактор Память
R0 = +01050 1000 Вызов подпрограммы 1050 1
R1 = +01060 1002 по адресу 1022 1052 2
R2 = +01070 1004 Переслать R2 в R0 1054 3
R3 = +01080 1006 Переслать R3 в R1 1056 -2
R6 = +01200 1008 Переслать R4 в R2 1058 4
R7 = +01000 1010 Переслать R5 в R3 1060 1
1012 Вызов подпрограммы
1014 по адресу 1022 1070 -2
1016 Переслать R2 в (R5) 1072 5
1018 Переслать R4 в (R3) 1074 6
1020 Стоп 1076 -3
1022 Очистить R4 1078 7
1024 Переслать R0 в R5 1080 -7
1026 Переслать (R0)+ в R4
1028 Сравнить (R0) с R4
1030 Если < переход на 2 слов
1032 Переслать R0 в R5
1034 Переслать (R0) в R4
1036 Увеличить на 1 R0
1038 Увеличить на 1 R0
1040 Сравнить R0 с R1
1042 Если <= переход на -8 слов
1044 Возврат

В данной программе регистры R4 и R5 используются как вспомогательные.

Заключение.

Разработанная программа-имитатор позволяет наглядно иллюстрировать логическую структуру процессора и показать как он исполняет программы написанные пользователем. Фактически мой имитатор во многом повторяет написанную для ПЭВМ "Yamaha" программу-имитатор PDP.

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

Как уже было сказано данная программа написана в среде Delphi и хранится на диске в файле pdp.exe. Примеры предложенные в тексте курсовой работы вы также сможете найти на диске в файлах test1.pdp, test2.pdp, test3.pdp, test4.pdp. Программа предназначена для работы на компьтерах PC AT 486 и выше. На компьютере также необходимо наличие операционной системы WINDOWS'95/98. Рекомендуется также минимальное разрешение экрана 800 на 600.

К-во Просмотров: 327
Бесплатно скачать Реферат: Программа-имитатор