ВУЗ:
Составители:
Рубрика:
Из обоих форматов видно, что пересылка из 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
- …
- следующая ›
- последняя »