首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 嵌入开发 > 汇编语言 >

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

2013-07-04 
汇编 获取偏移地址 offset和lea的问题data segmentstring1 db hello world!,$string2 db hello,world

汇编 获取偏移地址 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
这两条汇编指令。

热点排行