Как произвести циклический сдвиг на свое число?

Есть программа, считывает из консоли число и производит циклический сдвиг на 5, выводит в консоль результат, но задача состоит в том что я должен еще ввести и второе число на кторое и будет совершен сдвиг, однако у меня ничего не получается, если я просто считаю второе число не использую его, ответ получается совсем не тем, и еще проблема в том что я не знаю как передать считанное значение второго числа в ROL

.386
.model flat, stdcall
option casemap:none

include D:\masm32\include\masm32rt.inc

ExitProcess proto :DWORD

.data
    scanForm      db      "%d",0
    printForm     db      "%d",0

.data?
    firstnum         dword   ?
    secondnum         dword   ?


.code
start:

        invoke crt_scanf, offset scanForm, offset secondnum
        mov ecx, secondnum

        invoke crt_scanf, offset scanForm, offset firstnum
        mov eax, firstnum

        rol AX, CL

        invoke crt_printf, offset printForm, eax

        invoke crt_scanf, offset scanForm, offset firstnum
        invoke ExitProcess, 0

end start
code end

Ответы (1 шт):

Автор решения: nearby_all

Проблема решена

invoke crt_scanf, offset scanForm, offset secondnum
mov ecx, secondnum

mov CL, CH

invoke crt_scanf, offset scanForm, offset firstnum
mov eax, firstnum

rol AX, CL

invoke crt_printf, offset printForm, eax

invoke crt_scanf, offset scanForm, offset firstnum
invoke ExitProcess, 0
→ Ссылка