ВУЗ:
Составители:
Рубрика:
Микропроцессорные системы и программное обеспечение в средствах связи
83
Поле «Код операции» содержит данные об операционном коде,
указывает процессору, какая инструкция должна быть выполнена. Кро-
ме того, в состав данного поля могут входить биты, описывающие раз-
мер и тип ожидаемого операнда. Например, у инструкции NOT (логиче-
ская функция или операция «НЕ»,), соответствующий КОП = 1111011w,
где бит w определяет, является операнд
словом или байтом. Код опе-
рации «OR» = 000010dw, где бит d определяет, какой операнд является
источником, а какой – адресатом, бит w определяет является операнд
словом или байтом. В некоторых случаях размер т.е. разрядность поля
кода операции может достигать 3 байт.
Поле «Mod R/M» указывает, какие регистры или сегменты физи-
ческой памяти используются в качестве
источников операндов. Поле
mod указывает на значение операнда, например, если mod = 00, то reg1
содержит абсолютный адрес ячейки памяти операнда; если mod=11, то
reg1 содержит собственно операнд. В свою очередь, поля reg1 и reg2
имеют формат трехбитных кодов регистра, и указывают коды регист-
ров, которые содержат операнды для выполнения операции в поле
КОП. Это соответствует непосредственной адресации.
В некоторых
операциях с плавающей точкой reg2 может содержать дополнительные
биты КОП, а не код регистра.
Поле «SIB» (сокращённая форма от выражения Scale x
Index + Base) используется только в случае 32-х разрядного режима и
является расширением адресного формата. Это поле состоит из ком-
бинации двух регистров (Index, Base) и масштабного коэффициента
(Scale). Для составляющих данного поля используется расчётная
фор-
мула (Index×2
^Scale
) + Base, результат вычислений по которой заменяет
значение в поле reg1.
Поле «Смещение» используется при значении mod = 01 или mod
= 10, значение данного поля представляет собой часть адреса операн-
Микропроцессорные системы и программное обеспечение в средствах связи Поле «Код операции» содержит данные об операционном коде, указывает процессору, какая инструкция должна быть выполнена. Кро- ме того, в состав данного поля могут входить биты, описывающие раз- мер и тип ожидаемого операнда. Например, у инструкции NOT (логиче- ская функция или операция «НЕ»,), соответствующий КОП = 1111011w, где бит w определяет, является операнд словом или байтом. Код опе- рации «OR» = 000010dw, где бит d определяет, какой операнд является источником, а какой – адресатом, бит w определяет является операнд словом или байтом. В некоторых случаях размер т.е. разрядность поля кода операции может достигать 3 байт. Поле «Mod R/M» указывает, какие регистры или сегменты физи- ческой памяти используются в качестве источников операндов. Поле mod указывает на значение операнда, например, если mod = 00, то reg1 содержит абсолютный адрес ячейки памяти операнда; если mod=11, то reg1 содержит собственно операнд. В свою очередь, поля reg1 и reg2 имеют формат трехбитных кодов регистра, и указывают коды регист- ров, которые содержат операнды для выполнения операции в поле КОП. Это соответствует непосредственной адресации. В некоторых операциях с плавающей точкой reg2 может содержать дополнительные биты КОП, а не код регистра. Поле «SIB» (сокращённая форма от выражения Scale x Index + Base) используется только в случае 32-х разрядного режима и является расширением адресного формата. Это поле состоит из ком- бинации двух регистров (Index, Base) и масштабного коэффициента (Scale). Для составляющих данного поля используется расчётная фор- ^Scale мула (Index × 2 ) + Base, результат вычислений по которой заменяет значение в поле reg1. Поле «Смещение» используется при значении mod = 01 или mod = 10, значение данного поля представляет собой часть адреса операн- 83
Страницы
- « первая
- ‹ предыдущая
- …
- 81
- 82
- 83
- 84
- 85
- …
- следующая ›
- последняя »