| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 4640 人关注过本帖
标题:求指教为什么运行MOV AX, 87H 值为B8 87?
只看楼主 加入收藏
水浙江雪
Rank: 1
等 级:新手上路
帖 子:104
专家分:3
注 册:2014-5-17
结帖率:95.83%
收藏
已结贴  问题点数:10 回复次数:6 
求指教为什么运行MOV AX, 87H 值为B8 87?
为什么运行MOV AX, 87H 值为B8 87 ?
求大神指教
2015-01-04 18:28
zklhp
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:china
等 级:贵宾
威 望:254
帖 子:11485
专家分:33241
注 册:2007-7-10
收藏
得分:10 
什么值?
2015-01-04 19:21
水浙江雪
Rank: 1
等 级:新手上路
帖 子:104
专家分:3
注 册:2014-5-17
收藏
得分:0 
回复 2楼 zklhp
AX的值,①MOV AX, 87H   ②MOVSX AX, 87H   ③MOVZX AX, 87H
①就是我请教的问题,我不知道之后AX的值是多少
②AX = 0FF87H
③AX = 0087H

请教一下①是什么情况?谢谢

打败别人,只是人生的赢家;打败自己,才是命运的强者
2015-01-04 20:02
zklhp
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:china
等 级:贵宾
威 望:254
帖 子:11485
专家分:33241
注 册:2007-7-10
收藏
得分:0 
以下是引用水浙江雪在2015-1-4 20:02:29的发言:

AX的值,①MOV AX, 87H   ②MOVSX AX, 87H   ③MOVZX AX, 87H
①就是我请教的问题,我不知道之后AX的值是多少
②AX = 0FF87H
③AX = 0087H
 
请教一下①是什么情况?谢谢

mov 高位不填充 直接赋值
movsx 用符号填充高位
movzx 用0填充

因为87H也就是二进制的
1000 0111
符号位是1 则movsx后是②的情况 其他两种情况都是③的情况

如果你学过高级语言 那么 这里就好比字节转换为字 是否保留符号位 movsx是保留符号位的

如果你看不懂 建议你认真看书


[ 本帖最后由 zklhp 于 2015-1-4 20:12 编辑 ]
2015-01-04 20:11
水浙江雪
Rank: 1
等 级:新手上路
帖 子:104
专家分:3
注 册:2014-5-17
收藏
得分:0 
回复 4楼 zklhp
谢谢,知道了

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


mov 高位不填充 直接赋值
movsx 用符号填充高位
movzx 用0填充

因为87H也就是二进制的
1000 0111
符号位是1 则movsx后是②的情况 其他两种情况都是③的情况

如果你学过高级语言 那么 这里就好比字节转换为字 是否保留符号位 movsx是保留符号位的

如果你看不懂 建议你认真看书
对于“mov 高位不填充 直接赋值”这一说法不正确。因为“MOV”命令不存在将字节扩展成字的功能,所以也就不存在“高位不填充”一说。
应该说,在“MOV AX,87H”这条指令中,AX寄存器告诉计算机现在进行的数据传送以字为单位,所以计算机将87H也看成是一个字,“87H”是这个字的低位字节值,高位字节值就是“00H”,传送到AX寄存器中AX的值就是“0087H”。

[ 本帖最后由 取名字 于 2015-4-29 21:43 编辑 ]
2015-04-29 21:37
wmf2014
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
等 级:贵宾
威 望:216
帖 子:2039
专家分:11273
注 册:2014-12-6
收藏
得分:0 
mov ax,87h的机器码为:b8 87 00,可见是把一个16位的立即数0087送进ax的,不可能什么高位自动填充的问题。

能编个毛线衣吗?
2015-04-29 21:45
快速回复:求指教为什么运行MOV AX, 87H 值为B8 87?
数据加载中...
 
   



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

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