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 + -
显示快捷键?