一个困扰我很久的问题,求高手解答!!!
三种段:代码段、数据段、栈段。我能理解栈段,但是,我区分不了代码段和数据段。对于代码段和数据段,到底有何区别???
我要定义一个段,到底是把它定义成代码段,还是定义成数据段啊????
本帖最后由 programmer 于 2012-7-6 18:58 编辑
assume segment
data segment
dw 0,0,0,0,0,0,0,0
data ends
code segment
start:
mov ax,data
mov ds,ax
....
mov ax,4c00h
int 21h
code ends
end start
看过应该懂了吧
代码段就将它与代码寄存(CS=Code Segment)器相关联,数据段与数据寄存器(DS=Data Segment)相关联 本帖最后由 NeBen 于 2012-7-6 20:29 编辑
NeBen 发表于 2012-7-6 20:26 static/image/common/back.gif
代码段就将它与代码寄存(CS=Code Segment)器相关联,数据段与数据寄存器(DS=Data Segment)相关联
programmer的代码没体现这一点是错误的,代码都写错了
assume cs:code,ds:data(可以省略,但是代码段必需)
data segment
dw 0,0,0,0,0,0,0,0
data ends
code segment
start:
mov ax,data
mov ds,ax
....
mov ax,4c00h
int 21h
code ends
end start
另外解释下,data code两个只是我们自己取的有含义的名字,其它的也可以,只要不是特别长(能那么长也是牛人)
页:
[1]