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


Мы поможем в написании ваших работ!



ЗНАЕТЕ ЛИ ВЫ?

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



3.1.1 Запишите следующую программу в окно Текст программы

Таблица 2 Пример программы

Коды Программа Действие
21 1 020 22 0 030 23 0 005 22 2 030 12 0 002 rd #20 wr 30 add #5 wr @30 JNZ 002  

3.1.2 В меню Вид выберите Программа, нажмите кнопку Компилировать

3.1.3 Выполняя команду Шаг фиксируем изменения программно-доступных объектов (Acc, ячейки ОЗУ 020 и 030) в таблице 3. Содержание регистров:

Таблица 3Содержание регистров для задачи 1

PC Acc M(30) M(20)
       
       
       
       
       
       
       
       

 

3.1.4 В тетради заполните столбец Действие для каждой используемой команды программы.

3.1.5 Нарисуйте алгоритм работы программы.

 

3.2 Запишите в ОЗУ программу, состоящую из 5 команд (из своего варианта). Команды разместите в ячейках памяти.

3.2.1 При необходимости установить начальное значение в устройство ввода IR.

3.2.2 Определить те программно-доступные объекты ЭВМ, которые будут из­меняться при выполнении этих команд.

3.2.3 Выполнить в режиме Шаг введенную последовательность команд, фикси­руя изменения значений объектов, определенных в п. 4, в таблице 4. Содержание регистров, по примеру:

 

Таблица 4 Содержание регистров для задачи 2

 

PC Acc    
       
       
       
       

3.2.4 Если в программе образуется цикл, необходимо просмотреть не более двух повторений каждой команды, входящей в тело цикла.

 

Таблица 5 Задание для выполнения

 

Вариант № IR Команда 1 Команда 2 Команда 3 Команда 4 Команда 5
    IN MUL #2 WR 10 WR@10 JNS 001
  x RD #17 SUB #9 WR 16 WR @16 JNS 001
    IN ADD #16 WR 8 WR @8 JS 001
  x RD #2 MUL #6 WR 11 WR @11 JNZ 00
    IN WR 8 DIV #4 WR @8 JMP 002
  x RD #4 WR 11 RD @11 ADD #330 JS 000
    IN WR 9 RD @9 SUB #1 JS 001
  x RD 4 SUB #8 WR 8 WR @8 JNZ 001
    IN ADD #12 WR 10 WR @10 JS 004
  x RD 4 ADD #15 WR 13 WR @13 JMP 001

3.2.5 Напишите машинные коды команд, соответствующие варианту задания.

 

3.3 Программирование разветвляющегося процесса. Разработать программу вычисления и вывода значения функции для вводимого из IR значения аргумента x:

Варианты заданий приведены ниже в таблице:

 

Таблица 6 Выбор значений параметров i, j, a

 

i j a i j a i j a i j a i j a
                                       
                                       

 

Выбор функции:

 

Таблица 7Выбор функции

 

k fk(x) k fk(x) k fk(x) k fk(x) k fk(x)
         
         

 

· Пример выполнения задания – программа для вычисления значения функции:

. С устройства ввода IR вводится значение x, результат выводится на OR.

 

· Блок-схема выполнения задания на рисунке Рисунок 1 Блок-схема алгоритма задачи (см. ниже):

Рисунок 1 Блок-схема алгоритма задачи

 

· Реализация программы указана в таблице Таблица 8 Пример выполнения задания по блок-схеме

Таблица 9 Пример выполнения задания по блок-схеме

 

Мнемокод Примечание
00) in 01) wr 30 02) sub #16 03) js m1 04) rd 30 05) sub #11 06) wr 31 07) mul 31 08) sub #125 09) jmp m1 010) m1: rd 30 011) mul 30 012) wr 31 013) rd 30 014) mul #72 015) add 31 016) adi 106400 017) divi 100168 018) m2: out 019) hlt Ввод х Размещение х в ОЗУ Сравнение с границей – (х-16) Переход по отрицательной разности Вычисления по первой формуле     Переход на вывод результата Вычисления по второй формуле   Вывод результата Стоп

 

