code:rexit - ikarishinjieva/unixV6-code-analyze-chs GitHub Wiki

Source

  • 系统调用exit的处理程序
  • 传入1个参数cstatus, 通过寄放在R0中传入
    • 这是一个用来传递给父进程的参数

3200 /* -------------------------*/

3201

3202 /* exit system call:

3203  * pass back caller's r0

3204  */

3205 rexit()

3206 {

3207

3208     u.u_arg[0] = u.u_ar0[R0] << 8;

  • 将R0左移8位放入u.u_arg[0]中,R0是从用户态传入的参数
  • u.u_arg[0]后会在wait3297中被用到
3209     exit();
  • 调用exit函数自我终止
3210 }

3211 /* -------------------------*/

Param

(exit = 1.)
(status in r0)
sys exit
⚠️ **GitHub.com Fallback** ⚠️