欢迎来到Doc100.Net免费学习资源知识分享平台!
您的位置:首页 > 程序异常 >

汇编 获取偏移地址 offset和lea的有关问题

更新时间: 2014-01-05 03:17:30 责任编辑: Author_N1

 

汇编 获取偏移地址 offset和lea的问题
data segment
string1 db 'hello world!','$'
string2 db 'hello,world!','$'
string3 db 'HELLO,WORLD!','$'
data ends

code segment
assume cs:code,ds:data
start:
mov dx,offset string1
mov ah,9
int 21h

lea dx,string2
mov ah,9
int 21h

mov dx,offset string3
mov ah,9
int 21h
code ends
end start

各位大神,请问上面这个程序问题出在哪里?汇编学得不深,老是出现不大不小的问题。
--参考方法--
start 后面加两句:
mov ax,data
mov ds,ax
--参考方法--
如楼上所说,就可以解决问题了。
之所以要加这两句,是因为:
  assume cs:code,ds:data
   这只是一条伪指令语句,这一语句中的ds:data只是我们编程时的一种假设,即我们通过这一指令告诉汇编编译器,我们假设数据段在data段中,但CPU并不知道,所以要想让CPU知道你存放的数据在DATA中,必须另外通过汇编指令指定,就是楼上说的
  mov  ax,data
   mov  ds,ax
这两条汇编指令。
上一篇:上一篇
下一篇:下一篇

 

随机推荐程序问答结果

 

 

如对文章有任何疑问请提交到问题反馈,或者您对内容不满意,请您反馈给我们DOC100.NET论坛发贴求解。
DOC100.NET资源网,机器学习分类整理更新日期::2014-01-05 03:17:30
如需转载,请注明文章出处和来源网址:http://www.doc100.net/bugs/t/20453/
本文WWW.DOC100.NET DOC100.NET版权所有。