- 用于将参数传递给函数的寄存器。
- 用于将值返回给调用函数(称为调用者caller)的寄存器。
- 被调用的函数(称为被调用者callee)可以破坏哪些寄存器。
- 被调用者不能破坏哪些寄存器。
考虑一个从main()调用的函数foo():
PCS规定第一个参数传递给X0,第二个参数传递给X1,以此类推,直到X7。任何额外的参数都传递到栈stack上。我们的函数foo()接受两个参数:b和c。因此,b将位于W0,c将位于W1。
为什么是W而不是X?因为这些参数是32位类型,因此我们只需要一个W寄存器。
**【注意】:**在C++中,X0用于传递指向被调用函数的隐式this指针。
学习路线:
这个方向初期比较容易入门一些,掌握一些基本技术,拿起各种现成的工具就可以开黑了。不过,要想从脚本小子变成黑客大神,这个方向越往后,需要学习和掌握的东西就会越来越多以下是网络渗透需要学习的内容:
网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!