Реферат: Программа-имитатор
Найти сумму всех чисел от А до В.
Число А хранится в 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.