| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 4992 人关注过本帖
标题:一道逻辑移位指令SHL/SHR题,求解
只看楼主 加入收藏
水浙江雪
Rank: 1
等 级:新手上路
帖 子:104
专家分:3
注 册:2014-5-17
结帖率:95.83%
收藏
已结贴  问题点数:10 回复次数:7 
一道逻辑移位指令SHL/SHR题,求解
VAR1    EQU    BYTE  PTR  VAR2
VAR2    DW        0ABCDH

SHL      VAR1,l
SHR      VAR2,1
上述两条指令执行后,VAR2 字存储单元内容是( C  
A.0ABCDH                    B.0AB9A H      
C.55CDH                        D.559AH
分析:0ABCDH = 1010 1011 1100 1101
SHL             0101 0111 1001 1010
SHR             0010 1011 1100 1101
                 2BCDH
不是应该为2BCDH吗,怎么算出55CDH的?
搜索更多相关主题的帖子: 1100 
2015-01-12 13:23
水浙江雪
Rank: 1
等 级:新手上路
帖 子:104
专家分:3
注 册:2014-5-17
收藏
得分:0 
还是因为答案有问题

打败别人,只是人生的赢家;打败自己,才是命运的强者
2015-01-12 13:42
wmf2014
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
等 级:贵宾
威 望:216
帖 子:2039
专家分:11273
注 册:2014-12-6
收藏
得分:5 
ABCDH
1010 1011 1100 1101
右移一位
 0 1010 1011 1100 110 1
0101 0101 1110 0110
结果
55E6H,不再答案中,var1怎么移都不相干吧。

能编个毛线衣吗?
2015-01-12 14:00
wp231957
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:神界
等 级:贵宾
威 望:423
帖 子:13688
专家分:53332
注 册:2012-10-18
收藏
得分:5 
我算是55E6 我感觉第一条指令并不影响第二条指令  所以abcd右移一位 55e6 55cd就不知道咋回事了

DO IT YOURSELF !
2015-01-12 14:08
水浙江雪
Rank: 1
等 级:新手上路
帖 子:104
专家分:3
注 册:2014-5-17
收藏
得分:0 
回复 3楼 wmf2014
恩恩,谢谢

打败别人,只是人生的赢家;打败自己,才是命运的强者
2015-01-12 14:22
水浙江雪
Rank: 1
等 级:新手上路
帖 子:104
专家分:3
注 册:2014-5-17
收藏
得分:0 
回复 4楼 wp231957
嗯,第一条指令不影响第二条,谢谢

打败别人,只是人生的赢家;打败自己,才是命运的强者
2015-01-12 14:23
取名字
Rank: 8Rank: 8
等 级:贵宾
威 望:21
帖 子:236
专家分:924
注 册:2015-4-27
收藏
得分:0 
以下是引用水浙江雪在2015-1-12 13:23:14的发言:

VAR1    EQU    BYTE  PTR  VAR2  
VAR2    DW        0ABCDH  
  
SHL      VAR1,l
SHR      VAR2,1
上述两条指令执行后,VAR2 字存储单元内容是( C    
A.0ABCDH                    B.0AB9A H      
C.55CDH                        D.559AH
分析:0ABCDH = 1010 1011 1100 1101
SHL             0101 0111 1001 1010
SHR             0010 1011 1100 1101
                 2BCDH
不是应该为2BCDH吗,怎么算出55CDH的?
答案是正确的。这题的关键在于“VAR1 EQR BYTE PTR VAR2”,“BYTE”说明“VAR1”指向的是“VAR2”的低字节部分,而不是指向整个字,所以“SHL    VAR1,1”是将“VAR2”低字节部分“0CDH”向左移一位,结果为“1001 1010B”(9AH),而“SHR    VAR2,1”则是将整个字向右移一位,此时“VAR2”中的值是“0AB9AH”,整体右移一位,结果为“0101 0101 1100 1101B”,十六进制表示就是“55CDH”,所以答案是正确的。
2015-05-05 21:22
zhulei1978
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:53
帖 子:1351
专家分:1200
注 册:2006-12-17
收藏
得分:0 
以下是引用取名字在2015-5-5 21:22:42的发言:

答案是正确的。这题的关键在于“VAR1 EQR BYTE PTR VAR2”,“BYTE”说明“VAR1”指向的是“VAR2”的低字节部分,而不是指向整个字,所以“SHL    VAR1,1”是将“VAR2”低字节部分“0CDH”向左移一位,结果为“1001 1010B”(9AH),而“SHR    VAR2,1”则是将整个字向右移一位,此时“VAR2”中的值是“0AB9AH”,整体右移一位,结果为“0101 0101 1100 1101B”,十六进制表示就是“55CDH”,所以答案是正确的。



其实我就是改变社会风气,提高少女素质,刺激电影市道,提高年轻人内涵,玉树临风,风度翩翩的整蛊专家,我名叫古晶,英文名叫JingKoo!
2016-04-14 16:25
快速回复:一道逻辑移位指令SHL/SHR题,求解
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.147395 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved