主题:这两条MOV指令有什么不同??
wbsun111
[专家分:320] 发布于 2006-07-02 20:40:00
MOV WORD PTR [BX],6
MOV [BX],6
我认为两者都相同啊
回复列表 (共10个回复)
沙发
p1s [专家分:4100] 发布于 2006-07-02 21:43:00
一个是放入一个双字节,即一个字0006H
一个是放入一个字节,即06H
板凳
kobe00712 [专家分:20] 发布于 2006-07-05 15:45:00
楼上的说的不错
3 楼
davies [专家分:40] 发布于 2006-07-05 23:52:00
1 楼 不对吧!BX也是16位阿!两个mov一样啊
4 楼
zining1621 [专家分:30] 发布于 2006-07-06 02:32:00
mov [BX],6汇编程序不能确定是字节传送,还是字传送,必须用PTR进行明确说明。
一般都写成MOV BYTE PTR[BX],6或 MOV WORD PTR [BX],6.
5 楼
clamon [专家分:20] 发布于 2006-07-07 20:22:00
[quote]1 楼 不对吧!BX也是16位阿!两个mov一样啊[/quote]
前一个指的是将0006H移到BX所指的两个地址中去,是十六位
后面指的是将06H移到BX所指的一个地址中去,是八位
和BX的位长无关,BX里面装的是地址
6 楼
tides [专家分:0] 发布于 2006-08-13 14:29:00
我提醒大家一下,下面的语句是有问题的,不信用debug调调看
MOV [BX],6
7 楼
tides [专家分:0] 发布于 2006-08-13 14:42:00
我同意上面这样的说法:
mov [BX],6汇编程序不能确定是字节传送,还是字传送,必须用PTR进行明确说明。
我用debug验证过了,mov [bx],6有错误!
8 楼
66543 [专家分:200] 发布于 2006-08-14 22:22:00
呵呵,后者是错误的!
9 楼
awfiujff [专家分:110] 发布于 2006-08-18 16:19:00
双操作数指令中两个操作数(OPS和OPD)至少有一个必须类型明确,若两个操作数类型都明确则类型要一致。
MOV WORD PTR [BX],6
MOV [BX],6
前者OPD为字类型,OPS为立即数,类型不明确所以该指令是将6送到BX指向的字单元。
后者[BX]着种寻址方式类型不明确,所以不能确定是以什么类型传送。必须用PTR临时定义错做数的类型。
呵呵,不知道这样说请不清楚~谢谢楼主的帖子,我也是查了下书才敢确定的~
10 楼
TN007 [专家分:0] 发布于 2006-08-20 00:01:00
mov [bx],6是错地
调入debug后不能生成link文件
提示错误是'Operand must have size'即'类型必须匹配'
九楼说的对+详细
我来回复