Читайте также:
|
|
Задание: mov [byte bx+2],0ddh
Комментарий к команде: M(DS:bx+2) ←0ddh
1-й байт (код операции):
из табл. 4, № 7 находим КОП 11000110b=C6h, w=0, т. к. длина операнда 8 бит.
2-й байт (постбайт):
01 – mod: поле mod=01, т.к. при вычислении эффективного адреса в команде используется 8-ти разрядное смещение(disp8=02h);
000 – reg: поле reg содержит расширение КОП (1-й байт);
111 – reg/mem: поле reg/mem =111, т.к. способ вычисления адреса левого(первого) операнда в сегменте данных: ЕА=BX+disp8= BX+2.
Получаем второй байт: 01000111=47h.
3-й байт (смещение disp8):
02h.
4-й байт (непосредственный 8-ми разрядный операнд):
DDh.
Машинный код команды: C6 47 02 DD
Длина команды: 4 байта.
Способы адресации операндов:
Левый операнд – базовая, где BX – база, 02h – смещение относительно базы.
Правый операнд – непосредственная, DDh – непосредственный 8-ми битный операнд.
Размещение команды в памяти:
C6h |
47h |
02h |
DDh |
|
|
|
|
|
|
Время выполнения команды
Время выполнения в тактах:
nТ=(n+Tиа)=10+Tиа, где Tиа – время вычисления эффективного адреса: EA=BX+02h.
По таблице 11 находим, что для базовой адресации Tиа=9, тогда nТ=10+9=19 тактов.
Время выполнения команды в секундах:
Tk=(n+Tиа)*tТ=nТ*tТ=19*10-8=0,19 мкс, где
tТ=1/fТ=1/100000000=10-8.
Дата добавления: 2015-11-14; просмотров: 36 | Нарушение авторских прав
<== предыдущая страница | | | следующая страница ==> |
Пример 1. Ручное ассемблирование команды. | | | Пример 3. Ручное дизассемблирование команды. |