早教吧作业答案频道 -->其他-->
[求助]程序开头定义的解释程序开头定义的解释第一个不明白的地方……START:PUSHDSMOVAX,0PUSHAX……请问为什么在程序开始就将DS入栈,还要将AX置0后再将其入栈第二个STACKSEGMENTSTACKDB256(?)ST
题目详情
[求助]程序开头定义的解释
程序开头定义的解释 第一个不明白的地方……START:PUSH DS MOV AX,0 PUSH AX……请问为什么在程序开始就将DS入栈,还要将AX置0后再将其入栈第二个STACK SEGMENT STACK DB 256(?)STACK ENDS……这是一小程序的开头,可后来好像没有用到堆栈,定义堆栈是依据什么的?是不是每个程序前面都要定义一个堆栈段啊?
程序开头定义的解释 第一个不明白的地方……START:PUSH DS MOV AX,0 PUSH AX……请问为什么在程序开始就将DS入栈,还要将AX置0后再将其入栈第二个STACK SEGMENT STACK DB 256(?)STACK ENDS……这是一小程序的开头,可后来好像没有用到堆栈,定义堆栈是依据什么的?是不是每个程序前面都要定义一个堆栈段啊?
▼优质解答
答案和解析
第一个问题:如果使用proc的话,就要push ds和0,以便返回DOS,这个是规定,没有太多好解释的.如果没有用proc,我们一般用mov ax,4c00h然后int 21h返回.第二个问题,如果不涉及堆栈传递参数等操作,可以不用定义堆栈段.虽然连接的时候可能会发出警告,但是不影响执行.查看原帖>>
看了 [求助]程序开头定义的解释程...的网友还看了以下:
关于逆矩阵设A为n阶方阵,且满足A^2=E,为什么当A≠E时,A+E不可逆?求过程 2020-04-12 …
设A是n阶矩阵,行列式|A|=2,若矩阵A+E不可逆,则矩阵A的伴随矩阵A*必有特征值给出理由或证 2020-04-13 …
设栈的初始为空,元素a,b,c,d,e,f,g依次入栈,以下出栈序列不可能出现的是A,a,b,c, 2020-05-17 …
一个栈的入栈序列是a b c d e,则栈不可能的输出序列是( )。A.e d c b a B.d 2020-05-23 …
已知5个不同元素a,b,c,d,e排成一排.(1)a,e相邻有多少种排法(2)a,e不相邻有多少种 2020-06-12 …
A,B均为三阶可逆矩阵,且A^3=0,则A:E-A,E+A均不可逆?B:E-A不可逆但E+A可逆? 2020-07-20 …
矩阵A-1等于A-E吗?就是说A是n阶矩阵,A-1的话等于A-E不,也即A的主对角线数都加1 2020-08-02 …
A是n阶方阵,且满足A^2=E,则下列结论正确的是()A:若A不等于E,则A+E不可逆B:若A不等于 2020-11-02 …
设n阶方阵A满足A^2=0,则必有A.A+E不可逆,B.A-E可逆,C.A可逆D.A=0 2020-11-02 …
设n阶方阵A满足A*A=E,|A+E|不等于0,证明:A=E. 2020-11-02 …