汇编段地址

汇编中的段地址是什么意思啊那位高手教教我
2025-04-19 14:07:38
推荐回答(1个)
回答1:

程序分为数据段DS,代码段CS,堆栈段SS,附加段ES
每一个程序都可以分成这几个部分(有时只有数据段和代码段,甚至只有代码段)。
比如下面程序,在结构上就是一个完整的程序:
DATA SEGMENT
……
DATA ENDS

EATA SEGMENT
……
EATA ENDS

SATA SEGMENT
……
SATA ENDS

CODE SEGMENT
ASSUME DS:DATA,ES:EATA,SS:SATA

START:MOV AX,DATA
MOV DS,AX
MOV AX,EATA
MOV ES,AX
MOV AX,SATA
MOV SS,AX
……
……
……
CODE ENDS
END START

DATA,EATA,SATA都是自定义的段名字,这几个段 存在你的计算机上,因而每个段都对应一个内存地址。
我们把DATA在内存中的地址送入AX中,再从AX中送到段寄存器DS,这样程序就会“明白”你给它的数据段放在了哪里,要用到的时候它就“知道”该到哪里去找。
因此,所谓的段地址,就是DS,CS,ES,SS中的数值,也就是DATA,EATA,SATA,CODE这几个名字在计算机内存中的地址。
其他段也是如此,这样讲希望你能够明白。