Данному образовательному сайту пришлось несколько раз менять свое имя. С 2011 года доступ к нему обеспечивается по URL
http://educomp.runnet.ru

emc.km.ru (2001-2007) ==> educomp.org.ru (2007-2011) ==> educomp.runnet.ru (2011-...)
Более подробно об истории сайта можно прочитать здесь.


Учебные модели компьютера



Модели (software):

"Е14" (parallel !!!)

Модели (hardware):






Награды сайта
Награды сайта

Имитатор PDP-11: примеры решения задач

  1. Пример №1
    Даны два массива целых чисел A[1:N] и B[1:N]. Составить массив, элементы которого равны сумме соответствующих элементов массива A и массива B.

  2. Пример №2
    Составить программу n!

  3. Пример №3
    Составить программу нахождения наибольшего общего делителя N натуральных чисел.

  4. Пример №4
    Составить программу упорядочения массива A[1:N] в порядке возрастания.




Пример №1
Даны два массива целых чисел A[1:N] и B[1:N]. Составить массив, элементы которого равны сумме соответствующих элементов массива A и массива B.

Текст программы
1000 Переписать (R7)+ в R1
1002 1046
1004 Переписать (R7)+ в R2
1006 1092
1008 Очистить R3
1010 Добавить 1 к R3
1012 Сравнить R0 с R3
1014 Переход п о N=1 на 2 сл.
1016 Сложить (R1)+ с (R2)+
1018 Переход безусловный на -5 сл.
1020 Стоп

Инструкция по запуску
Пусть массивы A и B состоят из 4 элементов:
Массив A: 4, 3, 5, 1. Массив B: 6, 6, 3, 2.
Занесем их в оперативную память. Адрес первого элемента массива A - 1046, а массива B - 1092. В регистр R0 занесем число элементов массива - 4.

в начало страницы


Пример №2
Составить программу n!

Текст программы
1000 Переписать (R7)+ в R5
1002 1
1004 Переписать (R7)+ в R6
1006 1100
1008 Переписать R5 в R1
1010 Переписать R5 в R2
1012 Сравнить R0 с R2
1014 Переход по N=1 на 4 сл.
1016 Переход к подпрограмме
1018 1026
1020 Сложить R5 с R2
1022 Переход безусловный на -6 сл.
1024 Стоп
1026 Очистить R3
1028 Переписать R5 в R4
1030 Сравнить R2 с R4
1032 Переход по N=1 на 3 сл.
1034 Сложить R1 с R3
1036 Сложить R5 с R4
1038 Переход безусловный на -5 сл.
1040 Переписать R3 в R1
1042 Возврат из подпрограммы

Инструкция по запуску
Пусть n=4. Зашлем 4 в R0. В R6 программно заносится адрес свободной области памяти 1100.

в начало страницы


Пример №3
Составить программу нахождения наибольшего общего делителя N натуральных чисел.

Текст программы
1000 Переписать (R7)+ в R0
1002 2
1004 Переписать (R3)+ в R1
1006 Сравнить R4 с R0
1008 Переход по N=1 на 5 сл.
1010 Переписать (R3)+ в R2
1012 Переход к подпрограмме
1014 1022
1016 Добавить 1 к R0
1018 Переход безусловный на -7 сл.
1020 Стоп
1022 Сравнить R1 с R2
1024 Переход по Z=1 на 6 сл.
1026 Сравнить R2 с R1
1028 Переход по N=1 на 2 сл.
1030 Вычесть R1 из R2
1032 Переход безусловный на 1 сл.
1034 Вычесть R2 из R1
1036 Переход безусловный на -8 сл.
1038 Переписать R2 в R1
1040 Возврат из подпрограммы

Инструкция по запуску
Пусть N=4. Массив A: 63, 56, 14, 35. Запишем в R4 число элементов массива - 4. В R3 - адрес первого элемента 1046. В указатель стека R6 - 1100.

в начало страницы


Пример №4
Составить программу упорядочения массива A[1:N] в порядке возрастания.

Текст программы
1000 Переписать (R7)+ в R0
1002 1100
1004 Переписать (R7)+ в R1
1006 1106
1008 Переписать R0 в R2
1010 Переписать R0 в R3
1012 Сложить R4 с R3
1014 Сравнить R3 с R1
1016 Переход по Z=1 на 13 сл.
1018 Сравнить (R3) с (R2)
1020 Переход по N=0 на 8 сл.
1022 Переписать (R2) в R5
1024 Переписать (R3) в (R2)
1026 Переписать R5 в (R3)
1028 Сравнить R2 с R0
1030 Переход по Z=1 на -9 сл.
1032 Вычесть R4 из R2
1034 Вычесть R4 из R3
1036 Переход безусловный на -12 сл.
1038 Сложить R4 с R2
1040 Сложить R4 с R3
1042 Переход безусловный на -15 сл.
1044 Стоп

Инструкция по запуску
Массив A: 3, 2, 1, 4 занесем в память с адреса 1100 до адреса 1106, которые программно занесены в регистры R0 и R1 соответственно. В R4 занесем шаг изменения адреса - 2.

в начало страницы


Автор сайта - Евгений Александрович Еремин (Пермский государственный педагогический университет). e_eremin@yahoo.com