计算机组成原理问题 50

1.什么是堆栈,它的工作原则是什么,它的基本操作有哪两个,对应哪两种指令?2..已知SS=FFA0H,SP=00B0H,画图说明执行下面指令序列时,堆栈区和SP的内容如何... 1. 什么是堆栈,它的工作原则是什么,它的基本操作有哪两个,对应哪两种指令?

2. . 已知SS=FFA0H,SP=00B0H,画图说明执行下面指令序列时,堆栈区和SP的内容如何变化?

MOV AX ,8057H

PUSH AX

MOV AX ,0F79H

PUSH AX

POP BX

POP [BX]
展开
 我来答
百度网友32f8736
2018-04-04
知道答主
回答量:23
采纳率:0%
帮助的人:4.6万
展开全部
堆是由程序员自己申请并指明大小,在c中malloc函数 如p1 = (char *)malloc(10);栈由系统自动分配,如声明在函数中一个局部变量 int b; 系统自动在栈中为b开辟空间。
栈:只要栈的剩余空间大于所申请空间,系统将为程序提供内存,否则将报异常提示栈溢出。
堆:首先应该知道操作系统有一个记录空闲内存地址的链表,当系统收到程序的申请时,会 遍历该链表,寻找第一个空间大于所申请空间的堆结点,然后将该结点从空闲结点链表中删除,并将该结点的空间分配给程序,另外,对于大多数系统,会在这块内 存空间中的首地址处记录本次分配的大小,这样,代码中的delete语句才能正确的释放本内存空间。另外,由于找到的堆结点的大小不一定正好等于申请的大 小,系统会自动的将多余的那部分重新放入空闲链表中。
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式