ВУЗ:
Составители:
Рубрика:
а DI — адрес приемника данных (dst). При этом после каждой пересылки
одного операнда их содержимое автоматически увеличивается (или
уменьшается — это как задано направление), подготавливая адреса
транспортировки очередного операнда.
Другая группа регистров называется сегментной (RS) и тоже участвует в
формировании физического адреса. Обычно в других мощных
микропроцессорах, где адресное пространство от 1 Мбайт до 4 Гбайт, роль
сегментного регистра выполняет регистр с одним именем. И это, в общем-то,
достаточно. Но фирма Intel — не как все, и в данном микропроцессоре их
четыре. Главное назначение сегментных регистров — расширение адресного
пространства. Сегментные регистры — те же 16-разрядные регистры, как и
адресные. Но их содержимое гораздо «тяжелее»: A19...A4.
Физический адрес ОЗУ/ПЗУ автоматически вычисляется в результате
следующего сложения:
RS: A
19
A
18
A
17
A
16
A
15
A
14
A
13
A
12
A
11
A
10
A
9
A
8
A
7
A
6
A
5
A
4
0
0
0
0
+
ЕА:
0 0 0 0
A
15
A
14
A
13
A
12
A
11
A
10
A
9
A
8
A
7
A
6
A
5
A
4
A
3
A
2
A
1
A
0
———————————————————————————————————————
Add:A
19
A
18
A
17
A
16
A
15
A
14
A
13
A
12
A
11
A
10
A
9
A
8
A
7
A
6
A
5
A
4
A
3
A
2
A
1
A
0
Для удобства, чтобы не писать длинные двоичные числа, далее будут
использоваться их шестнадцатеричные свертки. Так, например, двоичное число
1110 1111 0010 1100 есть EF2C в шестнадцатеричном коде (Н-коде).
(Рекомендуется иметь постоянно под рукой таблицу перевода десятичных
чисел от «0» до «15» в двоичную и шестнадцатеричную формы).
Следовательно, если в сегментном регистре находится число 1CDO, а
ЕА= F156, то физический адрес на шине адреса системной магистрали будет:
1CDO
+ F156
—————
2BE56
На рисунке 3 видно, что выходы сегментных регистров тоже
мультиплексируются. Почему их четыре и когда они используются? Для начала
необходимо обратить внимание, что последняя буква у них S, что значит —
сегментный. Теперь разберемся с первыми буквами.
C – command —командный. CS используется при формировании только
выборок команд из ЗУ совместно с IP (указывают: CS:IP);
S — stack — стековый. SS используется только при формировании адреса
стековой памяти (стека) совместно с SP (указывают: SS:SP) или BP (SS:BP);
D – data — данные. DS по умолчанию используется в пересылках данных
между микропроцессором и ЗУ совместно с адресом ЕА этих данных,
указанных прямо или косвенно в команде;
ES — резервный сегментный регистр. На этом пока можно закончить
знакомство с сегментными регистрами.
16
а DI — адрес приемника данных (dst). При этом после каждой пересылки одного операнда их содержимое автоматически увеличивается (или уменьшается — это как задано направление), подготавливая адреса транспортировки очередного операнда. Другая группа регистров называется сегментной (RS) и тоже участвует в формировании физического адреса. Обычно в других мощных микропроцессорах, где адресное пространство от 1 Мбайт до 4 Гбайт, роль сегментного регистра выполняет регистр с одним именем. И это, в общем-то, достаточно. Но фирма Intel — не как все, и в данном микропроцессоре их четыре. Главное назначение сегментных регистров — расширение адресного пространства. Сегментные регистры — те же 16-разрядные регистры, как и адресные. Но их содержимое гораздо «тяжелее»: A19...A4. Физический адрес ОЗУ/ПЗУ автоматически вычисляется в результате следующего сложения: RS: A19A18A17A16A15A14A13A12A11A10A9A8A7A6A5A40 0 0 0 + ЕА: 0 0 0 0 A15A14A13A12A11A10A9A8A7A6A5A4A3A2A1A0 ——————————————————————————————————————— Add:A19A18A17A16A15A14A13A12A11A10A9A8A7A6A5A4A3A2A1A0 Для удобства, чтобы не писать длинные двоичные числа, далее будут использоваться их шестнадцатеричные свертки. Так, например, двоичное число 1110 1111 0010 1100 есть EF2C в шестнадцатеричном коде (Н-коде). (Рекомендуется иметь постоянно под рукой таблицу перевода десятичных чисел от «0» до «15» в двоичную и шестнадцатеричную формы). Следовательно, если в сегментном регистре находится число 1CDO, а ЕА= F156, то физический адрес на шине адреса системной магистрали будет: 1CDO + F156 ————— 2BE56 На рисунке 3 видно, что выходы сегментных регистров тоже мультиплексируются. Почему их четыре и когда они используются? Для начала необходимо обратить внимание, что последняя буква у них S, что значит — сегментный. Теперь разберемся с первыми буквами. C – command —командный. CS используется при формировании только выборок команд из ЗУ совместно с IP (указывают: CS:IP); S — stack — стековый. SS используется только при формировании адреса стековой памяти (стека) совместно с SP (указывают: SS:SP) или BP (SS:BP); D – data — данные. DS по умолчанию используется в пересылках данных между микропроцессором и ЗУ совместно с адресом ЕА этих данных, указанных прямо или косвенно в команде; ES — резервный сегментный регистр. На этом пока можно закончить знакомство с сегментными регистрами. 16
Страницы
- « первая
- ‹ предыдущая
- …
- 14
- 15
- 16
- 17
- 18
- …
- следующая ›
- последняя »