Тема первого задания: Изучение архитектуры и функционирования      центрального процессора ЭВМ на примере 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; Мы поможем в написании вашей работы!

Поделиться с друзьями:






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