汇编语言的问题,求助 MOV AX,8080H SAR AX,1 MOV CL,4 SHR AL,CL 最终算得AL的值是04H,谁能帮帮我啊?

[复制链接]
查看11 | 回复3 | 2011-3-7 18:39:31 | 显示全部楼层 |阅读模式
先用二进制表示一下,结果在转换成16进制 MOV AX,8080H
AX=1000 0000 1000 0000 b二进制 SAR AX,1
AX算术右移,得到 AX=0100 0000 0100 0000b,AL=0100 0000b (后8位) MOV CL,4
CL=4,是后面一个指令的移位数 SHR AL,CL
对AL右移CL(=4)位,得到 AL=0000 0100b,就是 AL=04H 最终算得AL的值是04H...
回复

使用道具 举报

千问 | 2011-3-7 18:39:31 | 显示全部楼层
MOV AX, 8080H
;AX=8080H.SAR AX, 1
;8080H算术右移一位得AX=B040H(SAR在每次右移用符号位的值补充最高位,最低位仍然是移入CF)。MOV CL, 4
;CL作计数用,次数值赋予了4.SHR AL, CL
;AL=40H, 逻...
回复

使用道具 举报

千问 | 2011-3-7 18:39:31 | 显示全部楼层
MOV AX,8080H;将8080H存入AX,此时AX中的数为8080H,AH中为80H,AL中为80H(AH为AX的高8位,AL为AX的低8位)SAR AX,1;算术右移一位,相当于除以2,此时AX中为B040H,AH中为40H,AL中为40HMOV CL,4;将4存入CL中SHR AL,CL;逻辑右移4位,高位补0,此时AL中就是04H了...
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行