微机数有没有人会做这个

下列程序执行后,AX中的内容是(  )H。
MOV CL,2
MOV AX,0C7H
ROL AX,1
ROR AX,CL

MOV 传送指令,就是把第二个参数传递给第一个参数
因此第一行和第二行执行完之后,CL的值为2,ax的值为0c7h,转换为二进制即为11000111b
第三行是ROL(循环左移)指令把所有位都向左移。最高位复制到进位标志位和最低位。
所以必须要知道AX寄存器是多少位的寄存器,如果64位寄存器、32位寄存器、16位寄存器、8位寄存器,他的结果是不一样的,
这里假定为8位寄存器,由于cl的值为2,所以两条指令相当于一共左移三位,结果应该为0011 1110b,即十六进制的03eh
这里假定为16位寄存器,由于cl的值为2,所以两条指令相当于一共左移三位,结果应该为110 0011 1000b,即十六进制的0638h

如果64位寄存器、32位寄存器结果与16位寄存器相同