汇编语言中段地址的形成是在汇编时,还是在可执行文件载入内存后?

来源:百度知道 编辑:UC知道 时间:2024/09/21 22:33:43
...
assume cs:code,ds:data
mov ax,data
mov ds,ax
...
反汇编后,data有一个段地址,就是问这个值是什么时候确定的,请解释,谢谢!
谢谢!我的意思是,data给段寄存器初始化,这个用来初始化的段值是如何得来的?这个data是段名!

这个地址是相对地址。段地址是0000。
程序编译后,就可以确定每条指令和每个数据的地址。
当程序运行后,会初始化段寄存器,这时候段地址就不是0000了,但是不管段地址是什么,data是绝对地址就是段地址+段内偏移量。这就是8086时代的分段程序。
那个data是程序装入的时候,由程序加载器确定。然后data传给ax,ax传给ds。
刚才没看清楚,不好意思。