ХАНДЫФАР

Повернуть регистр или ячейку памяти вправо


_____________________ROR reg/mem8, 1 - Повернуть 8 бит reg/mem8 вправо один раз.

_____________________ROR reg/mem8, CL - Повернуть 8 бит reg/mem8 вправо CL раз.

_____________________ROR reg/mem16, 1 - Повернуть 16 бит reg/mem16 вправо один раз.

_____________________ROR reg/mem16, CL - Поверните 16 бит reg/mem16 вправо CL раз.


Поворачивает содержимое указанного регистра или ячейки памяти вправо на указанное количество бит. Количество вращаемых битов, представленное переменной count, равно либо единице, либо числу, содержащемуся в регистре cl.


Если замаскированное значение равно 0, флаги не затрагиваются. Если замаскированное количество равно 1, то это влияет на флаг OF, в противном случае (замаскированное количество больше 1) флаг OF не определён.


  1. title Автор: Довгополов Евгений Сергеевич
  2. .model small
  3. .stack 100h
  4. code segment public ___________; Начало сегмента кода
  5. ____assume cs:code
  6. ____main proc _________________; Начало процедуры main
  7. ________mov_____ax, 11101000b__; Копируем значение E8h в регистр ax
  8. ________ror_____ax, 1__________; Поворачиваем регистр ax вправо на 1
  9. ________ror_____ax, 1__________; Поворачиваем регистр ax вправо на 1
  10. ________ror_____ax, 1__________; Поворачиваем регистр ax вправо на 1
  11. ________mov_____ax, 11101000b__; Копируем значение E8h в регистр ax
  12. ________mov_____cl, 3__________; Копируем значение 3 в регистр cl
  13. ________ror_____ax, cl_________; Поворачиваем регистр ax вправо на количество в cl
  14. ________mov_____ax, 4C00h______; Копируем значение функции завершения процесса в ah а значение в al
  15. ________int_____21h ___________; Вызываем прерывание DOS
  16. ____main endp _________________; Конец процедуры main
  17. code ends _____________________; Конец сегмента кода
  18. end main ______________________; Конец файла. Точкой входа указывается процедура main
Made on
Tilda