plan 9 kernel history: overview | file list | diff list

1991/1105/ss/l.s (diff list | history)

1991/1006/sys/src/9/ss/l.s:55,671991/1105/sys/src/9/ss/l.s:55,66 (short | long | prev | next)
1990/1223    
 
1991/0110    
TEXT	swap1(SB), $0 
1991/0109    
 
	MOVW	keyaddr+0(FP), R8 
1991/0112    
	TAS	(R8), R7		/* LDSTUB, thank you ken */ 
1991/1105    
	TAS	(R7), R7		/* LDSTUB, thank you ken */ 
1991/0109    
	RETURN 
 
1990/1226    
TEXT	swap1_should_work(SB), $0 
 
	MOVW	keyaddr+0(FP), R8 
1991/1105    
	MOVW	R7, R8 
1990/1226    
	MOVW	$1, R7 
	SWAP	(R8), R7 
	RETURN 
1991/1006/sys/src/9/ss/l.s:68,741991/1105/sys/src/9/ss/l.s:67,72
1990/1226    
 
1991/0110    
TEXT	swap1x(SB), $0 
1990/1226    
 
	MOVW	keyaddr+0(FP), R8 
	MOVW	PSR, R9 
	MOVW	R9, R10 
	AND	$~PSRET, R10		/* BUG: book says this is buggy */ 
1991/1006/sys/src/9/ss/l.s:76,821991/1105/sys/src/9/ss/l.s:74,80
1990/1226    
	OR	R0, R0 
	OR	R0, R0 
	OR	R0, R0 
	MOVW	(R8), R7 
1991/1105    
	MOVW	(R7), R7 
1990/1226    
	CMP	R7, R0 
	BNE	was1 
	MOVW	$1, R10 
1991/1006/sys/src/9/ss/l.s:111,1171991/1105/sys/src/9/ss/l.s:109,114
1990/1226    
TEXT	splx(SB), $0 
 
1991/1006    
	MOVW	R15, 4(R(MACH))	/* save PC in m->splpc */ 
1990/1226    
	MOVW	psr+0(FP), R7 
	MOVW	R7, PSR		/* BUG: book says this is buggy */ 
	OR	R0, R0 
	OR	R0, R0 
1991/1006/sys/src/9/ss/l.s:123,1351991/1105/sys/src/9/ss/l.s:120,132
1990/1226    
	RETURN 
 
TEXT	touser(SB), $-4 
1991/01151    
	MOVW	$(SYSPSR&~PSREF), R7 
1990/1226    
	MOVW	R7, PSR 
1991/1105    
	MOVW	$(SYSPSR&~PSREF), R8 
	MOVW	R8, PSR 
1990/1226    
	OR	R0, R0 
	OR	R0, R0 
	OR	R0, R0 
1991/0712    
 
1990/1226    
	MOVW	sp+0(FP), R1 
1991/1105    
	MOVW	R7, R1 
1990/1226    
	SAVE	R0, R0			/* RETT is implicit RESTORE */ 
	MOVW	$(UTZERO+32), R7	/* PC; header appears in text */ 
	MOVW	$(UTZERO+32+4), R8	/* nPC */ 
1991/1006/sys/src/9/ss/l.s:137,1431991/1105/sys/src/9/ss/l.s:134,140
1990/1226    
 
1991/0112    
TEXT	rfnote(SB), $0 
 
	MOVW	0(FP), R1		/* 1st arg is &uregpointer */ 
1991/1105    
	MOVW	R7, R1			/* 1st arg is &uregpointer */ 
1991/0112    
	ADD	$4, R1			/* point at ureg */ 
	JMP	restore 
 
1991/1006/sys/src/9/ss/l.s:301,3071991/1105/sys/src/9/ss/l.s:298,303
1990/1226    
 
TEXT	puttbr(SB), $0 
 
	MOVW	tbr+0(FP), R7 
	MOVW	R7, TBR 
	OR	R0, R0 
	OR	R0, R0 
1991/1006/sys/src/9/ss/l.s:325,3311991/1105/sys/src/9/ss/l.s:321,326
1990/1226    
 
1990/1223    
TEXT	setlabel(SB), $0 
1990/1226    
 
	MOVW	b+0(FP), R7 
	MOVW	R1, (R7) 
	MOVW	R15, 4(R7) 
	MOVW	$0, R7 
1991/1006/sys/src/9/ss/l.s:333,3471991/1105/sys/src/9/ss/l.s:328,341
1990/1223    
 
TEXT	gotolabel(SB), $0 
1990/1226    
 
	MOVW	b+0(FP), R8 
	MOVW	(R8), R1 
	MOVW	4(R8), R15 
1991/1105    
	MOVW	(R7), R1 
	MOVW	4(R7), R15 
1990/1227    
	MOVW	$1, R7 
1990/1223    
	RETURN 
 
1990/1226    
TEXT	putcxsegm(SB), $0 
1990/1223    
 
	MOVW	0(FP), R8		/* context */ 
1991/1105    
	MOVW	R7, R8			/* context */ 
1990/1223    
	MOVW	4(FP), R9		/* segment addr */ 
	MOVW	8(FP), R10		/* segment value */ 
1990/1226    
	MOVW	$0xFFE80118, R7 
1991/1006/sys/src/9/ss/l.s:350,3631991/1105/sys/src/9/ss/l.s:344,355
1990/1223    
 
