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


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



Цель работы

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

 

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

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

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

2.3. Средства исследования - использование примеров и программы на языке ассемблера с использованием различных методов адресации, выполнение программы в пошаговом и автоматическом режиме на диалоговом вычислительном комплексе ДВК 2М с системой команд DEC.

 

 

Сведения о командах процессора, применяемых при изучении методов прямой адресации.

1. Команда прибавления 1 к содержимому регистра R3.

Символическое обозначение команды в мнемонике ассемблера Восьмеричный код Наименование команды
INC R3 Прибавление единицы

Действие: Прибавляет единицу к содержимому третьего РОН.

 

2. Команда сложения содержимых регистров R2 и R4.

Обозначение Восьмеричный код Наименование команды
ADD R2, R4 Сложение

Действие: складывается содержимое R2 с содержимым R4.

Состояние ячеек памяти

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

R2) 000002 R2) 000002

R4) 000004 R4) 000006

 

3. Команда инвертирования байта

Обозначение Восьмеричный код Наименование команды
COMB R4 Инвертирование байта

Действие: Заменяется содержимое разрядов 07 - 00 в R4 их обратным кодом. (байтовые команды, использующие регистры общего назначения, оперируют только с младшим байтом информации, содержащимся в РОН).

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

R4) 022222 R4) 022155

 

 

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

Обозначение Восьмеричный код Наименование команды
CLR (R5) + Очистка

Действие: Содержимое ячейки, адрес которой содержится в R5, очищается, после чего адрес (содержимое R5) увеличивается на 2.

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

20000) 005025 R5) 030000 20000) 005025 R5) 030002

30000) 111116 30000) 000000

 

5. Команда очистки байта с автоинкрементной адресацией операнда

Обозначение Восьмеричный код Наименование команды
CLR B (R5) + Очистка байта

Действие: очищается выбранный байт, адрес которого содержится в R5, после чего адрес (содержимое R5) увеличивается на 1.

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

20000) 005025 R5) 030000 20000) 105025 R5) 030001

30000) 111116 30000) 111000

30002) 30002)

 

6. Команда сложения с автоинкрементной адресацией операнда через регистрR2

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

Действие: операнд, адрес которого содержится в R2, складывается с содержимым R4. Результат заносится в R4, а содержимое R2 (адрес операнда источника) наращивается на 2.

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

100) 062204 R2) 000204 100) 062204 R2) 000206

R4) 001000 R4) 003000

204) 002000 204) 002000

 

7. Команда прибавления 1 с автодекриментной адресацией операнда

Обозначение Восьмеричный код Наименование команды
INC - (R0) Прибавление единицы

Автодекрементный метод адресации также используется для обработки табулированных данных. Однако, в отличие от автоинкрементного метода, адресация к ячейкам массива идет в противоположном направлении. При этом методе содержимое выбранного РОН уменьшается (для байтовых команд на единиц, для команд с полными словами - на два), а затем используется как исполнительный адрес.

Действие: Содержимое R0 уменьшается на 2 и используется как исполнительный адрес. К содержимому, выбранному из ячейки по этому адресу, Прибавляется единица.

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

100) 005240 R0) 017776 100) 005240 R0) 017774

17774) 000000 17774) 000001

 

8. Команда байтовая прибавления 1 с автодекрементной адресацией операнда

Обозначение Восьмеричный код Наименование команды
INC B - (R0) Прибавление единицы к байту

Действие: содержимое R0 уменьшается на 1 и используется как адрес операнда. К выбранному байту прибавляется единица.

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

100) 105240 R0) 017776 100) 105240 R0) 017775

17774) 000000 17774) 000400

 

9. Команда сложения с автодекрементной адресацией операнда через РОН R3

Обозначение Восьмеричный код Наименование команды
ADD - (R3), R0 Сложение

Действие: Содержимое R3 уменьшается на 2 и используется как адрес операнда источника, который складывается с содержимым R0 (операнд приемника). Результат записывается в R0.

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

120) 064300 R0) 000020 120) 064300 R0) 000070

R3) 001776 R3) 001774

1774) 000050 1774) 000050

 

10. Команда очистки с индексной адресацией.

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

Обозначение Восьмеричный код Наименование команды
CLR 200 (R4) Очистка

Действие: Адрес операнда определяется прибавлением к содержимому R4 код 200, после чего ячейка с вычисленным адресом очищается.

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

1020) 005064 R4) 001000 1020) 005064 R4) 001000

1022) 000200 1022) 000200

1200) 177777 1200) 000000

 

11. Команда байтовая инвертирования с индексной адресацией

Обозначение Восьмеричный код Наименование команды
COMB 200 (R1) Инвертирование байта

Действие: адрес операнда определяется прибавлением к содержимому R1 кода 200. После чего содержимое ячейки с вычисленным адресом заменяется его обратным кодом.

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

