穆子 发表于 2013-6-9 08:17:08

求助大婶

汇编定义段时是否一定要定义段大小?,不定义段大小   是不是0字节?

lsh華 发表于 2013-6-14 23:05:26

不用定义段的大小,系统会自动分配的

Crazy迷恋. 发表于 2013-8-6 20:06:40

段是在程序运行的时候操作系统分配的。比如代码段。如果代码段都写死了。那程序跑到别的地方去执行的时候怎么办?比如在一台pc机器里边写好并成功运行了该程序。比如它的cs地址为1111h ip为0h,那如果这个程序拿到另外一台机器上去呢?这个时候1111hsp为0的部分是不确定的。这个合起来的物理地址11110h的地方恰好存储了某个程序的代码或者数据怎么办?所以写死段地址是不可取的。你说的定义段地址的大小。8086的段地址为16位,*16 +偏移地址组成一个20位的物理地址。如果你定义8位没有任何意义,比如0020h低8位就是20h。段地16位一般情况下都存储在段寄存器中。cs ds ss es中。不过写了这么多发些我有点偏移了楼主的意思,不想删了,楼主问定义段的大小是否指的是一个逻辑段的大小,我们定义一个段的大小data segment ....... data ends里边内容,比如dw 3 dup(0) 一个逻辑段就和里边的内容又关系的。
页: [1]
查看完整版本: 求助大婶