Повернуть регистр или ячейку памяти влево
______________________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 не определён.
- title Автор: Довгополов Евгений Сергеевич
- .model small
- .stack 100h
- code segment public ___________; Начало сегмента кода
- ____assume cs:code
- ____main proc _________________; Начало процедуры main
- ________mov_____ax, 00010001b__; Копируем значение 11h в регистр ax
- ________rol_____ax, 1__________; Поворачиваем регистр ax влево на 1
- ________rol_____ax, 1__________; Поворачиваем регистр ax влево на 1
- ________rol_____ax, 1__________; Поворачиваем регистр ax влево на 1
- ________mov_____ax, 00010001b__; Копируем значение 11h в регистр ax
- ________mov_____cl, 3__________; Копируем значение 3 в регистр cl
- ________rol_____ax, cl_________; Поворачиваем регистр ax влево на количество в cl
- ________mov_____ax, 4C00h______; Копируем значение функции завершения процесса в ah а значение в al
- ________int_____21h ___________; Вызываем прерывание DOS
- ____main endp _________________; Конец процедуры main
- code ends _____________________; Конец сегмента кода
- end main ______________________; Конец файла. Точкой входа указывается процедура main