1020) 105161 R1) 017777 1020) 105161 R1) 017777

1022) 000200 1022) 000200

20176) 011000 20176) 1664300

Адрес операнда был вычислен прибавлением к содержимому R1 кода 200, в результате чего команда СОМВ произвела свое действие над старшим байтом ячейки с адресом 20176.

 

12. Команда сложения с индексной адресацией

Обозначение Восьмеричный код Наименование команды
ADD 30 (R2), 20 (R5) Сложение

Действие: Содержимое ячейки, адрес которой вычисляется сложением кода 30 с содержимым R2 (операнд источника), складывается с содержимым ячейки, адрес которой вычисляется сложением кода 20 с содержимым R5 (операнд приемника). Результат записывается по адресу операнда приемника.

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

1020) 066265 R2) 001100 1020) 066265 R2) 001100

1022) 000030 R5) 002000 1022) 000030 R5) 002000

1024) 000020 1024) 000020

1130) 000001 1130) 000001

2020) 000001 2020) 000002

 

 

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

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

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

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

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

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

4.1. Освоить правила работы в пультовом режиме ЭВМ для загрузки и отладки программы

1) Процедура1-чтение данных из памяти, из РОН и из регистра состояния программы RS. Для чтения данных на экран дисплея надо задать адрес в восьмеричном коде или имя регистра и нажать " /", ЭВМ выводит содержимое ячейки или регистра в восьмеричном коде. Для окончания режима - нажать " ВК", но при необходимости прочитать следующий адрес ячейки памяти или РОН, то надо нажать “ПС".По сигналу ПС микроЭВМ выводит адрес следующего слова и через пробел число по этому адресу. Далее можно вновь нажать ПС, а по окончании чтения массива - ВК.

Пример чтения содержимого с 600-го по 604-й адрес:

600/ 177777 ПС

000602/ 177777 ПС

000604/ 000000 ВК

Пример чтения из РОН со 2-го по 3-й адрес:

R2/ 157700 ПС

R3/ 000000 ВК

Чтение регистра состояния программы:

RS/ 000011 ВК

2) Процедура2-запись чисел в память и в РОН.

Режим записи включает действия режима чтения, только после вывода данных из ЭВМ надо набрать новое число. Старшие нули в адресе и в данных могут быть опущены. В ячейку или РОН записываются последние 6 цифр.

Выполнить примеры записи массива данных с 600-го по 604-й адрес:

600/ 177777 2700 ПС

000602/ 177777 676 ПС

000604/ 000000 12701 ВК

Запись чисел в РОН R0, R1

R0/ 177777 676ПС

R1/ 177777 0 ВК

 

 

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

ВАРИАНТ ЗАДАНИЯ НОМЕР КОМАНДЫ (по материалам раздела 3)
ПРИМЕРЫ 4, 6, 11
ПРИМЕРЫ 1, 5, 12
ПРИМЕРЫ 2, 7, 10
ПРИМЕРЫ 3, 6, 9
ПРИМЕРЫ 4, 8, 11
ПРИМЕРЫ 1, 6, 9
ПРИМЕРЫ 4, 8, 11
ПРИМЕРЫ 2, 6, 10
ПРИМЕРЫ 3, 6, 11
ПРИМЕРЫ 4, 8, 12

Задание1. Ввести начальный адрес программы, состоящей из одной исследуемой команды, и нажатием клавиши “G" запустить программу.

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

4.3. Выполнить программу с прямой регистровой адресацией.

Предложено исследование применения методов адресации на примере программы последовательного сравнения чисел А, В, С. В качестве операндов А, В, С необходимо взять произвольные восьмеричные числа, которые до запуска программы должны быть загружены в регистры соответственно РОН R1, R2, R3. Для хранения результата выполнения программы (большего из трех чисел) используется регистр результата R0, который должен быть предварительно очищен.

Программа на языке Ассемблера:

MOV R1, R0; засылка операнда А в регистр результата Р0

CMP R0, R2; сравнение числа А с числом В

BGT M1; условный переход на метку М1 по условию больше нуля разности чисел А-В по результату сравнения

MOV R2, R0; засылка операнда В в регистр результата Р0

М1: CMP R0, R3; условный переход на метку М2 по условию больше нуля разности чисел В-С по результату сравнения

BGT M2

MOV R3, R0; засылка операнда С в регистр результата Р0

М2: HALT

Программа в машинных кодах имеет вид:

600 /010100

602 /020002

604 /003001

606 /010200

610 /020003

612 /003001

614 /010300

616 /000000

Начальное значение счетчика команд (СК) принято равным 600.

Задание2. Выполнить программу в пошаговом режиме:

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

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

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

Занести в отчет последовательность выполнения команд с учетом ветвлений программы.

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

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

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

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

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

5.4. Выводы.

 

Литература

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

 

 


 

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


Поделиться:



Популярное:

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


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