Fw: [问题] 这段os影片中37:00后讲的loader听不懂

楼主: newwords (boombastic)   2018-10-02 13:02:33
※ [本文转录自 Linux 看板 #1RZnTfjR ]
作者: loopfor (ken) 看板: Linux
标题: [问题] 这段os影片中37:00后讲的loader听不懂
时间: Wed Sep 5 07:38:14 2018
https://youtu.be/VXwFoa2QhaI
stack pointer 与loader之间关系
怎么运作
在37:00开始三五分钟那段 讲听不懂了
有人可解释一下吗
谢谢
作者: yvb   2018-10-17 01:04:00
听了一下, 不知道你的问题点在哪.是否考虑先条列出他的语句, 再逐项指出不懂或有疑问的部分?
楼主: newwords (boombastic)   2018-10-18 13:33:00
37:43前后吧,loader把sp指到这个program的sp,而在sp之后保证不用sp,听不懂这段
作者: WPC001 (好闷, 迷惘~~)   2018-10-18 23:20:00
就你SP改掉了,指到接下来被加载程式要用的位址那你目前的loader当然不能再用stack了...否则就天下大乱了
作者: yvb   2018-10-19 13:14:00
可以思考一下 sp 和 program 的关系是什么?或者说, sp stack 在 program (process) 中被如何使用?
楼主: newwords (boombastic)   2018-10-19 20:58:00
大概了解了,就是不能连续push两次对吗https://bit.ly/2yP9ZzB
作者: yvb   2018-10-20 22:12:00
你在楼上的这个 URL 是说明了 sp 及 stack 的用途,但你说 "不能连续push两次" 又是误解了什么?
楼主: newwords (boombastic)   2018-10-22 07:49:00
还是请yvb解释好了,实在是不懂,感谢
作者: yvb   2018-10-23 19:01:00
就以存放在stack的local variables来说好了. 在一个函式中,上述变量就是对应成sp加上一个特定offset, 所以sp变更后,存取这样的变量就会存取到错误的位址了; 其它 用sp的方式,也差不多是这种情况 (除了直接改sp是例外).

Links booklink

Contact Us: admin [ a t ] ucptt.com