Лекции.Орг


Поиск:




Категории:

Астрономия
Биология
География
Другие языки
Интернет
Информатика
История
Культура
Литература
Логика
Математика
Медицина
Механика
Охрана труда
Педагогика
Политика
Право
Психология
Религия
Риторика
Социология
Спорт
Строительство
Технология
Транспорт
Физика
Философия
Финансы
Химия
Экология
Экономика
Электроника

 

 

 

 


Способи адресування операндів МП фірми Intel




 

Регістрове адресування операндів

 

Найбільш швидко виконуваним є регістрове адресування, за якого обидва операнди знаходяться у регістрах, які вказуються у команді. Вміст регістра-джерела передається (копіюється) у регістр-приймач, який у команді вказується першим. Наприклад:

 

MOV AX,CX; Копіювання 16-розрядного вмісту регістра CX в

; акумулятор AX

 

Вміст регістра-приймача завжди змінюється на вміст регістра-джерела, який не змінюється.

 

Безпосереднє адресування операндів

 

При безпосередньому адресуванні операнд-джерело вказується безпосередньо у команді у вигляді 8- або 16-розрядного даного. Операнд-приймач може бути регістром, або коміркою пам'яті, адресованою будь-яким способом, але не може бути числом. Наприклад:

 

MOV BL,11H; 8-розрядне дане записується у регістр BL

 

При безпосередньому адресуванні знак константи поширюється до 8- або 16-розрядного регістра, а від'ємні числа записуються у регістр або комірку пам'яті у доповнювальному коді.

Припустимо, що до виконання команди

 

MOV CL,12H; Завантаження у CL константи 12H

 

у регістрі CL було записане число FFH (11111111 В). Після виконання цієї команди у регістр СL буде записано число 12 H (00010010 B).

Результатом виконання команди

 

MOV CН,-30; Завантаження у CН константи -30D

 

буде запис у регістр числа Е 2 Н (11100010В) – числа -30 D у доповнювальному коді.

Покажемо на прикладі команди з безпосереднім адресуванням як розміщуються байти команди у сегменті кодів. При уведенні команди

 

MOV АХ,7000Н

 

наприклад, у сегмент кодів, який починається з адреси 7000Н (CS) та зміщення 0100Н три байти команди у машинних кодах будуть розміщені у трьох послідовних комірках пам’яті з адресами

 

Адреса Машинні коди  
7000:0100 В 8   ; Код операції “пересилати до АХ
7000:0101     ; Молодший байт
7000:0102     ; Старший байт операнда безпосередньо
7000:0103     ; Вільна комірка пам’яті для прийому коду ; операції наступної команди

 

Запис команди у сегмент кодів можна також проілюструвати за допомогою фрагмента пам’яті (рис. 9.3):

 
 

 


Рисунок 9.3 – Розташування байтів команди MOV AX,7000 Н у сегменті кодів

 

Таким чином, обсяг пам’яті, яку займає програма, є сумою байтів, займаних усіма командами цієї програми.

 

Пряме адресування

 

При прямому адресуванні ефективна адреса операнда у сегментах даних вказується прямо у команді і розміщується у квадратних дужках. Початкова адреса сегмента даних, яка заздалегідь має бути розміщена у відповідному сегментному регістрі даних DS або ES, участь у формуванні ефективної адреси не бере. На рис. 9.4 показано фрагмент сегмента даних, в якому у комірках пам’яті з ефективними адресами 0010 Н та 0011 Н зберігаються відповідно дані ВВН та ААН, а з адресами 0020 Н та 0021 Н – дані ССН та DDН.

 


 
 

   
   
  ВВН
  ААН
 
 
 
  ССН
  DDH
   

 

Рисунок 9.4 – Пряме адресування

 

Після виконання команди

 

MOV АL,[0010Н]; Завантаження в АL даного з комірки пам'яті з адресою

; 0010Н

 

у регістр АL буде завантажене дане ВВН.

Після виконання команди

 

MOV АХ,[0010Н]; Завантаження в АХ слова з комірок пам'яті з адресами

; 0010Н та 00011Н

 

у регістр АХ буде завантажено слово ААВВН відповідно до принципу зберігання у пам'яті слів – little endian.

Після виконання фрагмента програми

 

MOV АХ,[0010Н];

MOV [0020Н],АХ; Завантаження комірок пам'яті з адресами 0020Н та

; 0021Н з акумулятора АХ

 

у комірках пам'яті з адресами 0020 Н та 0021 Н будуть записані нові дані: ВВН та ААН відповідно.

 





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


Дата добавления: 2015-10-19; Мы поможем в написании ваших работ!; просмотров: 498 | Нарушение авторских прав


Поиск на сайте:

Лучшие изречения:

Логика может привести Вас от пункта А к пункту Б, а воображение — куда угодно © Альберт Эйнштейн
==> читать все изречения...

2284 - | 2212 -


© 2015-2025 lektsii.org - Контакты - Последнее добавление

Ген: 0.011 с.