一道简单的汇编问题

来源:百度知道 编辑:UC知道 时间:2024/05/16 17:04:35
求DX内容为()
MOV CL,4
MOV AX,8103H
MOV DX,248AH
ROL DX,CL
MOV BH,AH
SAR BH,CL
OR DL,BH
我的答案为48AAH,可是答案为48FAH,不知道哪错了?

MOV CL,4
MOV AX,8103H
MOV DX,248AH
ROL DX,CL ;dx=48a2h
MOV BH,AH ;bh=81h
SAR BH,CL ;bh=18h cf=1
OR DL,BH ;dl=bah

结果是48bah
我也不知道哪错了??

补充:上面的到最后一步:
“OR DL,BH---------------DL和BH或运算 ”

“DL=FAH ”?
算过没有?

运算结果48FAH

ROL DX,CL-----------------循环右移4位
后移之前:DX=0010,0100,1000,1010
右移之后:DX=0100,1000,1010,0010=48A2H

MOV BH,AH ---------------BH=AH=81H

SAR BH,CL ---------------逻辑左移4位
左移之前:BH=1000,0001
左移之后:BH=0001,1000=18H

OR DL,BH---------------DL和BH或运算

DL=FAH

DX=48FAH

电脑实际执行结果在此,不用多说什么了吧?

0B1C:0100 B104 MOV CL,04
AX=0000 BX=0000 CX=0004 DX=0000 SP=FFEE BP=0000 SI=0000 DI=0000
DS=0B1C ES=0B1C SS=0B1C CS=0B1C IP=0102 NV UP EI PL NZ NA PO NC

0B1C:0102 B80381 MOV AX,8103
AX=8103 BX=0000 CX=0004 DX=0000 SP=FFEE BP=0000 SI=0000 DI=0000
DS=0B1C ES=