MPS_variant_12
.docxМинистерство образования Республики Беларусь
БГУИР
Факультет заочного обучения
Кафедра электронных вычислительных средств
Контрольная работа № 1
по дисциплине: «Микропроцессорные системы»
Выполнил студент гр. 000701 Специальность ЭВС Купчиков Р.И. (вариант 12) |
|
Проверил: Бибило П.Н. Оценка: ________________ ________________________ (подпись) ________________________(дата) |
|
|
|
Почтовый адрес: г. Могилев, Б-р Непокорённых, д.76, кв.55 т. 8 044 711 77 99 e-mail: r.i.smart@yandex.com |
|
|
Минск 2013
Вариант 12
Задание1 (№12). Для микропроцессора 8086 (КМ1810ВМ86):
-
вычислить эффективный адрес:
а) BP = C428h, SI = 17B3h, disp = 7654h;
б) BX = 67A2h, SI = 7FC3h;
в) BP = 73A5h, DI = 658Ch, disp = 65h;
-
вычислить физический адрес:
а) DS = F163h, DI = EB53h;
б) ES = 6B33h, BX = 2C86h;
в) CS = 375Ch, IP = 75F6h.
Эффективный адрес:
Эффективный адрес равен сумме содержимого базового регистра (в данном задании это BP и BX), индексного регистра (в данном задании это SI и DI) и смещения. 16-й бит суммы (при нумерации с 0-го) отбрасывается.
а) BP + SI + disp = C428h + 17B3h + 472h = 1522Fh.
Ответ: 522Fh
б) BX + SI = 67A2h + 7FC3h = E765h.
Ответ: E765h
в) BP + DI + disp = 73A5h + 658Ch + 65h = D996h.
Ответ: D996h
Физический адрес:
Физический адрес равен сумме содержимого сегментного регистра, сдвинутого на 4 разряда влево, и содержимого индексного регистра. 20-й бит суммы (при нумерации с 0) отбрасывается. Оператор сдвига влево обозначен как «shl».
а) (DS shl 4) + DI = (F163h shl 4) + EB53h = F1630h + EB53h = 100183h.
Ответ: 00183h.
б) (ES shl 4) + BX = (6B33h shl 4) + 2C86 = 6B330h + 2C86h = 6DFB6h.
Ответ: 6DFB6h.
в) (CS shl 4) + IP = (375Ch shl 4) + 75F6h = 375C0h + 75F6h = 3EBB6h.
Ответ: 3EBB6h.
Задание 2 (№12). Для микропроцессора 8086 (КМ1810ВМ86) определить логический и физический адреса операндов при (BX) = D623h, (DI) = BA29h, (BP) = E4F3h, (DS) = A1F6h, disp16 = A138h для следующих режимов адресации:
-
прямого;
-
регистрового косвенного с участием регистра BP;
-
регистрового относительного с использованием регистра BX;
-
базового индексного с использованием регистра BX;
-
относительного базового индексного с использованием регистра BP.
Логический адрес задается двумя 16-разрядными значениями — адресом сегмента и эффективным адресом. Для всех режимов адресации адресом сегмента является содержимое регистра DS (A1F6h).
Физический адрес формируется путем сдвига на 4 разряда влево содержимого сегментного регистра и последующим суммированием этого значения с эффективным адресом. 20-й бит суммы (при нумерации с 0) отбрасывается. Оператор сдвига влево обозначен как «shl».
-
При прямом режиме адресации эффективным адресом операнда является только смещение. disp16 = A138h.
Физический адрес равен ((DS) shl 4) + disp16 = A1F60h + A138h = AC098h.
Ответ: A1F6h:A138h (логический адрес), AC098h (физический адрес).
-
При регистровом косвенном режиме адресации эффективным адресом операнда является содержимое базового или индексного регистра (в данном случае, регистра BP). (BP) = E4F3h.
Физический адрес равен ((DS) shl 4) + disp16 = A1F60h + E4F3h = B0453h
Ответ: A1F6h:E4F3h (логический адрес), B0453h (физический адрес).
-
При регистровом относительном режиме адресации эффективным адресом операнда является сумма содержимого базового или индексного регистра (в данном случае, регистра BX) и смещения. (BX) + disp16 = D623h + A138h = 1775B. Начальная единица отбрасывается.
Физический адрес равен ((DS) shl 4) + (BX) + disp16 = A1F60h + D623h + A138h = B96BBh
Ответ: A1F6h:775Bh (логический адрес), B96BBh (физический адрес).
-
При базовом индексном режиме адресации эффективным адресом операнда является сумма содержимого базового (в данном случае, регистра BX) и индексного (в данном случае, регистра DI) регистра. (BX) + (DI) = D623h + BA29h = 1904C. Начальная единица отбрасывается.
Физический адрес равен ((DS) shl 4) + (BX) + (DI) = A1F60h + D623h + BA29h = BAFACh
Ответ: A1F6h:904Ch (логический адрес), BAFACh (физический адрес).
-
При относительном базовом индексном режиме адресации эффективным адресом операнда является сумма содержимого базового регистра (в данном случае, регистра BP), содержимого индексного регистра (в данном случае, регистра DI) и смещения. (BP) + (DI) + disp16 = E4F3h + BA29h + A138h = 24054. Первая цифра отбрасывается
Физический адрес равен ((DS) shl 4) + (BP) + (DI) + disp16 = A1F60h + E4F3h + BA29h + A138h = C5FB4h
Ответ: A1F6h:4054h (логический адрес), C5FB4h (физический адрес).
Задание 3 (№12). Для микропроцессора 8086 (КМ1810ВМ86) записать машинный код команд:
а) CMP AL,DL;
б) OR [SI + BP + 1F4h],DI;
в) INC DH.
а) CMP AL, DL
Код команды CMP (если операнды — байты) — 00111010 = 3Ah. Режим md = 11 (т.к. операнды — только содержимое регистров), для регистра AL reg = 000, для регистра DL reg = 010. Таким образом, второй байт равен 11000010 = C2h
Ответ: 3AC2h.
б) OR [SI + BP + 1F4h], DI;
Код команды OR (если операнды — слова и первый операнд — ячейка памяти, а второй — регистр) — 00001001 = 09h. Режим md = 10 (т.к. второй операнд — значение в ячейке памяти с 16-разрядным смещением), для регистра DI reg = 111, для ячейки памяти [SI + BP + disp16] r/m = 010. Таким образом, второй байт равен 10111010 = BA. В третьем байте находится младший байт 16-разрядного смещения, он равен F4h. В четвертом байте находится старший байт 16-разрядного смещения, он равен 01h.
Ответ: 2B802701h.
в) INC DH
Код команды INC (если операнд — байт) — 11111110 = FEh. Второй байт имеет формат md 000 r/m. md = 11 (т.к. нужно уменьшить на 1 содержимое регистра). Для регистра DH reg = 110. Таким образом, второй байт равен 11000110 = C6h.
Ответ: FEC6h.