ВУЗ:
Составители:
Рубрика:
Из обоих форматов видно, что пересылка из RS или в RS
отличается только первым байтом КОП. Рассмотрим пример.
Пример 5 —Необходимо выполнить действие: M
3B8D0
:=<AL>.
Ответ: распишем последовательность действий:
1) в любой регистр (кроме AX) загрузим данные для DS; пусть это
будет CX: CX:=3B00;
2) перешлем: DS:= <CX>;
3) перешлем: M
DS:EA
= M
3B00:8D0
= M
3B8D0
= <AL>
.
И пусть эта последовательность команд будет расположена с адреса
0100 (адрес — в H-коде).
Адрес
Машинный код
Ассемблер Комментарий
0100
0101
0102
0103
C7
C1
00
3B
MOV CX,3B00 В регистр CX
загрузить
данные 3B00
0104
0105
8E
D9
MOV DS,CX В сегментный регистр DS
переслать содержимое CX
0106
0107
0108
0109
88
06
D0
08
MOV [08D0],AL Загрузить в ячейку памяти
с адресом DS:08D0=3B8D0
содержимое AL
КОП только второй команды с сегментным регистром. Собственно
говоря, типы первой и третьей команды уже рассматривались, поэтому
составим только его вторую часть (2-й байт). Из архитектуры МП
(рисунок 3) определяем номер DS: № DS= 11
2
.
Переводим вторую половину КОП в H-код: D9; а весь КОП=8E D9.
29
Из обоих форматов видно, что пересылка из RS или в RS
отличается только первым байтом КОП. Рассмотрим пример.
Пример 5 —Необходимо выполнить действие: M3B8D0:=.
Ответ: распишем последовательность действий:
1) в любой регистр (кроме AX) загрузим данные для DS; пусть это
будет CX: CX:=3B00;
2) перешлем: DS:= ;
3) перешлем: MDS:EA = M3B00:8D0 = M3B8D0 = .
И пусть эта последовательность команд будет расположена с адреса
0100 (адрес — в H-коде).
Адрес Машинный код Ассемблер Комментарий
0100 C7 MOV CX,3B00 В регистр CX
0101 C1 загрузить
0102 00 данные 3B00
0103 3B
0104 8E MOV DS,CX В сегментный регистр DS
0105 D9 переслать содержимое CX
0106 88 MOV [08D0],AL Загрузить в ячейку памяти
0107 06 с адресом DS:08D0=3B8D0
0108 D0 содержимое AL
0109 08
КОП только второй команды с сегментным регистром. Собственно
говоря, типы первой и третьей команды уже рассматривались, поэтому
составим только его вторую часть (2-й байт). Из архитектуры МП
(рисунок 3) определяем номер DS: № DS= 112.
Переводим вторую половину КОП в H-код: D9; а весь КОП=8E D9.
29
Страницы
- « первая
- ‹ предыдущая
- …
- 27
- 28
- 29
- 30
- 31
- …
- следующая ›
- последняя »
