⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 mkfile

📁 著名操作系统Plan 9的第三版的部分核心源代码。现在很难找到了。Plan 9是bell实验室开发的Unix后继者。
💻
字号:
NPROC=1</$objtype/mkfileinstall:V:	SYS=`{sed '/^#define._X[123]/d; s/#define.([A-Z0-9_]*).*/\1/' sys.h}	for(I in $SYS) {		i=`{echo $I|tr A-Z a-z}		n=`{sed -n '/[ 	]'$I'[ 	]/s/.*	//p' sys.h}		if(~ $i exits) i=_exits		{switch($objtype){		case 68000			echo TEXT $i'(SB)', 1, '$0'			echo MOVL '$'$n, R0			echo TRAP '$0'			echo RTS		case 68020			echo TEXT $i'(SB)', 1, '$0'			echo MOVL '$'$n, R0			echo TRAP '$0'			echo RTS		case mips			echo TEXT $i'(SB)', 1, '$0'			echo MOVW R1, '0(FP)'			echo MOVW '$'$n, R1			echo SYSCALL			if(~ $i seek) {				echo 'MOVW $-1,R5				BNE R1,R5,4(PC)				MOVW a+0(FP),R5				MOVW R1,0(R5)				MOVW R1,4(R5)'			}			echo RET		case mips2			echo TEXT $i'(SB)', 1, '$0'			echo MOVW R1, '0(FP)'			echo MOVW '$'$n, R1			echo ADD '$4',R29			echo SYSCALL			echo ADD '$-4',R29			echo RET		case spim			echo TEXT $i'(SB)', 1, '$0'			echo MOVW R1, '0(FP)'			echo MOVW '$'$n, R1			echo ADD '$4',R29			echo SYSCALL			echo ADD '$-4',R29			echo RET		case 386			echo TEXT $i'(SB)', 1, '$0'			echo MOVL '$'$n, AX			echo INT '$'64			if(~ $i seek) {				echo 'CMPL AX,$-1				JNE 4(PC)				MOVL a+0(FP),CX				MOVL AX,0(CX)				MOVL AX,4(CX)'			}			echo RET		case sparc			echo TEXT $i'(SB)', 1, '$0'			echo MOVW R7, '0(FP)'			echo MOVW '$'$n, R7			echo TA R0			if(~ $i seek) {				echo 'CMP R7,$-1				BNE 4(PC)				MOVW a+0(FP),R8				MOVW R7,0(R8)				MOVW R7,4(R8)'			}			echo RETURN		case 3210			echo TEXT $i'(SB)', 1, '$0'			echo MOVW R3, '0(FP)'			echo MOVW '$'$n, R3			echo WORD '$0x06000000'			echo RETURN		case 29000			echo TEXT $i'(SB)', 1, '$0'			echo MOVL R69, '0(FP)'			echo MOVL '$'$n, R69			echo EMULATE 0			echo RET		case arm			echo TEXT $i'(SB)', 1, '$0'			echo MOVW R0, '0(FP)'			echo MOVW '$'$n, R0			echo SWI 0			echo RET		case power			echo TEXT $i'(SB)', 1, '$0'			echo MOVW R3, '0(FP)'			echo MOVW '$'$n, R3			echo SYSCALL			if(~ $i seek) {				echo 'CMP R3,$-1				BNE 4(PC)				MOVW a+0(FP),R8				MOVW R3,0(R8)				MOVW R3,4(R8)'			}			echo RETURN		case alpha			j=$i			if(~ $i seek) j=_seek			echo TEXT $j'(SB)', 1, '$0'			echo MOVL R0, '0(FP)'			echo MOVQ '$'$n, R0			echo CALL_PAL '$'0x83			echo RET		}} > $i.s		$AS $i.s	}	ar vu /$objtype/lib/libc.a *.$O	rm -f *.$O *.snuke clean:V:	rm -f *.[$OS]installall:V:	for(objtype in $CPUS) mk install

⌨️ 快捷键说明

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