Архитектура Аудит Военная наука Иностранные языки Медицина Металлургия Метрология
Образование Политология Производство Психология Стандартизация Технологии


Практическое изучение методов косвенной адресации операндов



Цель работы

1.1 Исследовать методику применения косвенной адресации операндов при составлении программ на языке ассемблера в системе команд DEC процессора УЧПУ 2С42 - 65.

 

 

Объект и методика исследования

2.1 Объект - система команд центрального процессора УЧПУ 2С42 - 65.

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

Порядок выполнения работы

3.1. Выполнить команды с различными видами косвенного метода адресацииоперандов и записать распределение ячеек памяти до и после выполнения программ с одной командой.

Для этого предварительно загружают в память код команды и устанавливают исходное состояние регистров и ячеек памяти, обрабатываемых исследуемой инструкцией. Далее загружают счетчик команд адресом исследуемой команды и нажимают на клавиатуре клавишу “G" запуска программы.

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

 

1. Команда очистки с косвенно-регистровым методом адресации

Символическое обозначение команды в мнемонике ассемблера Восьмеричный код Наименование команды
CLR*R5 Очистка

Действие: содержимое ячейки, адрес которой содержится в R5, очищается.

До выполнения операции После выполнения операции

1020) 005015 R5) 001700 1020) R5)

1700) 177777 1700)

 

2. Выполнение примера косвенно - автоинкрементного метода адресации.

Символическое обозначение Восьмеричный код Наименование команды
INC*(R2)+ Прибавление 1

Действие: Содержимое ячейки, адрес которого содержится в R2, используется как адрес операнда. Операнд увеличивается на 1, а содержимое R2 - на 2.

До выполнения операции После выполнения операции

1000) 005235 R2) 010300 1000) R2)

1010) 000000 1010)

10300) 001010 10300)

 

3. Команда с примером косвенно - автодекрементного метода адресации.

Символическое обозначение Восьмеричный код Наименование команды
COM* - (R0) Инвертирование

Действие: содержимое ячейки R0 уменьшается на 2 и используется как адрес ячейки, в которой находится адрес операнда. Операнд заменяется его обратным кодом.

До выполнения операции После выполнения операции

1000) 005150 R0) 010776 1000) R0)

10100) 012345 10100)

10774) 010100 10774)

 

4. Команда с примером косвенно - индексного метода адресации.

Символическое обозначение Восьмеричный код Наименование команды
ADD*1000(R2), R1 Сложение

Действие: содержимое ячейки, адрес которой определяется сложением кода 1000 с содержимым R2, складывается с операндом в регистре R1, результат записывается в регистр R1.

До выполнения операции После выполнения операции

1020) 067201 R1) 001234

1022) 001000 R2) 000100

1050) 000002

1100) 001050

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

4.1 Название и цель работы.

4.3 Результаты выполнения операций каждого примера.

4.4. Выводы

 

 

Литература

Центральный процессор М2. Техническое описание и инструкция по эксплуатации.

 


Лабораторная работа № 9

Разработка и выполнение тестовой программы

Цель работы

1.1 Исследовать методику составления тестовых программ на языке ассемблера в системе команд DEC процессора УЧПУ 2С42 - 65.

Объект, методика и средства исследования

2.1 Объект- система команд DEC центрального процессора УЧПУ 2С42 - 65.

2.2. Методика и средства исследования:

- разработка программы на языке ассемблера с использованием методов адресации через счетчик команд;

- загрузка, отладка и выполнение программы в пошаговом и автоматическом режимах на диалоговом вычислительном комплексе ДВК 2М с системой команд DEC процессора УЧПУ 2С42 - 65.

Принципы разработки тестовых программ

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

Контроль сводится к выполнению определенных действий над исходными числами и сравнению результатов с эталонными. При несовпадении результатов фиксируется ошибка. Тесты подразделяются на наладочные, проверочные и диагностические. Наладочный и проверочный тесты указывают факт наличия ошибки, чаще всего не определяя места ее возникновения. Наладочный тест служит для проверки правильности функционирования устройства, например при выполнении отдельных команд из системы команд.

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

Пример тестовой программы. Тест проверки модуля контроллера привода (КП) в составе резидентного проверяющего теста.

Тест запускается автоматически при включении питания и состоит из элементарных проверок, т.е. суммы программных операций по однократной установке проверяемой схемы в определенное состояние с записью тестовых констант и сравнения выхода с эталоном. В случае неисправности платы загорается код ошибки 081. В РПТ выполняются четыре следующие элементарных проверки платы КП:

