首页 » 技术SOS » 嵌入式系统 » 中间件和软件库 » 为什么要定义堆栈段?

为什么要定义堆栈段?

菜鸟
2007-10-26 23:17:29
为什么要定义堆栈段,很多汇编程序都没有显性的用到堆栈段(既没有用到ss和sp,pop,push),但还是定义了堆栈段,并开辟了一定的存储空间,既然没用到,为什么要定义堆栈段并且开辟存储空间? 如下面的代码是求1+......+100的和? 为什么定义了堆栈段,并开辟了200个字节存储区后,在后面的程序中没有用到呢? STACK SEGMENT DB 200 DUP(0) STACK ENDS DATA SEGMENT SUM DW ? DATA ENDS CODE SEGMENT ASSUME CS:CODE,SS:STACK,DS:DATA START: MOV AX,DATA MOV DS,AX MOV AX,0 MOV CX,100 NEXT: ADD AX,CX LOOP NEXT MOV SUM,AX CODE ENDS END START
关键词: 堆栈, 存储  

最佳回复

高工
2007-10-26 23:22:09
1楼

第一,在定义时,还没有写程序,不知道程序会不用用到堆栈 第二,即使自己没有用到,在发生中断、过程调用等情况时,还是用到了堆栈 所以在定义时都会分配一定的堆栈空间的