<<
>>

Примеры работы с битовыми строками Рассогласование битовых строк

Наглядный пример рассогласования последовательностей битов — преобразова- ние неупакованного BCD-числа в упакованное BCD-число. Один из вариантов такого преобразования был рассмотрен нами ранее при обсуждении команды ли- нейного сдвига SНL.
Попробуем выполнить подобное преобразование с использо- ванием команд сдвига двойной точности (листинг 9.2). В общем случае длина чис- ла может быть произвольной, но при этом нужно учитывать ограничения, которые накладываются используемыми ресурсами процессора. Ограничения связаны в ос- новном с тем, что центральное место в преобразовании занимает регистр ЕАХ, по- этому, если преобразуемое число имеет размер более четырех байтов, то его при- дется делить на части. Но это уже чисто алгоритмическая задача, поэтому в нашем случае предполагается, что неупакованное BCD-число имеет длину 4 байта.
Листинг 9.2. Преобразование BCD-числа (вариант 2)

Команды сдвига двойной точности SHLD и SHRD позволяют осуществлять с мак- симально возможной скоростью вставку битовой строки из регистра в произволь- ное место другой (большей) строки битов в памяти и извлечение в регистр бито- вой подстроки из некоторой строки битов в памяти. В результате этих операций смежные с подстрокой биты по ее обеим сторонам остаются неизменными.

<< | >>
Источник: В. И. Юров. Assembler. Учебник для вузов. 2-е изд. 2003

Еще по теме Примеры работы с битовыми строками Рассогласование битовых строк:

  1. Тема П.Строки. Позовна давність
  2. СТРОКИ ПСИХОМАТРИЦЫ
  3. ВЛИЯНИЕ ТРЕТИХ СТРОК НА СТАБИЛЬНОСТЬ СЕМЬИ
  4. СОВМЕСТИМОСТЬ ПО СИЛЕ СТРОК
  5. ВЛИЯНИЕ ВТОРЫХ СТРОК НА СТАБИЛЬНОСТЬ СЕМЬИ
  6. Чтение между строк
  7. ЗНАЧЕНИЕ ПЕРВОЙ СТРОКИ ПСИХОМАТРИЦЫ
  8. ВЛИЯНИЕ ПЕРВЫХ СТРОК НА СТАБИЛЬНОСТЬ СЕМЬИ
  9. ЗНАЧЕНИЕ ВТОРОЙ СТРОКИ ПСИХОМАТРИЦЫ
  10. ЗНАЧЕНИЕ ТРЕТЬЕЙ СТРОКИ ПСИХОМАТРИЦЫ
  11. Тема П.Строки. Позовна давність
  12. Тема: Строки та терміни. Позовна давність
  13. Що таке строки, терміни та позовна давність у цивільному праві?
  14. Глава 1. Метаязык, или Как читать между строк.