#	RS6000RegisterSaveRestore.S
#		Save and restore all the global registers on a SPARC.
#
#	Peter B. Kessler, November 15, 1989 5:42:14 pm PST
#	Makoto Udagawa, 17-Sep-91 19:23:11
#  Katsuyuki Komatsu, March 17, 1992 1:11:00 pm PST
#


	.globl	save←regs[ds]
	.csect	save←regs[ds]
	.long	.save←regs[PR]
	.long	TOC[tc0]
	.long	0
	.toc
T.save←regs:	.tc save←regs[tc],save←regs[ds]
	.globl	.save←regs[PR]
	.csect	.save←regs[PR]

.save←regs:
	mfmq	31
	mfxer	30
	mfctr	29
	mfcr	28
	stm	28, 248(1)	# save special registers
	brl			# just a null function


	.globl	restore←regs[ds]
	.csect	restore←regs[ds]
	.long	.restore←regs[PR]
	.long	TOC[tc0]
	.long	0
	.toc
T.restore←regs:	.tc restore←regs[tc],restore←regs[ds]
	.globl	.restore←regs[PR]
	.csect	.restore←regs[PR]

.restore←regs:
	lm	28, 248(1)	# load special registers
	mtmq	31
	mtxer	30
	mtctr	29
	mtcrf	0xff, 28
	brl			# just a null function