为什么要定义堆栈段,很多汇编程序都没有显性的用到堆栈段(既没有用到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
最佳回复
1楼
第一,在定义时,还没有写程序,不知道程序会不用用到堆栈 第二,即使自己没有用到,在发生中断、过程调用等情况时,还是用到了堆栈 所以在定义时都会分配一定的堆栈空间的
最新人才