Программная модель микропроцессора К1810ВМ86
На рис. 2.2 представлена программная модель МП К1810ВМ86. МП имеет регистры общего назначения, составляющие группу из четырех 16-разрядных регистров (АХ, ВХ, СХ, DX), каждый из которых может рассматриваться как два 8-разрядных, поскольку старшие и младшие половины адресуются отдельно, и группу из четырех 16-разрядных индексных регистров. Регистр АХ используется преимущественно как аккумулятор, причем все операции ввода/вывода в УВВ производятся с использованием регистра АХ. Регистр АL соответствует регистру аккумулятора А МП К580ВМ80А. Регистр ВХ, как правило, используется как базовый регистр для относительной адресации или базирования. Его содержимое складывается с содержимым сегментного регистра DS. Регистр ВХ можно рассматривать как аналог регистров Н BL МП К580 серии, причем регистр ВН соответствует регистру Н, а регистр ВL - регистру L.
Старший байт младший байт
AX AH AL Аккумулятор BX BH BL База CX CH CL Счетчик DX DH DL Данные
SР Указатель стек Индексные ВР Указатель базы
регистры DI Индекс приемника
РС Программный счетчик
F FH FL Регистр признаков
Сегментные CS команд DS данных
SS стека регистры ES цепочки данных
00000Н 0000H
Порты ввода Адресное 64 К
пространство FFFFH 1 М 0000H
Порты вывода 64К
FFFFFH FFFFH
Рис. 2.2. Программная модель МП К1810ВМ86 Регистр СХ используется как счетчик в операциях сдвигов и в операциях с цепочками байтов и слов. Регистры СН и СL эквивалентны соответственно регистрам В и С МП К580 серии. Регистры DX используются в командах умножения и деления, а также для хранения адресов портов ввода/вывода в командах с косвенной адресацией.
Все перечисленные регистры могут быть использованы для хранения 8- или 16-разрядных операндов во всех арифметических и логических операциях. Группа индексных регистров включает 16-разрядные регистры SР,ВР,SI и DI. Регистр SР используется как указатель базы для адресации данных в сегменте стека. Регистры SI и DI чаще всего применяются в операциях с цепочками данных. Все перечисленные регистры могут быть использованы как РОНы для хранения 16-разрядных операндов во всех арифметических и логических операциях. На рис. 2.3 приведен формат 16-разрядного регистра признаков F. Первые 8 младших разрядов полностью соответствуют содержимому регистра микропроцессора К580 серии.
15 11 10 9 8 7 6 4 2 0 Х Х Х Х O D I T S Z Х A Х P Х C
Pис. 2.3. Содержимое регистра признаков F
С - признак переноса “1” из старшего байта (слова) или при заеме “1” в старший бит; Р - признак четного числа единиц в представлении результата операции; А - признак дополнительного переноса; Z - признак нулевого результата; S - признак знака числа; Т - признак выполнения программы по командам (шагам); I - признак разрешения внешних прерываний; D - признак декремента / инкремента регистров DI и SI в операциях с цепочками байтов или слов. При D=1 цепочка обрабатывается снизу вверх, т.е. происходит автоматическое уменьшение (автодекремент) адреса текущего элемента цепочки. При D=0 цепочка обрабатывается сверху вниз, т.е. происходит автоматическое увеличение (автоинкремент) адреса; О - арифметическое переполнение. Разряды регистра признаков где стоит Х могут принимать произвольные значения. РС - аналог счетчика команд МП К580 серии. Регистр DS используется для формирования действительного адреса для выборки данных. Обращение к стеку производится с использованием содержимого регистра SS. В операциях с цепочками данных адрес формируется сложением содержимого регистров ЕS и DI (или SI). С помощью сегментных регистров может быть организовано динамическое перемещение программ в памяти, а также могут использоваться данные, записанные в разных сегментах памяти.
Способы адресации Способ определения операнда называется режимом, или способом, адресации. Рассмотрим основные способы адресации 16-разрядных микропроцессоров. Наиболее простой, но в тоже время неэкономичной является прямая адресация: в поле операнда содержится полный 16-битный адрес памяти. При непосредственной адресации 8- или 16-битный операнд является частью команды. При использовании регистровой адресации значением операнда является содержимое адресуемого в команде РОН. Регистрово-косвенная адресация позволяет адресовать все пространство памяти МП. В этом режиме поле операнда определяет не регистр с данными, а указатель памяти, содержащий адрес операнда. В МП К580 серии основным указателем памяти служат регистры НL-пары, в командах загрузки и запоминания аккумулятора в качестве указателей памяти могут применяться ВС- и DE-пары. Для 16-разрядного МП ВМ86 различают следующие способы адресации: - непосредственный, данное длиной 8 или 16 бит является частью команды; - прямой, 16-разрядный эффективный адрес данного является частью команды; - регистровый, данное содержится в определяемом командой регистре. Операнд 16-разрядный может находиться в регистрах АХ, ВХ, СХ, DХ, SI, DI, SP, BP, a 8-разрядный - в регистрах AL, AH, BL, BH, CL, CH, DL, DH; - регистрово-косвенный, эффективный адрес данного находится в базовом регистре ВХ или в регистре, определяемом командой
(ВХ) ЕА = (SI) (DI)
- регистровый относительный, эффективный адрес равен сумме 8- или 16-разрядного смещения и содержимого базового или индексного регистров
(ВХ) 8- разрядное смещение ЕА = (ВР) + (SI) 16- разрядное смещение (DI)
- базовый индексный, эффективный адрес равен сумме содержимого базового и индексного регистров, определяемых командой
(ВХ) (SI) ЕА = (ВР) + (DI)
- относительный базовый индексный, эффективный адрес равен сумме 8- или 16- разрядного смещения и базово-индексного адреса
(ВХ) (SI) 8- разрядное
ЕА = (ВР) + (DI) + 16- разрядное
Кратко рассмотрим способы адресации переходов: - внутрисегментный прямой, эффективный адрес перехода равен сумме 8- или 16-разрядного смещения и текущего содержимого IP. Когда смещение имеет длину 8 бит, этот режим называется коротким переходом. Внутрисегментную прямую адресацию большинство авторов называют относительной адресацией, так как смещение вычисляется "относительно" IP. Этот режим допустим в условных и безусловных переходах, но в команде условного перехода может быть только смещение длиной 8 бит; - внутрисегментный косвенный, эффективный адрес перехода есть содержимое регистра или ячейки памяти, которые указываются в любом режиме (кроме непосредственного) адресации данных. Содержимое IP заменяется эффективным адресом перехода. Данный режим допустим только в командах безусловного перехода; - межсегментный прямой, заменяет содержимое IP одной частью команды, а содержимое CS - другой частью команды. Назначение данного режима адресации - обеспечить переход из одного сегмента кода в другой; - межсегментный косвенный, заменяет содержимое IP и CS содержимым двух смежных слов из памяти, которые определяются в любом режиме адресации данных, кроме непосредственного и регистрового. Физический адрес перехода равен сумме нового содержимого IP и содержимого CS, умноженного на 16. Межсегментный переход может быть только безусловным.
Читайте также: ER-модель (entity-relationship model) Воспользуйтесь поиском по сайту: ©2015 - 2024 megalektsii.ru Все авторские права принадлежат авторам лекционных материалов. Обратная связь с нами...
|