Uploaded by stomata_haptic.0b

MPS variant 12

advertisement
Министерство образования Республики Беларусь
БГУИР
Факультет заочного обучения
Кафедра электронных вычислительных средств
Контрольная работа № 1
по дисциплине: «Микропроцессорные системы»
Выполнил студент гр. 000701
Проверил: Бибило П.Н.
Специальность ЭВС
Оценка: ________________
Купчиков Р.И. (вариант 12)
________________________
(подпись)
________________________
(дата)
Почтовый адрес:
г. Могилев, Б-р Непокорённых, д.76,
кв.55
т. 8 044 711 77 99
e-mail: r.i.smart@yandex.com
Минск 2013
Вариант 12
Задание1 (№12). Для микропроцессора 8086 (КМ1810ВМ86):
1) вычислить эффективный адрес:
а) BP = C428h, SI = 17B3h, disp = 7654h;
б) BX = 67A2h, SI = 7FC3h;
в) BP = 73A5h, DI = 658Ch, disp =
65h;
2) вычислить физический адрес:
а) 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 для следующих режимов
адресации:
1) прямого;
2) регистрового косвенного с участием регистра BP;
3) регистрового относительного с использованием регистра BX;
4) базового индексного с использованием регистра BX;
5) относительного базового индексного с использованием регистра BP.
Логический адрес задается двумя 16-разрядными значениями —
адресом сегмента и эффективным адресом. Для всех режимов адресации
адресом сегмента является содержимое регистра DS (A1F6h).
Физический адрес формируется путем сдвига на 4 разряда влево
содержимого сегментного регистра и последующим суммированием этого
значения с эффективным адресом. 20-й бит суммы (при нумерации с 0)
отбрасывается. Оператор сдвига влево обозначен как «shl».
1) При прямом режиме адресации эффективным адресом операнда
является только смещение. disp16 = A138h.
Физический адрес равен ((DS) shl 4) + disp16 = A1F60h + A138h =
AC098h.
Ответ: A1F6h:A138h (логический адрес), AC098h (физический
адрес).
2) При регистровом косвенном режиме адресации эффективным
адресом операнда является содержимое базового или индексного
регистра (в данном случае, регистра BP). (BP) = E4F3h.
Физический адрес равен ((DS) shl 4) + disp16 = A1F60h + E4F3h =
B0453h
Ответ: A1F6h:E4F3h (логический адрес), B0453h (физический
адрес).
3) При регистровом относительном режиме адресации эффективным
адресом операнда является сумма содержимого базового или
индексного регистра (в данном случае, регистра BX) и смещения.
(BX) + disp16 = D623h + A138h = 1775B. Начальная единица
отбрасывается.
Физический адрес равен ((DS) shl 4) + (BX) + disp16 = A1F60h +
D623h + A138h = B96BBh
Ответ: A1F6h:775Bh (логический адрес), B96BBh (физический
адрес).
4) При базовом индексном режиме адресации эффективным адресом
операнда является сумма содержимого базового (в данном случае,
регистра BX) и индексного (в данном случае, регистра DI) регистра.
(BX) + (DI) = D623h + BA29h = 1904C. Начальная единица
отбрасывается.
Физический адрес равен ((DS) shl 4) + (BX) + (DI) = A1F60h + D623h
+ BA29h = BAFACh
Ответ: A1F6h:904Ch (логический адрес), BAFACh (физический
адрес).
5) При относительном базовом индексном режиме адресации
эффективным адресом операнда является сумма содержимого
базового регистра (в данном случае, регистра 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.
Download