下列指令执行后,寄存器AX中的值为( ).MOV AX,1256H AND AX,00FFH

问题描述:

下列指令执行后,寄存器AX中的值为( ).MOV AX,1256H AND AX,00FFH
下列指令执行后,寄存器AX中的值为( ).
MOV AX,1256H
OR AX,00FFH
下列指令执行后,寄存器AL中的值为( ).
MOV AL,23H
SAL AL,1
下列指令执行后,寄存器AL中的值为( ).
MOV AL,3CH
RCL AL,1

1. MOV AX,1256H
OR AX,00FFH
00ffh的低八位都是1,故或操作之后1256h的低八位也为1.因此执行后,AX = 12ffh
2. MOV AL,23H
SALAL,1
因AL的初始值为23h(0001 0111b),左移1位后,AL的最高位丢弃,最低位用0填充, 变为 0010 1110b,故AL的最终值为46h,实际上就是AL的初始值乘以2.移位指令是乘以2或除以2的最快捷方法.
3. MOV AL,3CH
RCL AL,1
因3ch的二进制值为0011 1100b,左移1位后,CF的值无变化,故等同于SALAL,1.因此将AL的初始值乘以2得到执行后的值,故AL = 78h