3.4 Дополнительное задание: Программирование цикла с переадресацией. Требуется разработать программу для определения заданной последовательности чисел C1, C2, …,Cn. Варианты заданий представлены ниже в таблице 10 Задание на тему циклы:

 

Таблица 10 Задание на тему циклы

 

№ варианта Характеристика последовательности чисел C1, C2, …,Cn
  Количество чисел, имеющих чётный индекс
  Номер минимального числа
  Произведение всех чисел
  Минимальное положительное число
  Количество чисел, равных C1
  Количество отрицательных чисел
  Максимальное положительное число
  Номер максимального числа
  Количество чисел, меньших C1
  Разность сумм элементов массива, имеющих чётные и нечётные индексы

3.4.1 Пример выполнения задания – программа вычисления суммы элементов массива чиселC1, C2, …,Cn. Исходными данными являются n – количество элементов массива, массив чисел C1, C2, …,Cn. Должно выполняться условие n>1, так как алгоритм предусматривает хотя бы одно суммирование. Суммируемые числа записаны в ОЗУ подряд, т.е. в ячейки памяти с последовательными адресами. Результатом является сумма S.

3.4.1.1 Составим программу для вычисления суммы 10 чисел, элементы массива расположены в ячейках ОЗУ по адресам 040, 041,…, 049.

3.4.1.2 Программу распределим в памяти, начиная с адреса 000.

3.4.1.3 Промежуточные переменные: Ai – в ячейке с адресом 030, k – по адресу 031, S – по адресу 032.

Рисунок 2 Блок-схема решения задачи на тему Циклы

 

3.4.2 Реализация программы указана в таблице 11 Решение задачи на тему Циклы

Таблица 12 Решение задачи на тему Циклы

Мнемокод Примечание
00) rd #40 01) wr 30 02) rd #10 03) wr 31 04) rd #0 05) wr 32 06) m1: rd 32 07) add @30 08) wr 32 09) rd 30 010) add #1 011) wr 30 012) rd 31 013) sub #1 014) wr 31 015) jnz m1 016) rd 32 017) out 018) hlt Загрузка начального адреса массива 040 в ячейку 030 Загрузка параметра цикла k=10 в ячейку 031   Загрузка начального значения суммы S=0 в ячейку 032 Добавление к текущей суммы очередного элемента массива Модификация текущего адреса массива (переход к следующему адресу) Уменьшение счётчика (параметра цикла) на 1 Проверка параметра цикла и переход при k≠0 Вывод результата Стоп

4 Содержание отчёта:

4.1.1 Формулировка варианта задания

4.1.2 Граф-схема алгоритма решения задачи

4.1.3 Распределение памяти (размещение в ОЗУ переменных, программы и констант)

4.1.4 Программа с описанием действий

4.1.5 Последовательность состояний регистров ЭВМ при выполнении программы в режиме Шаг для одного значения аргумента (для задания 3.3).

4.1.6 Значения исходных данных и результата выполнения программы (для задания 3.4 – для нескольких значений аргументов, выбранных самостоятельно).

5 Контрольные вопросы:

5.1 Что такое система команд ЭВМ?

5.2 Способ представления данных в модели.

5.3 Способы адресации. Рассмотреть на примере.

5.4 Какие классы команд были использованы в задании?

5.5 Какие действия выполняют команды передачи управления?

5.6 Как организовать безусловный переход в программе?

5.7 Как организуется цикл?

5.8 Что такое параметр цикла?

5.9 Как поведёт себя программа из примера к третьему заданию, если в ней будет отсутствовать команда wr 31 по адресу 014?

 



Поделиться:


Последнее изменение этой страницы: 2017-02-06; просмотров: 1230; Нарушение авторского права страницы; Мы поможем в написании вашей работы!

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 18.191.216.163 (0.025 с.)