Fw: [問題] 這段os影片中37:00後講的loader聽不懂

看板LinuxDev作者 (heart shaped box)時間5年前 (2018/10/02 13:02), 編輯推噓3(3014)
留言17則, 3人參與, 5年前最新討論串1/1
※ [本文轉錄自 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開始三五分鐘那段 講聽不懂了 有人可解釋一下嗎 謝謝 ----- Sent from JPTT on my Asus ASUS_Z012DA. -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 118.168.193.233 ※ 文章網址: https://www.ptt.cc/bbs/Linux/M.1536104297.A.B5B.html ※ 發信站: 批踢踢實業坊(ptt.cc) ※ 轉錄者: newwords (220.136.107.171), 10/02/2018 13:02:33

10/17 01:04, 5年前 , 1F
聽了一下, 不知道你的問題點在哪.
10/17 01:04, 1F

10/17 01:06, 5年前 , 2F
是否考慮先條列出他的語句, 再逐項指出不懂或有疑問的部分?
10/17 01:06, 2F

10/18 13:33, 5年前 , 3F
37:43前後吧,loader把sp指到這個program的sp,而在sp之
10/18 13:33, 3F

10/18 13:33, 5年前 , 4F
後保證不用sp,聽不懂這段
10/18 13:33, 4F

10/18 23:20, 5年前 , 5F
就你SP改掉了,指到接下來被載入程式要用的位址
10/18 23:20, 5F

10/18 23:21, 5年前 , 6F
那你目前的loader當然不能再用stack了...否則就天下大亂了
10/18 23:21, 6F

10/19 13:14, 5年前 , 7F
可以思考一下 sp 和 program 的關係是什麼?
10/19 13:14, 7F

10/19 13:16, 5年前 , 8F
或者說, sp stack 在 program (process) 中被如何使用?
10/19 13:16, 8F

10/19 20:58, 5年前 , 9F
大概了解了,就是不能連續push兩次對嗎
10/19 20:58, 9F

10/19 21:04, 5年前 , 10F
10/19 21:04, 10F

10/20 22:12, 5年前 , 11F
你在樓上的這個 URL 是說明了 sp 及 stack 的用途,
10/20 22:12, 11F

10/20 22:13, 5年前 , 12F
但你說 "不能連續push兩次" 又是誤解了什麼?
10/20 22:13, 12F

10/22 07:49, 5年前 , 13F
還是請yvb解釋好了,實在是不懂,感謝
10/22 07:49, 13F

10/23 19:01, 5年前 , 14F
就以存放在stack的local variables來說好了. 在一個函式中,
10/23 19:01, 14F

10/23 19:01, 5年前 , 15F
上述變數就是對應成sp加上一個特定offset, 所以sp變更後,
10/23 19:01, 15F

10/23 19:02, 5年前 , 16F
存取這樣的變數就會存取到錯誤的位址了; 其它 用sp的方式,
10/23 19:02, 16F

10/23 19:02, 5年前 , 17F
也差不多是這種情況 (除了直接改sp是例外).
10/23 19:02, 17F
文章代碼(AID): #1Rillhs8 (LinuxDev)
文章代碼(AID): #1Rillhs8 (LinuxDev)