专注收集记录技术开发学习笔记、技术难点、解决方案
网站信息搜索 >> 请输入关键词:
您当前的位置: 首页 > 汇编语言

初学者求问MOV DL,[SI]的意思

发布时间:2010-06-14 15:30:31 文章来源:www.iduyao.cn 采编人员:星星草
菜鸟求问MOV DL,[SI]的意思
各位大虾好,小弟最近初学汇编,今天看一段代码事卡住了,求解释:
Assembly code

MOV SI,0       ;将SI指向内存0000H处
MOV DL,[SI]    ;SI指向的内容也是2B长的吧,怎么能赋给1B长的DL呢?



------解决方案--------------------
目标寄存器用的是DL,则传输宽度是字节。即:将数据段DS地址为0的内容赋值给DL。
------解决方案--------------------
地址,只是个编号而已,不存在长度的问题。究竟有多长,一是段大小的限制,再就是你使用的方式了。就如一排的巧克力编上号,从第 3 块起,你可以取一块、两块,甚至更多,只要后面有。
------解决方案--------------------
探讨
各位大虾好,小弟最近初学汇编,今天看一段代码事卡住了,求解释:
Assembly code

MOV SI,0 ;将SI指向内存0000H处
MOV DL,[SI] ;SI指向的内容也是2B长的吧,怎么能赋给1B长的DL呢?

------解决方案--------------------

mov si, 0
mov dl, [si] ;[si]的长度要看前面寄存器类型,如mov dx ,[si]就是将si起
;始的一个字型数据送入dx;
又如指令
mov [bx], 10h ;[bx]长度未定,10h长度也不知,因此必须指定数据类型,故此句有错
可以改为:
mov word ptr [bx], 10h ;这一句作用是将字型数据10h送入字型单元[bx]

------解决方案--------------------
[si]是代表内存单元,默认的寄存器的ds,所以实质的意思就是mov dl,ds[0] 把0号内存单元的内容放到8位寄存器cl 里面
友情提示:
信息收集于互联网,如果您发现错误或造成侵权,请及时通知本站更正或删除,具体联系方式见页面底部联系我们,谢谢。

其他相似内容:

热门推荐: