为什么要定义堆栈段,很多汇编程序都没有显性的用到堆栈段(既没有用到ss和sp,pop,push),但还是定义了堆栈段,并

为什么要定义堆栈段,很多汇编程序都没有显性的用到堆栈段(既没有用到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
jenqi0820 1年前 已收到1个回答 举报

龙楼凤阁 幼苗

共回答了19个问题采纳率:84.2% 举报

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

1年前

3
可能相似的问题
Copyright © 2024 YULUCN.COM - 雨露学习互助 - 16 q. 0.032 s. - webmaster@yulucn.com