注册 登录
编程论坛 汇编论坛

si寻地址问题

清清楚楚 发布于 2005-05-17 12:08, 971 次点击
mov dl,[si]
   和
mov dx,[si]"怎么确定SI里面是8位还是否16位?
5 回复
#2
xiolig2005-05-17 13:42
这里的操作数宽度由 dx 决定,是十六位的
#3
钢燃2005-05-20 11:13
首先  si  是16位寄存器
以上两种写法都不能算对,正规写法:

mov  dl, pyte ptr [si]

mov  dx, word ptr [si]
#4
lsylsy12342005-05-20 13:55
我在机上试过了:
           像上面当源操作数是存储器操作数,目的操作数是寄存器操作数时:不用对存储器操作数进行说明,是8位还是16位取决于寄             存器操作数。


            当源操作数是寄存器操作数,目的操作数是存储器操作数时,如定义的存储器操作数与寄存器类型相同则不用说明,否则要对存储器操作数进行类型说明,使其与寄存器操作数类型相同。
#5
lsylsy12342005-05-21 09:43
哈哈。。。对于4楼写的结论我表示抱歉!!!!!!!
因为我今天上机因为这个出了不少问题。4楼的结论不太稳定。
我想我们还是按3楼的正规写法来写程序吧!!
#6
钢燃2005-05-21 20:37
因为,汇编语言属于“中级语言”吧,都知道他的移植性不好。怎能通过几次试验而否定别的意见呢?
呵呵
我认为我的方法在大家通用的机器上不会出现错误,并且我认为我推荐的写法是个良好的习惯。
1