嵌入式系统是如何分配堆栈空间的
答案:2 悬赏:80 手机版
解决时间 2021-02-24 05:55
- 提问者网友:留有余香
- 2021-02-24 01:48
嵌入式系统是如何分配堆栈空间的
最佳答案
- 五星知识达人网友:往事埋风中
- 2021-02-24 03:02
楼主,你好,在嵌入式系统中,栈的分配是由系统自动分配和自动回收的,在程序结束后栈空间就没有了,每个进程都有自己的栈,堆的分配是由程序员用 malloc(size),来分配的,malloc返回的是堆的地址,可以对之进行操作,而堆在程序结束后还会存在,系统不会自动回收堆的空间,而要求程序员利用free来释放该空间,总结下就是,栈是自动分配 自动回收,堆是程序员分配 程序员回收
全部回答
- 1楼网友:蓝房子
- 2021-02-24 03:32
寄存器间接寻址范围总结:
1、外部ram 64kb。对外部ram64kb的间接寻址,应使用@dptr作间址寻址寄存器,其形式为:@dptr。
例如movx a,@dptr;其功能是把dptr指定的外部ram的单元的内容送入累加器a中。
外部ram的低256单元是一个特殊的寻址区,除可以用dptr作间址寄存器寻址外,还可以用r0或r1作间址寄存器寻址。
例如movx a,@r0;这条指令的意思是,把r0指定的外部ram单元的内容送入累加器a。
2、堆栈操作指令(push和pop)也应算作是寄存器间接寻址,即以堆栈指针sp作间址寄存器的间接寻址方式。
3、内部ram低128单元。对内部ram低128单元的间接寻址,应使用r0或r1作间址寄存器,其通用形式为@ri(i=0或1)。
4、内部ram的高128单元也可以访问。但是注意不能用间接寻址的方式去访问特殊功能寄存器,虽然sfr与内部高128字节ram地址相同,但是当一个指令访问高于7hf的内部位置时,cpu是根据寻址方式来区分是访问高128字节的内部ram数据还是访问sfr.
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