init9.s
来自「这是一个同样来自贝尔实验室的和UNIX有着渊源的操作系统, 其简洁的设计和实现易」· S 代码 · 共 30 行
S
30 行
/* this is the same as a c program: * main(char *argv0){ * startboot(argv0, &argv0); * } * * it is in asm because we need to set the SB before * doing it and the only way to do this in c drags in * too many other routines. */TEXT _main(SB),$8 MOVW $setSB(SB), R2 /* make a frame */ SUB $16,R1 /* argv0 is already passed to us in R3 so it is already the first arg */ /* copy argv0 into the stack and push its address as the second arg */ MOVW R3,0x14(R1) ADD $0x14,R1,R6 MOVW R6,0x8(R1) BL startboot(SB) /* should never get here */loop: BR loop
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?