l.s

来自「这是一个同样来自贝尔实验室的和UNIX有着渊源的操作系统, 其简洁的设计和实现易」· S 代码 · 共 102 行

S
102
字号
#include "mem.h"#include "vmspal.h"#define SP		R30TEXT	_main(SB), $-8	MOVQ	$setSB(SB), R29	MOVQ	$edata(SB), R1	MOVQ	$end(SB), R2loop2:	MOVQ	R31, (R1)	ADDQ	$8, R1	CMPUGT	R1, R2, R3	BEQ	R3, loop2	JSR	main(SB)TEXT	firmware(SB), $-8	CALL_PAL $PALhalt	MOVQ	$_divq(SB), R31		/* touch _divq etc.; doesn't need to execute */	MOVQ	$_divl(SB), R31		/* touch _divl etc.; doesn't need to execute */	RETTEXT	mb(SB), $-8	MB	RETTEXT	icflush(SB), $-8	CALL_PAL $PALimb	RETTEXT	tlbflush(SB), $-8	CALL_PAL $PALmtpr_tbia	RETTEXT	gendispatch(SB), $-8	MOVQ	8(FP), R16	MOVQ	16(FP), R17	MOVQ	24(FP), R18	MOVQ	32(FP), R19	MOVQ	40(FP), R20	MOVQ	R26, R1	JSR	(R0)	MOVQ	R1, R26	RET					/* 7a bug: should be RET (R1) */TEXT	rdv(SB), $-8	MOVQ	(R0), R0	RETTEXT	wrv(SB), $-8	MOVQ	8(FP), R1	MOVQ	R1, (R0)	RETTEXT	ipl(SB), $-8	CALL_PAL $PALmfpr_ipl	RETTEXT	mces(SB), $-8	CALL_PAL $PALmfpr_mces	RETTEXT	setipl(SB), $-8	MOVQ	R0, R16	CALL_PAL $PALmtpr_ipl	RETTEXT	setmces(SB), $-8	MOVQ	R0, R16	CALL_PAL $PALmtpr_mces	RETTEXT	ldqp(SB), $-8	MOVQ	R0, R16	CALL_PAL $PALldqp	RETTEXT	stqp(SB), $-8	MOVQ	R0, R16	MOVQ	8(FP), R17	CALL_PAL $PALstqp	RETTEXT	getptbr(SB), $-8	CALL_PAL $PALmfpr_ptbr	RETTEXT	swppal(SB), $-8	MOVQ	R0, R16			/* which PALcode */	MOVQ	8(FP), R17		/* new PC */	MOVQ	16(FP), R18		/* PCBB (physical) */	MOVQ	24(FP), R19		/* VPTB */	MOVQ	32(FP), R20		/* new KSP */	CALL_PAL $PALswppal	RETTEXT	pcc_cnt(SB), $-8	MOVQ	PCC, R1	MOVL	R1, R0	RET

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?