victorsing 发表于 2015-8-26 11:57:15

汇编语言 实验5(3) 段地址怎么来的?

本帖最后由 victorsing 于 2015-8-26 11:57 编辑

assume cs:code,ds:data,ss:stack
code segment

start:mov ax,stack
      mov ss,ax
      mov sp,16

      mov ax,data
      mov ds,ax

      push ds:
      push ds:
      pop ds:
      pop ds:

      mov ax,4c00h
      int 21h
code ends

data segment
      dw 0123h,0456h
data ends

stack segment
      dw 0,0
stack ends

end start

程序加载后,CODE段的段地址为X,则DATA段的段地址为 X+3 ,STACK段的段地址为 X+4;
疑问:一个段最大的长度是64KB,那为什么不是(data)=x+1,(stack)=x+2?

victorsing 发表于 2015-8-28 14:00:40

鱼C论坛,难道没有大鱼出没吗?:cry 难道大鱼都不屑小虾米? 看来要粉转路人了

hexiaofengye 发表于 2015-8-31 21:55:36

自己debug 一下可以看得出来的,朋友

BellXu 发表于 2017-7-10 21:35:22

如图,本机中程序加载后CS=0770,SS=0774,DS=0773;可见若code段为X,则data段为X+3,stack段为X+4。
页: [1]
查看完整版本: 汇编语言 实验5(3) 段地址怎么来的?