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