Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
lr_ak_ks_11.doc
Скачиваний:
3
Добавлен:
06.05.2019
Размер:
4.11 Mб
Скачать

Контрольні запитання:

  1. Що таке комірка пам’яті?

  2. Що таке адреса комірки пам’яті?

  3. Який інформаційний об’єм комірки пам’яті?

  4. Що таке стек?

  5. Який регістр процесора вказує на розміщення вершини стека?

  6. Як змінюється регістр покажчик стека при виконанні команд PUSH?

  7. Як змінюється регістр покажчик стека при виконанні команд POP?

Інструкція до лабораторної роботи № 8

Тема: Вивчення видів адресації.

Мета: перевірити принципи утворення різних видів адресації: базової, базово-індексної, базово-індексної із зміщенням.

Прилади та обладнання: персональний комп’ютер, операційна система Windows NT4/2000/XP, мультимедійний проектор.

Допуск до проведення лабораторної роботи: Виконання тестів з використанням комп’ютерної програми або письмового виконання наявно вказаних тестових завдань.

Тест 1. Який регістр відповідає за базову складову при адресації.

Тест 2. Які регістри відповідають за індексну складову при адресації.

Короткі теоретичні відомості

Найпростіший принцип формування адреси реалізується при роботі процесора у реальному режимі. Тут адреса формується із двох складових: сегментної (seg), зміщення або ефективної складової (offset), і обчислюється за формулою:

Addr = Seg * 16 + Base + Index * Scale + Displacement

Сегментна складова формує старші біти адреси у результаті чого пам’ять розбивається на сегменти. У межах одного сегмента виконуються прості програми і резервується місце для програмного кода, стека та даних.

У захищеному режимі адресація здійснюється через регістри дескриптора, а у режимі віртуального 8086 процесора – через блок посторінкової переадресації який розглядає комірку пам’яті як сторінку розміром 4 кілобайти за рахунок чого програмно збільшується адресований простір.

У залежності від складових які беруть участь у формуванні ефективної адреси розрізняють такі види адресацій:

  1. базова;

  2. базово-індексна;

  3. базово-індексна із зміщенням.

Базова використовується при адресації масиву комірок пам’яті, починаючи з початкової (базової) адреси. Базово-індексна використовується коли за допомогою однієї команди пересилається 2, 4 чи 8 байт одночасно. Базово-індексна із зміщенням використовується у випадку якщо потрібно змінити адресацію комірок всередині масиву.

Порядок виконання роботи

Результати виконання роботи записувати у таблицю

№ з/п

Команда або директива

Значення

Регістрів

комірок пам’яті

Записи директив а і р у таблицю не вносити.

        1. Із командного рядка запустити програму DEBUG.

        2. Базова адресація. Занести у регістр АХ значення АА**, де ** - номер варіанта, тобто порядковий номер студента у журналі групи (а  mov ax, aa**   p). Записати у звіт значення регістра АХ.

        3. Занести у регістр ВХ значення ВВBB, (а  mov bx, bbbb   p). Записати у звіт значення регістра ВХ.

        4. Переглянути комірки ВВBB та ВВBB+1, записати їх значення у звіт (d bbbb ).

        5. Занести у комірку на яку вказує регістр ВХ значення яке знаходиться у регістрі АХ (a  mov [bx],ax   p). Переглянути комірки пам’яті з адресами BBBB та ВВBB+1 і записати у звіт їх значення (d bbbb ).

        1. Базово-індексна адресація. Занести у регістр SI значення 1111 (a  mov si,1111   p ). Записати у звіт значення регістра SI.

        2. Переглянути комірки пам’яті з адресами ВВBB+1111 та ВBBB+1111+1 та записати у звіт їх значення (d cccc ).

        3. Занести у регістр DХ значення DD**, (а  mov dx, dd**   p). Записати у звіт значення регістра DХ.

        4. Занести у комірки пам’яті, починаючи з адреси на яку вказують регістри ВХ і SI, значення регістра DХ (a  mov [bx+si],dх   р).

        5. Переглянути комірки пам’яті з адресами ВВBB+1111 та ВВBB+1111+1 і записати у звіт їх значення (d cccc ).

        6. Збільшити значення регістра SI на 2 (a  inc si   p  a  inc si   p ). Записати значення регістра SI у звіт.

        7. Занести у регістр DХ значення ЕЕ**, (а  mov dx, ее**   p). Записати у звіт значення регістра DХ.

        8. Занести у комірки пам’яті, починаючи з адреси на яку вказують регістри ВХ і SI, значення регістра DX (a  mov [bx+si],dx   р).

        9. Переглянути комірки пам’яті з адресами ВВBB+1111+2 та ВВBB+1111+3 і записати у звіт їх значення (d ccce ).

        10. Занести у регістр АХ значення із комірок на які вказують регістри ВХ та SI (a  mov ax, [BX+SI]   p). Записати значення регістра АХ у звіт.

        11. Зменшити значення регістра SI на 2 (a  dec si   p  a  dec si   p ). Записати значення регістра SI у звіт.

        12. Занести у регістр АХ значення із комірок на які вказують регістри ВХ та SI (a  mov ax, [BX+SI]   p). Записати значення регістра АХ у звіт.

        1. Базово-індексна адресація із зміщенням. Переглянути комірки пам’яті з адресами ВВBB+1111+** та ВВBB+1111+**+1 та записати у звіт їх значення (d cccc+** ).

        2. Занести значення із регістра АХ у комірки пам’яті з адресами на які вказують регістри ВХ та SI із зміщенням ** (a  mov [bx+si+**],ax   p ).

        3. Переглянути комірки пам’яті з адресами ВВBB+1111+** та ВВBB+1111+**+1 та записати у звіт їх значення (d cccc+** ).

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]