汇编问题:我做的和答案不一样,又想不通麻烦帮帮忙

现有下列程序段:MOV AX, 6540H;MOV DX, 3210H;MOV CL, 04;SHL DX,CL;MOV BL,AH;SHLAX,CL;SHR BL ,CL;
OR DL,BL
求程序执行后(AX)=??(BL)=???(DX)=???

MOV AX, 6540H; =>(AH)=65H,(AL)=40H AX表示成二进制为0110 0101 0100 0000
MOV DX, 3210H;=>(DH)=32H,(DL)=10H,DX表示成二进制为0011 0010 0001 0000
MOV CL, 04;
SHL DX,CL;将DX逻辑左移4位,低位补0得0010 0001 0000 0000 (DH)=21H,(DL)=0H
MOV BL,AH; (BL)=65H 表示成二进制为0110 0101
SHLAX,CL; AX左移4位,变成0101 0100 0000 0000=5400H
SHR BL ,CL;BL逻辑右移4位,高位补0,变成0000 0110=6H
OR DL,BL (DL)=0000 0000 与BL或得0000 0110结果保存在DL中,即(DL)=0000 0110=6H

程序执行后(AX)=5400H,(BL)=6H(DX)=2106H
不知道对不对
温馨提示:答案为网友推荐,仅供参考
第1个回答  2013-10-20
(AX)=5400H,(BL)=06H,(DX)=2106H
第2个回答  2013-10-20
答案如上面2个啊!
相似回答