作者sdfg014025xx (随便就好)
看板Grad-ProbAsk
标题[理工] 计组 程序呼叫的问题
时间Sun Mar 25 21:54:49 2018
各位好,最近在复习之前上课教的,但发现这部分忘了...
https://i.imgur.com/7ekzTte.jpg
看不太懂为什麽$sp第一题是-4第二题是-8,我知道$sp是堆叠指标用来储存callee需要的
暂存器地址
还有对他做sw是什麽意思
上完课没复习现在忘光了QQ
还恳请各位高手帮忙解惑
感谢
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 110.50.150.146
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/Grad-ProbAsk/M.1521986092.A.224.html
1F:推 magic83v: mem中stack位址从高到低 所以是-4这样下去03/25 23:25
2F:→ magic83v: sw是要存返回位址 最後拿出返回位址就不会再用到了 所以03/25 23:31
3F:→ magic83v: 把sp+回4 再跳回去03/25 23:31
4F:推 b0920075: -4开空间给区域变数03/26 03:08
5F:推 SIGNAL2017: 我也有疑问@@ 既然如此用4不就好了 为何要用803/26 12:57
6F:→ magic83v: 楼上 第二题是递回 每次呼叫都要用到参数 所以多存一个03/26 15:10
7F:→ magic83v: 位址参数03/26 15:10
8F:推 maple205: 一个variable是4,你要存/取两个变数就是803/26 15:12
9F:推 maple205: 从stack取回caller的parameter/argument跟return addres03/26 15:15
10F:→ maple205: s,两个数值,所以+803/26 15:15
感谢各位热心讲解
※ 编辑: sdfg014025xx (180.217.162.98), 03/26/2018 18:23:29
11F:推 SIGNAL2017: 懂了 感谢 03/26 18:41