ХАНДЫФАР

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


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

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

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

______________________ROL 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, 00010001b__; Копируем значение 11h в регистр ax
  8. ________rol_____ax, 1__________; Поворачиваем регистр ax влево на 1
  9. ________rol_____ax, 1__________; Поворачиваем регистр ax влево на 1
  10. ________rol_____ax, 1__________; Поворачиваем регистр ax влево на 1
  11. ________mov_____ax, 00010001b__; Копируем значение 11h в регистр ax
  12. ________mov_____cl, 3__________; Копируем значение 3 в регистр cl
  13. ________rol_____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