1) Номер проверки 111 - запись логической 1 по всем разрядам (Д0...10, 15) регистра канала Х 170500. При прочтении результат сравнивается с эталоном 103777.

2) Проверка №112. Тоже для координаты Z. Адрес 170501.

3) Проверка №119. В регистр Х 170500 записываются все нули. Эталон все нули.

4) Тоже, что и третья проверка, но для координаты Z. Проверка №114.

При несовпадении результатов чтения с эталоном высвечивается код ошибки 081.

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

Запись констант в определенные ячейки (регистры) предполагает использование в тестовых программах непосредственной и абсолютной адресации адресуемых ячеек и констант через счетчик команд. Использование методов адресации операндов через счетчик команд (констант или адресов ячеек памяти) в программах машинно-ориентированного языка ассемблера позволяет строить создавать тестовые программы, которые работоспособны и могут выполняться при их размещении в любой области оперативной памяти (операнды содержаться непосредственно после командных слов в двух- или трехадресных командах).

При непосредственной адресации операнд (константа) выбирается из ячейки, следующей непосредственно за командным словом. Код поля адресации операнда в команде 27. Непосредственная адресация эквивалентна автоинкрементному методу через счетчик команд - регистр РОН7. Для непосредственной адресации счетчик используется как указатель при выборке операнда перед увеличением его содержимого на два для указания на следующую команду.

Абсолютная адресация эквивалентна косвенно-автоинкриментной адресации. Абсолютная адресация, когда из ячейки, следующей за командным словом, выбирается адрес операнда, имеет код адресации операнда 37. При абсолютной адресации адрес операнда является его абсолютным адресом, т.е. он остается постоянным независимо от места расположения программы в памяти.

Порядок выполнения работы

4.1 Исследовать и выполнить в автоматическом и пошаговом режимах программу на языке ассемблера с применением методов непосредственной и абсолютной адресации операндов через счетчик команд для получения перемещаемых в любую область оперативной памяти программ.

В качестве примера исследовать программу сравнения трех чисел, выбора наибольшего числа из трех и записи его в ячейку хранения результата сравнения. Операнды -числа А, В, С -хранятся соответственно в ячейках 670, 672, 674. Результат выполнения программы записывается в ячейку 676. Первая команда - пересылка числа А, хранящегося в ячейке 670 в ячейку памяти результата 676.

Операнд А хранится в ячейке 670; В=672; С=674. Результат- в ячейке 676.

Задание 1 предварительное. Перевести в машинные коды программу сравнения трех чисел с абсолютной адресацией.

MOV @#670, @#676; (код трех машинных слов команды пересылки

023737 000676 000672)

CMP @#676, @#672; (код команды 023737 000676 000672)

BGT M1; (код 003003)

MOV @#672, @#676;

M1: CMP @#676, @#674;

BGT M2; (код003003)

MOV @#674, @#676;

M2: HALT; (код 000000)

Примечание:

Двухадресная команда программы «Пересылка» MOV, (код 01SSDD). Формат машинного слова с командой:

 
 


0/1 0 0 1 s s s s s s d d d d d d

