使用旋转指令时遇到错误 A2052

Facing error A2052 with rotate instructions

由于是64位系统,不得不用DOSBOX来运行8086汇编代码。每次我使用任何循环指令(ROR、ROL 等)时,我都会收到此错误:错误 A2052:操作数类型不正确。 我已经尝试了所有我能想到的事情,而且 google 也不知道。

.MODEL LARGE
.STACK 1000H
.DATA
LF DB 0AH
.CODE
MAIN PROC
MOV DX, 0002H
MOV CX, 0064H
BODY:
MOV BX, 0064H
SUB BX, CX
MOV AX, BX
DIV DL
CMP AH, 1H
JNE GO
PRINT:
ADD BX, 0H
AAA
OR BX, 3030H
ROL BX, 4
MOV AL, BL
MOV AH, 1H
INT 21H
ROL BX, 4
MOV AL, BL
MOV AH, 1H
INT 21H
LEA DX, LF
MOV AH, 9H
INT 21H
GO: LOOP BODY
MAIN ENDP 
END

我收到此错误消息:

8086只支持移位1或CL。您正在尝试移动一个大于 1 的常数。