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

📄 csu.mips.s

📁 <B>Digital的Unix操作系统VAX 4.2源码</B>
💻 S
字号:
#ident "$Header: csu.mips.s,v 1.1 87/08/18 16:23:37 mdove Exp $"/*		4.2	csu.mips.s * * Copyright 1985 by MIPS Computer Systems, Inc. * * csu.s -- standalone io library startup code *//* * Revision History: * * jas - commented out reloading of a2.  environ is never loaded, so *       loading a2 with environ results in a2 being loaded with trash. */#include "../../machine/mips/regdef.h"#include "../../machine/mips/cpu.h"#include "../../machine/mips/asm.h"#include "../../machine/mips/entrypt.h"#include "setjmp.h"#include "saio.h"	.textSTARTFRM=	EXSTKSZ			# leave room for fault stackNESTED(start, STARTFRM, zero)	la	gp,_gp	subu	v0,sp,4*4		# leave room for argsaves/*	sw	v0,_fault_sp		# small stack for fault handling*/	bne	a3,zero,1f		# no return	la	t0,jb	sw	ra,JB_PC*4(t0)		# ra and sp to get back to exec'er	sw	sp,JB_SP*4(t0)1:	subu	sp,STARTFRM		# fault stack can grow to here + 16	sw	zero,STARTFRM-4(sp)	# keep debuggers happy	sw	a0,STARTFRM(sp)		# home args	sw	a1,STARTFRM+4(sp)	sw	a3,retflag		# return or exit flag	lw	a0,STARTFRM+4(sp)	# copy strings out of prom area	lw	a0,STARTFRM(sp)		# reload argc, argv, environ	lw	a1,STARTFRM+4(sp)/*	lw	a2,environ */		# don't do, it trashes a2.	jal	main	lw	v1,retflag	beq	v1,zero,return	move	v0,a0	jal	_exit	END(start)LEAF(_exit)	lw	v1,retflag	bne	v1,zero,promexit	move	v0,a0return:	la	t0,jb	lw	ra,JB_PC*4(t0)	lw	sp,JB_SP*4(t0)	j	rapromexit:	li	ra,+PROM_RESTART	j	ra	END(_exit)	BSS(environ,4)			# environment pointer	LBSS(retflag,4)			# return or exit flag	BSS(jb,JB_SIZE*4)		# return jump_buf

⌨️ 快捷键说明

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