ВУЗ:
Составители:
26
• флаги PF, SF и ZF принимают стандартные значение, как после
любых логических операций;
• флаг переноса CF всегда содержит последний выдвинутый из
операнда назначения бит.
SHL/SAL (операнд назначения)(счетчик)
Команды SHL (логический сдвиг влево) и SAL (арифметический
сдвиг влево) полностью идентичны. Байт или слово операнда назначения
сдвигается влево на количество разрядов, определяемое операндом-
счетчиком. Освобождающиеся младшие
биты операнда назначения
заполняются нулями. Если знаковый бит во время операции не изменился,
флаг OF сбрасывается.
SHR (операнд назначения)(счетчик)
Команда SHR (логический сдвиг вправо) сдвигает байт или слово
операнда назначения вправо на количество разрядов, определяемое
операндом-счетчиком. Освобождающиеся старшие биты операнда
назначения заполняются нулями. Если знаковый бит во время операции не
изменился, флаг OF сбрасывается.
SAR (операнд назначения)(счетчик)
Команда SAR (арифметический сдвиг вправо) сдвигает байт или
слово операнда назначения вправо на количество разрядов, определяемое
операндом-счетчиком. Освобождающиеся старшие биты операнда
назначения заполняются исходным значением знакового (старшего
значащего бита) операнда. Следует отметить, что эта команда не
эквивалентна команде целочисленного деления (IDIV) на
соответствующую степень двойки
. Так, например, при сдвиге вправо на 1
разряд значения – 5 в результате получается значение – 3, в то время, как
при делении должно было получиться -2.
Команды циклического сдвига
Биты в байте или в слове могут сдвигаться также циклически. При
циклическом сдвиге "выдвигаемые" из операнда биты не теряются, как при
простом сдвиге, в "вдвигаются"
в операнд с другого его конца. Как и в
командах простого сдвига количество разрядов сдвига определяется
операндом-счетчиком, который может определяться непосредственной
константой 1 или регистром CL. Команда циклического сдвига
воздействуют только на флаги переноса CF и переполнения OF. Флаг
переноса CF всегда содержит значение последнего "выдвинутого" бита.
Значение флага переполнения OF при многобитовом сдвиге неопределено,
при
однобитовом сдвиге OF устанавливается, если старший (знаковый) бит
26
• флаги PF, SF и ZF принимают стандартные значение, как после
любых логических операций;
• флаг переноса CF всегда содержит последний выдвинутый из
операнда назначения бит.
SHL/SAL (операнд назначения)(счетчик)
Команды SHL (логический сдвиг влево) и SAL (арифметический
сдвиг влево) полностью идентичны. Байт или слово операнда назначения
сдвигается влево на количество разрядов, определяемое операндом-
счетчиком. Освобождающиеся младшие биты операнда назначения
заполняются нулями. Если знаковый бит во время операции не изменился,
флаг OF сбрасывается.
SHR (операнд назначения)(счетчик)
Команда SHR (логический сдвиг вправо) сдвигает байт или слово
операнда назначения вправо на количество разрядов, определяемое
операндом-счетчиком. Освобождающиеся старшие биты операнда
назначения заполняются нулями. Если знаковый бит во время операции не
изменился, флаг OF сбрасывается.
SAR (операнд назначения)(счетчик)
Команда SAR (арифметический сдвиг вправо) сдвигает байт или
слово операнда назначения вправо на количество разрядов, определяемое
операндом-счетчиком. Освобождающиеся старшие биты операнда
назначения заполняются исходным значением знакового (старшего
значащего бита) операнда. Следует отметить, что эта команда не
эквивалентна команде целочисленного деления (IDIV) на
соответствующую степень двойки. Так, например, при сдвиге вправо на 1
разряд значения – 5 в результате получается значение – 3, в то время, как
при делении должно было получиться -2.
Команды циклического сдвига
Биты в байте или в слове могут сдвигаться также циклически. При
циклическом сдвиге "выдвигаемые" из операнда биты не теряются, как при
простом сдвиге, в "вдвигаются" в операнд с другого его конца. Как и в
командах простого сдвига количество разрядов сдвига определяется
операндом-счетчиком, который может определяться непосредственной
константой 1 или регистром CL. Команда циклического сдвига
воздействуют только на флаги переноса CF и переполнения OF. Флаг
переноса CF всегда содержит значение последнего "выдвинутого" бита.
Значение флага переполнения OF при многобитовом сдвиге неопределено,
при однобитовом сдвиге OF устанавливается, если старший (знаковый) бит
Страницы
- « первая
- ‹ предыдущая
- …
- 24
- 25
- 26
- 27
- 28
- …
- следующая ›
- последняя »
