汇编语言段地址的问题

那个X是假设CODE段地址为X,那么DATA段和STACK段和他的关系。我就是不知道他们为什么有这种关系... 那个X是假设CODE段地址为X,那么 DATA段和STACK段和他的关系。我就是不知道他们为什么有这种关系 展开
 我来答
做而论道
高能答主

2013-09-19 · 把复杂的事情简单说给你听
知道大有可为答主
回答量:3万
采纳率:80%
帮助的人:8327万
展开全部
楼主说的:CODE段、DATA段、STACK段,这些,应该是编程时,自己写的段名称吧?

段名称,是自己瞎编的,看看下面的程序,就知道了。

编程时,可以自己定义几十、几百个段,这样的段,互相都是无关的。

程序运行后,段,就只有四个了,数据、代码、堆栈和附加。

程序运行后,把 A(或 B、C),送给 DS,这个 A(或 B、C)就成了数据段。

改变 DS,就可以改变数据段。

编程时定义的几十、几百个段,随意可以拿来一个当做数据段、代码...

数据、代码、堆栈和附加,这四个段,可以互相重叠,可以互相远离。

楼主怎么会认为它们有关系呢?
那么,楼主认为它们,有什么关系呢?
-------------

ASSUME CS:CODE

A SEGMENT ;段名称是A
DB 1, 2, 3, 4, 5, 6, 7, 8
A ENDS

B SEGMENT ;段名称是B
DB 1, 2, 3, 4, 5, 6, 7, 8
B ENDS

C SEGMENT ;段名称是C
DB 0, 0, 0, 0, 0, 0, 0, 0
C ENDS

CODE SEGMENT ;段名称是CODE

START:
MOV AX, A
MOV DS, AX
MOV AX, C
MOV ES, AX
MOV BX, 0
MOV CX, 8
S:
MOV AX, DS:[BX]
ADD ES:[BX], AX
ADD BX, 2
LOOP S

MOV AX, B
MOV DS, AX
MOV AX, C
MOV ES, AX
MOV BX, 0
MOV CX, 8
S0:
MOV AX, DS:[BX]
ADD ES:[BX], AX
ADD BX, 2
LOOP S0

MOV AX, 4C00H
INT 21H

CODE ENDS
END START
沙里波特
2021-04-07 · TA获得超过5305个赞
知道大有可为答主
回答量:1.1万
采纳率:95%
帮助的人:652万
展开全部

楼主说的:CODE段、DATA段、STACK段,这些,

应该是编程时,自己写的段名称吧?

段名称,是自己瞎编的,不是非得写成 CODE ... 。

编程时写的段,是:【逻辑段】。

编程时,你可以编写千千万万个【逻辑段】。

段名称,由你自己随便定义。(当然,随便,也有一定的限制。)

但是,当程序运行时,CPU 只能用四个【逻辑段】。

用那四个呢? 你应该会了。

王爽的教材,就是一滩垃圾,学着学着,就被误导了。

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
光年青春
2013-09-18
知道答主
回答量:16
采纳率:0%
帮助的人:7万
展开全部
没有任何关系,各个段都是独立的,实验5的code是指令段,data是数据段,stack是栈段,没有联系呀
追问
是不是根据分配的先后?段地址可能存在联系?
追答
不可能存在联系,刚学汇编时候没有吧段分开,数据都在指令段里,所以数据的地址都是连续的,你可以能存疑的就是这一点。但是到实验五时候,就把段分开描述了,这样不至于混乱,每个段的地址是单独从0开始的。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友8f0ead0
2013-09-18
知道答主
回答量:35
采纳率:0%
帮助的人:6.4万
展开全部
机器语言自己看的啊
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
yy_galois
2013-09-18 · TA获得超过857个赞
知道小有建树答主
回答量:429
采纳率:100%
帮助的人:163万
展开全部
data, stack 和 code段地址没有任何关系,保存在哪个寄存器,完全是x86体系结构决定的。
更多追问追答
追问
但是 我看王爽的汇编语言。第六章实验5 都是有关系的,好像都是连续的 所以这点很疑惑
追答
没有任何关系

你们看的汇编,那是教程。一般采用的是实模式。

data, stack, code段地址可以随便定义。

在实际的OS实现中,比如linux, 一般都不使用这些特点。

直接把 data, code的起始点设置为0.当然都是在保护模式下面。
来自:求助得到的回答
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 2条折叠回答
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式