Описание действия по команде: (d) ----- (s) (операнд источника (s) пересылается по адресу операнда приемника, прежнее содержимое ячейки (d) теряется. Содержимое ячейки (s) не изменяется.

Пример команды пересылки с абсолютной адресацией:

013737; MOV @# адрес 1, @# адрес 2

операнд 1 (адрес ячейки памяти)

операнд 2 (адрес ячейки памяти)

Команда «Сравнение» CMP, код 02SSDD.

Формат машинного слова с командой:

 
 


0/1 0 1 0 s s s s s s d d d d d d

 

Действие: (s) – (d) (сравнение операндов источника и приемника и изменение признаков, которые затем могут быть использованы для команд условных переходов, оба операнда не изменяются). Единственным действием команды является изменение признаков. За командой сравнения обычно следует команда условного ветвления. Заметим, что в отличие от команды вычитания, порядок действия следующий:

(s) – (d), а не (d) – (s).

Пример команды сравнения с абсолютной адресацией:

023737; CMP @#676, @#672

операнд 1 (адрес ячейки памяти)

операнд 2 (адрес ячейки памяти)

В программе по командам сравнения (CMP) происходит сравнение операндов источника и приемника и изменение признаков слова состояния процессора ССП, которые затем используются командой условного перехода, следующей за командой CMP. Операнды не изменяются. Порядок действия - из операнда, указанного в поле адресации источника (s) вычитается операнд поля адресации приемника (d).

Команда условного перехода BGT ()«Ветвление, если больше нуля» (код операции 3000). По команде происходит переход на указанную в команде метку, если по результатам сравнения путем вычитания результат больше 0, в противном случае выполняется следующая команда программы. Количество машинных слов команды (смещение счетчика команд) в случае ветвления указывается в младшем байте команды. Седьмой разряд команды ветвления определяет направление ветвления в сторону возрастания или убывания адреса по отношению к адресу самой команды ветвления. Адрес ячейки перехода как новое содержимое счетчика команд вычисляется по следующему правилу:

Новое содержимое счетчика СК равно текущему содержимому счетчика плюс удвоенное значение смещения ххх

СК= СК+2 ххх,

где текущее значение счетчика СК соответствует адресу команды перехода по ветвлению +2.

Задание 2 предварительное. Сравнить по объему по результатам перевода программы сравнения чисел с применением методов прямой и абсолютной адресациями:

Программа сравнения трех чисел с применением методов прямой адресации рассмотрена в лабораторной работе №7 и содержит следующие коды:

Адрес ячейки памяти 600 / код команды 010100

602 / 020002

604 / 003001

606 / 010200

610 / 020003

612 / 003001

614 / 010300

616 / 000000

Порядок выполнения работы

Включить ЭВМ:

- на задней стенке системного блока тумблер " СЕТЬ" установить в верхнее положение;

- на блоке управления монитора нажать кнопку " СЕТЬ";

- на системном блоке клавишу ПИТ/ВЫКЛ перевести в верхнее положение;

- клавишу ПРОГРАММА / ПУЛЬТ перевести в нижнее положение (режим пультового терминала). На клавиатуре клавиши ДУП, ЛИН, РЕД и ЛАТ должны быть нажаты.

Задание 1. Выполнить в пошаговом режиме программу с использованием абсолютной адресации операндов (начальное значение счетчика команд (СК) принять равным 600):

- записать каждую команду программы в память, начиная с ячейки 600;

-записать операнды А, В, С соответственно в РОН R1, R2, R3.

- выполнить программу по шагам (положение клавиши " ПУЛЬТ / ПРОГРАММА" в нижнем положении). Для этого ввести начальный адрес программы и нажать символ “G". При пошаговом режиме после выполнения каждой очередной команды на экране дисплея высвечивается адрес следующей. При нажатии клавиши “Р" выполняется очередная команда и выводится на экран значение счетчика команд. После останова программы можно выполнить чтение регистра состояния.

Задание 2. Выполнить программу в автоматическом (циклическом) режиме (положение клавиши " ПУЛЬТ/ПРОГР" в верхнем положении ПРОГРАММА). В циклическом режиме выполняются команды программы с заданного адреса до команды " ОСТАНОВ", после чего выводится значение счетчика команд.

ü Содержание отчета

ü Цель работы.

ü Результаты выполнения пунктов предварительного задания.

ü Результаты выполнения программы сравнения чисел в пошаговом и автоматическом режимах.

ü Выводы.

ü

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

5.1 Название и цель работы.

5.2 Результаты измерений.

5.3 Методика расчёта погрешностей и результаты расчёта.

5.4 Выводы.

Литература

Центральный процессор М2. Техническое описание и инструкция по эксплуатации.


 

Лабораторная работа №10


Поделиться:



Популярное:

  1. III. Изучение (разбор) ситуаций («Кейс-стади»).
  2. III. Изучение нового материала.
  3. Библиографический подбор и изучение научной литературы по проблеме исследования
  4. Геродот в Причерноморье, изучение им Скифии
  5. Досточтимый древний сказал: «Изучение пути подобно добыванию огня. Вам нельзя останавливаться, когда вы добились дыма: только со вспышкой пламени возврат домой завершен».
  6. ЗАСАДА В ЛАС-АНИМАС: ИЗУЧЕНИЕ ЭНТУЗИАСТАМИ В 1993 ГОДУ МЕСТА БОЯ В ЛАС- АНИМАС.
  7. Знакомство с организацией, изучение и анализ документов, характеризующих организационную структуру и направления деятельности органа государственной власти (или местного самоуправления).
  8. Изучение влияния температуры на скорость химической реакци
  9. Изучение деятельностно-субъектных особенностей ребёнка
  10. Изучение дифракции Фраунгофера на одной щели и на
  11. Изучение дифракционной решетки и определение длины
  12. Изучение должностных обязанностей специалистов и руководителей подразделений.


Последнее изменение этой страницы: 2016-07-12; Просмотров: 1029; Нарушение авторского права страницы


lektsia.com 2007 - 2024 год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! (0.042 с.)
Главная | Случайная страница | Обратная связь