Тема первого задания: Изучение архитектуры и функционирования центрального процессора ЭВМ на примере CPU Intel 8086 .
Методические указания
Перед выполнением работы студент должен изучить следующие теоретические вопросы:
1. структуру процессора INTEL 8086;
2. разрядность, назначение и адресацию регистров процессора;
3. представление данных в компьютерах;
4. адресацию данных и команд в компьютерах;
5. требования языка Ассемблера;
6. назначение и особенности применения псевдооператоров (директив) определения сегментов, типов данных, указания типов данных;
7. команды пересылки данных общего назначения;
8. методы ввода исходного текста, ассемблирования, отладки и прогона программы;
9. структуру упрощенной типовой программы на ассемблере.
Порядок выполнения задания
1. Составить алгоритм выполнения программы для указанного варианта задания (таблица 1), написать программу на языке ассемблера, ввести, транслировать, отладить и выполнить программу.
2. Подготовить отчет о выполнении задания, в котором должно быть отражены цель, задание, алгоритм и исходный текст программы.
3. Ответить на контрольные вопросы, находящиеся в конце второго задания
Таблица 1– Варианты заданий
№ варианта | Условия задания |
1. | 1. Задать в сегменте данных таблицу байт TABSB из произвольных десятичных чисел размерностью 4´4, в которой повторяются 1¸3 элементы 1- й строки. 2. Переписать исходную таблицу в таблицу приемник TABCW в обратном порядке, преобразовав байты в слова. 3. В первом элементе таблицы TABCW старший байт сделать равным младшему байту последнего элемента. |
2. | 1. Задать в сегменте данных таблицу слов TABSW из произвольных десятичных чисел, размером 3´2, в которой элементы первой строки одинаковы. 2. Поменять местами старшие байты первого и последнего элементов второй строки. 3. Переписать исходную таблицу TABSW в другую таблицу- приемник TABCB, преобразовав слова в байты. |
3. | 1. Задать в сегменте данных таблицу двойных слов “TABSD” из произвольных десятичных чисел, размером 3´2. 2. Скопировать таблицу TABSD в таблицу TABCW в обратном порядке, преобразовав таблицу двойных слов в таблицу слов. 3. В последнем элементе 1- й строки таблицы TABCW, заменить старший байт его инверсным значением. |
4. | 1. Задать в сегменте данных таблицу байт TABSB из произвольных шестнадцатиричных чисел, размером 8´2. 2. Переписать таблицу TABSB в таблицу двойных слов TABCD. Сначала четные, по порядку, элементы TABSB, а затем нечетные. 3. В таблице TABCD в первом элементе поменять местами первый и последний байт. |
5. | 1. Задать в сегменте данных таблицу слов TABSW из произвольных десятичных чисел, размером 4´2. 2. В старшие байты TABSW второй строки записать произвольную шестнадцатиричную const. 3. Переписать таблицу TABSW в таблицу двойных слов TABSD определенную в дополнительном сегменте ES. |
6. | · Задать в сегменте данных таблицу двойных слов TABSD размером 2´2, первая строка которой состоит из беззнаковых шестнадцатиричных чисел, а вторая из знаковых чисел. · Поменять местами первые и третьи байты первых элементов первой и второй строк. · Переписать преобразованную таблицу в таблицу байт TABSB определенную в дополнительном сегменте ES. |
Продолжение таблицы 1
|
|
|
|
7. | 1. Задать в сегменте данных таблицу слов TABSW размером 8´1 нечетные строки, которой знаковые двоичные числа, а четные – беззнаковые шестнадцатиричные числа. 2. Записать содержимое таблицы в стековую область памяти. 3. Переписать содержимое стека в таблицу TABCW1 в обратном порядке. 4. Преобразовать таблицу слов TABCW в таблицу двойных слов TABSD. |
8. | 13. Задать в таблице байт TABSB два шестнадцатиричных беззнаковых числа, два шестнадцатиричных целых знаковых числа, два двоичных числа, два десятичных числа. 14. Переписать содержимое TABSB в стековую область памяти. 15. Переписать содержимое стека в таблицу слов TABCW . 16. Поменять местами в TABCW младший и старший байты. |
9. | 1. Задать в сегменте данных таблицу TABSQ размером 2´2, элементы которой четырехсловные шестнадцатиричные поля. 2. Записать в старшие байты элементов первой строки младшие байты второй строки. 3. Преобразовать четырехсловную таблицу TABSQ в двухсловную таблицу TABSD. |
10. | 1 Задать в сегменте данных таблицу слов TABSW размером 2´2, элементы которой произвольные шестнадцатиричные знаковые числа. 2 Поменять местами четные и нечетные байты первой строки. 3 Во второй строке, заменить старшие байты слов, на инверсное значение. 4 Преобразовать таблицу слов в таблицу байт TABSB. |
11. | 1. Задать в сегменте данных таблицу слов TABSW размером 4´4, заполненную десятичными числами. 2. Преобразовать таблицу слов TABSW в таблицу байт TABSB. 3. Переписать каждый четный элемент таблицы TABSB в таблицу TABSB2 определенную в дополнительном сегменте. |
12. | · Сохранить в стеке содержимое сегментных регистров. Переписать содержимое стэка в таблицу TABSW находящуюся в дополнительном сегменте, в том же порядке. · В младшие байты элементов таблицы TABSW соответствующие регистрам DS и ES записать const 25.. |
13 | Задать в сегменте данных таблицу слов TABSW размером 4´4, нечетные строки которой десятичные числа, а четные шестнадцатиричные числа. 2. Преобразовать таблицу слов TABSW в таблицу байт TABSB. 3. Заменить четные элементы TABSB на двоичное число. |
Продолжение таблицы 1
|
|
|
|
14 | 1. Задать в дополнительном сегменте таблицу байт TABSB 4´4, из произвольных десятичных чисел. 2. Преобразовать таблицу байт TABSB в таблицу слов TABSW. 3. Сохранить каждый четный элемент таблицы TABSW в стэке.. · Восстановить значение этих элементов, в том же порядке, в таблице TABSW1. |
15 | 1.Задать в сегменте данных таблицу байт TABSB размером 4´4, из произвольных шестнадцатиричных чисел. 2. Сохранить содержимое таблицы TABSB в стэке. 3. Записать содержимое стэка в таблицу двойных слов TABSD. 4. Поменять местами первый и последний байты табл. TABSD. |
16 | 1. Задать в сегменте данных таблицу двойных слов TABSD размером 3´3, из произвольных шестнадцатиричных чисел. 2. Шестой байт таблицы TABSD, заменить на инверсное значение. Переписать таблицу TABSD в таблицу TABSB в обратном порядке, преобразовав таблицу двойных слов в таблицу байт. |
17 | 1. Задать в сегменте данных таблицу слов TABSW размером 4´4, заполненную произвольными двоичными числами. 2. Преобразовать таблицу слов TABSW в таблицу байт TABSB. 3. Заменить в TABSB двоичные числа эквивалентными шестнадцатиричными числами. |
18 | 1. Задать в сегменте данных таблицу байт TABSB размером 3´3 из произвольных десятичных чисел. 2. Переписать данные в таблицу TABCW, сначала нечетные элементы, а затем четные, преобразовав байты в слова. 3. Во втором элементе таблицы TABCW старший байт сделать равным младшему байту последнего элемента. |
19 | 1. Задать в сегменте данных таблицу TABSQ размером 2´2, элементы которой четырехсловные десятичные поля. 2. Записать в младшие байты элементов первой строки старшие байты второй строки. 3.Преобразовать четырехсловную таблицу TABSQ в словную таблицу TABSW. |
20 | Задать в сегменте данных таблицу байт TABSB из произвольных десятичных чисел размерностью 4´4. Переписать исходную таблицу в таблицу приемник TABSD в обратном порядке, преобразовав байты в двойные слова. В третьем элементе таблицы TABSD старший байт сделать равным младшему байту последнего элемента. |
Продолжение таблицы 1
21 | 1.Задать в сегменте данных таблицу байт TABSВ размером 4´4, содержащую знаковые десятичные числа. 2.Записать содержимое таблицы в стековую область памяти. 3.Переписать содержимое стека в таблицу в таблицу двойных слов TABSD. |
22 | 1. Задать в сегменте данных таблицу слов TABSW 4´4, содержимое которой произвольные шестнадцатиричные числа. 2. Преобразовать таблицу слов TABSW в таблицу байт TABSB. 3. Переписать нечетные (по порядку)элементы таблицы TABSB в таблицу TABSB2, определенную в дополнительном сегменте. |
23 | 1.Задать в дополнительном сегменте таблицу слов TABSW размером 3´3, из беззнаковых шестнадцатиричных чисел. 2.Записать содержимое таблицы в стековую область памяти. 3. Переписать содержимое стека в таблицу двойных слов TABSD определенную в сегменте данных. |
24 | 1. Переписать содержимое регистров DS, CS, SS, ES в регистры АХ, ВХ, СХ, DХ. 2. Сохранить содержимое регистров в таблице байт TABSB. 4. Инвертировать содержимое TABSB и записать в таблицу двойных слов TABSD. |
25 | Задать в сегменте данных таблицу двойных слов TABSD размером 3´3, первая строка которой шестнадцатиричные числа, вторая – десятичные числа, третья – двоичные. Заменить вторые байты первых элементов строк на вторые байты последних элементов этих же строк. 3. Переписать преобразованную таблицу в таблицу байт TABSB определенную в дополнительном сегменте ES. |
Задание 2
Дата добавления: 2019-09-02; просмотров: 213; Мы поможем в написании вашей работы! |
Мы поможем в написании ваших работ!