1990/1231    
TEXT	putcxreg(SB), $0 
1990/1226    
 
	MOVW	$CONTEXT, R7 
	MOVW	0(FP), R8 
	MOVB	R8, (R7, 2) 
1991/1105    
	MOVW	$CONTEXT, R8 
	MOVB	R7, (R8, 2) 
1990/1226    
	RETURN 
 
1990/1223    
TEXT	putb2(SB), $0 
 
1990/1226    
	MOVW	0(FP), R7 
	MOVW	4(FP), R8 
	MOVB	R8, (R7, 2) 
1990/1223    
	RETURN 
1991/1006/sys/src/9/ss/l.s:364,3821991/1105/sys/src/9/ss/l.s:356,371
1990/1223    
 
1990/1226    
TEXT	getb2(SB), $0 
1990/1223    
 
1990/1226    
	MOVW	0(FP), R7 
	MOVB	(R7, 2), R7 
1990/1223    
	RETURN 
 
1990/1226    
TEXT	getw2(SB), $0 
 
	MOVW	0(FP), R7 
	MOVW	(R7, 2), R7 
	RETURN 
 
TEXT	putw2(SB), $0 
 
	MOVW	0(FP), R7 
	MOVW	4(FP), R8 
	MOVW	R8, (R7, 2) 
	RETURN 
1991/1006/sys/src/9/ss/l.s:383,3891991/1105/sys/src/9/ss/l.s:372,377
1990/1226    
 
1990/1227    
TEXT	putw4(SB), $0 
1990/1226    
 
	MOVW	0(FP), R7 
	MOVW	4(FP), R8 
1990/1227    
	MOVW	R8, (R7, 4) 
1990/1226    
	RETURN 
1991/1006/sys/src/9/ss/l.s:390,3961991/1105/sys/src/9/ss/l.s:378,383
1990/1226    
 
1990/1227    
TEXT	putwC(SB), $0 
1990/1226    
 
	MOVW	0(FP), R7 
	MOVW	4(FP), R8 
1990/1227    
	MOVW	R8, (R7, 0xC) 
1990/1226    
	RETURN 
1991/1006/sys/src/9/ss/l.s:397,4031991/1105/sys/src/9/ss/l.s:384,389
1990/1226    
 
1990/1227    
TEXT	putwD(SB), $0 
1990/1223    
 
1990/1226    
	MOVW	0(FP), R7 
	MOVW	4(FP), R8 
1990/1227    
	MOVW	R8, (R7, 0xD) 
1990/1223    
	RETURN 
1991/1006/sys/src/9/ss/l.s:404,4101991/1105/sys/src/9/ss/l.s:390,395
1990/1223    
 
1991/0110    
TEXT	putwD16(SB), $0 
 
	MOVW	0(FP), R7 
	MOVW	4(FP), R8 
	MOVW	R8, (R7, 0xD) 
	ADD	$(1<<4), R7 
1991/1006/sys/src/9/ss/l.s:441,4471991/1105/sys/src/9/ss/l.s:426,431
1991/0110    
 
1990/1227    
TEXT	putwE(SB), $0 
1990/1223    
 
1990/1226    
	MOVW	0(FP), R7 
	MOVW	4(FP), R8 
1991/0110    
	MOVW	R8, (R7, 0xE) 
	RETURN 
1991/1006/sys/src/9/ss/l.s:448,4541991/1105/sys/src/9/ss/l.s:432,437
1991/0110    
 
TEXT	putwE16(SB), $0 
 
	MOVW	0(FP), R7 
	MOVW	4(FP), R8 
	MOVW	R8, (R7, 0xE) 
	ADD	$(1<<4), R7 
1991/1006/sys/src/9/ss/l.s:485,4911991/1105/sys/src/9/ss/l.s:468,473
1990/1227    
 
TEXT	putsegm(SB), $0 
 
	MOVW	0(FP), R7 
	MOVW	4(FP), R8 
	MOVW	R8, (R7, 3) 
1990/1223    
	RETURN 
1991/1006/sys/src/9/ss/l.s:492,4981991/1105/sys/src/9/ss/l.s:474,479
1990/1223    
 
1991/01151    
TEXT	savefpregs(SB), $0 
 
	MOVW	0(FP), R7 
	MOVW	FSR, 0(R7) 
 
	ADD	$(4+7), R7		/* double-align so can MOVD */ 
1991/1006/sys/src/9/ss/l.s:526,5321991/1105/sys/src/9/ss/l.s:507,512
1991/01151    
	OR	$PSREF, R8 
	MOVW	R8, PSR 
 
	MOVW	0(FP), R7 
	MOVW	(R7), FSR 
 
	ADD	$(4+7), R7		/* double-align so can MOVD */ 
1991/1006/sys/src/9/ss/l.s:554,5591991/1105/sys/src/9/ss/l.s:534,540
1991/01151    
	RETURN 
 
1991/0115    
TEXT	clearfpintr(SB), $0 
1991/1105    
 
1991/0115    
	MOVW	$fpq+BY2WD(SB), R7 
	ANDN	$0x7, R7		/* must be D aligned */ 
1991/01151    
	MOVW	$fsr+0(SB), R9 


source code copyright © 1990-2005 Lucent Technologies; see license
Plan 9 distribution
comments to russ cox (rsc@swtch.com)