80C51单片机堆栈中储存的是什么?
80C51单片机堆栈中储存的是地址吗?如果是地址,是什么的地址?还有除了地址外还能存储其他类的数据吗?...
80C51单片机堆栈中储存的是地址吗?如果是地址,是什么的地址?还有除了地址外还能存储其他类的数据吗?
展开
5个回答
展开全部
8051单片机的堆栈主要存储程序运行中的一些中间变量或数据。
1、用户为编程方便临时保存的数据,比如:
MOV A,30H
PUSH ACC
ANL A,#0FH
MOV B,A
POP ACC
ANL A,#0F0H
ORL A,B
MOV 30H,A
2、子程序调用时,系统保护现场地址
3、中断服务是,系统保护现场地址
4、中断服务程序中,用户保护服务程序中需要改变的一些工作寄存器或其他寄存器、累加器等
1、用户为编程方便临时保存的数据,比如:
MOV A,30H
PUSH ACC
ANL A,#0FH
MOV B,A
POP ACC
ANL A,#0F0H
ORL A,B
MOV 30H,A
2、子程序调用时,系统保护现场地址
3、中断服务是,系统保护现场地址
4、中断服务程序中,用户保护服务程序中需要改变的一些工作寄存器或其他寄存器、累加器等
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
一般是存放地址的.是程序执行到那一步的地址,用堆栈主要是为中断服务的.当有中断发生时,程序得去响应中断.中断完成后,程序得接着执行.所在在响应中断前,把程序执行到的地方(断点)记住.也就是保护现场.当中断完了.再取出断点的地址接着执行.
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
8051堆栈中存储的是什么要根据你的程序区判断,泛泛的说什么东西都可以存储到堆栈中,包括地址,程序的中间状态,数据的中间状态,就像pc的堆栈一样。而且堆栈是可以自己去扩充的,在内存中开辟区域当做堆栈使用!绝大数堆栈中存储的是中间结果,特别是对可以重入的函数,就非得用堆栈不可了
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
堆栈中什么都可以储存的。不过一般都用于程序断点保护,保存当前工作状态
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询