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

1994/0309/carrera/l.s (diff list | history)

1994/0308/sys/src/9/carrera/l.s:791,7971994/0309/sys/src/9/carrera/l.s:791,796 (short | long | prev | next)
1993/0903    
	RET 
	 
TEXT	getcallerpc(SB), $0 
                 
	MOVW	0(SP), R1 
	RET 
 
1994/0308/sys/src/9/carrera/l.s:804,8461994/0309/sys/src/9/carrera/l.s:803,808
1993/0903    
	MOVW	R1, M(COMPARE) 
	RET 
 
TEXT	uvmove(SB), $-4 
	AND	$7, R1, R2 
	MOVW	4(FP), R3 
	BNE	R2, uvgetuna 
1994/0207    
	/* aligned load */ 
1994/0209    
	LD	(0,(1), 2) 
1993/0903    
	WAIT 
	MOVW	R2, R1 
	DSLL	(16,1,1) 
	DSLL	(16,1,1) 
	DSRA	(16,1,1) 
	DSRA	(16,1,1) 
uvput: 
	AND	$7, R3, R4 
	BNE	R4, uvputuna 
1994/0207    
	/* aligned store */ 
1994/0209    
	STD	(2, 0,(3)) 
1993/0903    
	NOP 
	RET 
                 
1994/0207    
	/* unaligned load */ 
1993/0903    
uvgetuna: 
	MOVW	0(R1),R2 
	MOVW	4(R1),R1 
	DSLL	(16,2,2) 
	DSLL	(16,2,2) 
	OR	R1, R2 
	JMP	uvput 
                 
	/* unalligned store */ 
uvputuna: 
	DSRA	(16,2,2) 
	DSRA	(16,2,2) 
	MOVW	R2, 0(R3) 
	MOVW	R1, 4(R3) 
	RET 
1994/0307    
                 
TEXT	uvld(SB), $-4		/* uvld(address, dst) */ 
	MOVW	4(FP), R2 
1994/0308    
	MOVV	0(R1), R5 
1994/0308/sys/src/9/carrera/l.s:851,8541994/0309/sys/src/9/carrera/l.s:813,835
1994/0307    
	MOVW	4(FP), R2 
1994/0308    
	MOVV	0(R2), R5 
1994/0307    
	MOVV	R5, 0(R1) 
1994/0309    
	RET 
 
TEXT	fwblock(SB), $-4	/* wblock(void*port, void *block, csum) */ 
	MOVW	4(FP), R2 
	MOVW	8(FP), R3 
 
	MOVW	$64, R4 
fwloop: 
	MOVV	0(R2), R5 
	MOVV	R5, 0(R1) 
	ADDU	R5, R3 
	SRLV	$32, R5 
	ADDU	R5, R3 
 
	ADD	$8, R2 
	SUB	$1, R4 
	BNE	R4, fwloop 
 
	MOVW	R3, R1 
1994/0307    
	RET 


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