Удалить из массива все элементы нечетным номерами(1,3,,,).Условный оператор не использовать - Assembler

Узнай цену своей работы

Формулировка задачи:

Дан целочисленный массив размера N(>2).Удалить из массива все элементы нечетным номерами(1,3,,,).Условный оператор не использовать.

Решение задачи: «Удалить из массива все элементы нечетным номерами(1,3,,,).Условный оператор не использовать»

textual
Листинг программы
mov cx, [N]
shr cx,1
@@: lodsw
stosb
loop @B

Объяснение кода листинга программы

  1. mov cx, [N] - перехват в регистр cx значения переменной N (предположительно в формате смещения от начала сегмента)
  2. shr cx,1 - перехват в регистр cx значения переменной N, уменьшенного на единицу (предположительно в формате смещения от начала сегмента)
  3. @@: lodsw - загрузка в регистр ax пары байт из памяти по смещению, указанному в регистре cx
  4. stosb - сохранение в память по смещению, указанному в регистре cx, значения из регистра ax (без изменений)
  5. loop @B - повторение предыдущих шагов до тех пор, пока значение переменной N не станет равным нулю (предположительно в формате смещения от начала сегмента)

Оцени полезность:

11   голосов , оценка 3.455 из 5
Похожие ответы