
	.section	".text",#alloc,#execinstr
	.align	8
	.skip	16

	! block 0

	.global	date_
	.type	date_,2
date_:
	save	%sp,-112,%sp
	st	%i4,[%fp+84]
	st	%i3,[%fp+80]
	st	%i2,[%fp+76]
	st	%i1,[%fp+72]
	st	%i0,[%fp+68]

	! block 1
.L36:
	sethi	%hi(GPB.date.mday0-4),%l0
	or	%l0,%lo(GPB.date.mday0-4),%l0
	st	%l0,[%fp-8]
	sethi	%hi(GPB.date.mnum-4),%l0
	or	%l0,%lo(GPB.date.mnum-4),%l0
	st	%l0,[%fp-4]
	sethi	%hi(GPB.date.mname-4),%l0
	or	%l0,%lo(GPB.date.mname-4),%l0
	st	%l0,[%fp-12]

	! block 2
.L14:

! File date.f:
!    1	* Wed Dec 28 15:08:38 EST 1988 /usr4/pam/src/test date.f
!    2	c*********** compute month & day given year and day of year
!    3	      subroutine date (nnday, iyr, mdays, monnam, monnum)
!    4	      integer mnum (365), mday0(13)
!    5	      character*4 mname(13), monnam
!    6	c
!    7	      data mnum /31 * 1, 28 * 2, 31 * 3, 30 * 4, 31 * 5, 30 * 6, 
!    8	     *   31 * 7, 31 * 8, 30 * 9, 31 * 10, 30 * 11, 31 * 12/
!    9	      data mday0 /0, 31, 59, 90, 120, 151, 181, 212, 243, 273,
!   10	     *   304, 334, 0/
!   11	      data mname /'JAN ', 'FEB ', 'MAR ', 'APR ', 'MAY ', 'JUN ',
!   12	     *   'JUL ', 'AUG ', 'SEP ', 'OCT ', 'NOV ', 'DEC ', 'ERR '/
!   13	c
!   14	      nday = nnday

	ld	[%fp+68],%l0
	ld	[%l0+0],%l1
	sethi	%hi(GPB.date.nday),%l0
	or	%l0,%lo(GPB.date.nday),%l0
	st	%l1,[%l0+0]

!   15	      leap = (3 - mod (iyr, 4)) / 3

	mov	3,%l2
	ld	[%fp+72],%l0
	ld	[%l0+0],%l0
	mov	4,%l1
	mov	%l0,%o0
	mov	%l1,%o1
	call	.rem
	nop
	mov	%o0,%l1
	sub	%l2,%l1,%l0
	mov	3,%l1
	mov	%l0,%o0
	mov	%l1,%o1
	call	.div
	nop
	mov	%o0,%l1
	sethi	%hi(GPB.date.leap),%l0
	or	%l0,%lo(GPB.date.leap),%l0
	st	%l1,[%l0+0]

!   16	      if (mod(iyr, 100) .eq. 0 .and. mod(iyr, 400) .ne. 0) leap=0

	ld	[%fp+72],%l0
	ld	[%l0+0],%l0
	mov	100,%l1
	mov	%l0,%o0
	mov	%l1,%o1
	call	.rem
	nop
	mov	%o0,%l0
	cmp	%l0,0
	bne	.L19
	nop

	! block 3
.L21:
	ld	[%fp+72],%l0
	ld	[%l0+0],%l0
	mov	400,%l1
	mov	%l0,%o0
	mov	%l1,%o1
	call	.rem
	nop
	mov	%o0,%l0
	cmp	%l0,0
	be	.L19
	nop

	! block 4
.L22:
	mov	0,%l1
	sethi	%hi(GPB.date.leap),%l0
	or	%l0,%lo(GPB.date.leap),%l0
	st	%l1,[%l0+0]

	! block 5
.L19:

!   17	      if (nday .gt. 59) nday = nday - leap

	sethi	%hi(GPB.date.nday),%l0
	or	%l0,%lo(GPB.date.nday),%l0
	ld	[%l0+0],%l0
	cmp	%l0,59
	ble	.L23
	nop

	! block 6
.L24:
	sethi	%hi(GPB.date.nday),%l0
	or	%l0,%lo(GPB.date.nday),%l0
	ld	[%l0+0],%l2
	sethi	%hi(GPB.date.leap),%l0
	or	%l0,%lo(GPB.date.leap),%l0
	ld	[%l0+0],%l1
	sub	%l2,%l1,%l1
	sethi	%hi(GPB.date.nday),%l0
	or	%l0,%lo(GPB.date.nday),%l0
	st	%l1,[%l0+0]

	! block 7
.L23:

!   18	      monnum = 13

	mov	13,%l1
	ld	[%fp+84],%l0
	st	%l1,[%l0+0]

!   19	      if (nday .gt. 0 .and. nday .le. 365) monnum=mnum(nday)

	sethi	%hi(GPB.date.nday),%l0
	or	%l0,%lo(GPB.date.nday),%l0
	ld	[%l0+0],%l0
	cmp	%l0,0
	ble	.L25
	nop

	! block 8
.L27:
	sethi	%hi(GPB.date.nday),%l0
	or	%l0,%lo(GPB.date.nday),%l0
	ld	[%l0+0],%l0
	cmp	%l0,365
	bg	.L25
	nop

	! block 9
.L28:
	ld	[%fp-4],%l2
	sethi	%hi(GPB.date.nday),%l0
	or	%l0,%lo(GPB.date.nday),%l0
	ld	[%l0+0],%l0
	sll	%l0,2,%l1
	add	%l2,%l1,%l0
	ld	[%l0+0],%l1
	ld	[%fp+84],%l0
	st	%l1,[%l0+0]

	! block 10
.L25:

!   20	      mdays = nday - mday0(monnum)

	sethi	%hi(GPB.date.nday),%l0
	or	%l0,%lo(GPB.date.nday),%l0
	ld	[%l0+0],%l3
	ld	[%fp-8],%l2
	ld	[%fp+84],%l0
	ld	[%l0+0],%l0
	sll	%l0,2,%l1
	add	%l2,%l1,%l0
	ld	[%l0+0],%l1
	sub	%l3,%l1,%l1
	ld	[%fp+76],%l0
	st	%l1,[%l0+0]

!   21	      if (leap .eq. 1 .and. nnday .eq. 60) mdays=29

	sethi	%hi(GPB.date.leap),%l0
	or	%l0,%lo(GPB.date.leap),%l0
	ld	[%l0+0],%l0
	cmp	%l0,1
	bne	.L31
	nop

	! block 11
.L33:
	ld	[%fp+68],%l0
	ld	[%l0+0],%l0
	cmp	%l0,60
	bne	.L31
	nop

	! block 12
.L34:
	mov	29,%l1
	ld	[%fp+76],%l0
	st	%l1,[%l0+0]

	! block 13
.L31:

!   22	      monnam = mname(monnum)

	ld	[%fp+80],%l3
	ld	[%fp-12],%l2
	ld	[%fp+84],%l0
	ld	[%l0+0],%l0
	sll	%l0,2,%l1
	add	%l2,%l1,%l0
	mov	4,%l1
	mov	4,%l2
	mov	%l3,%o0
	mov	%l0,%o1
	mov	%l1,%o2
	mov	%l2,%o3
	call	__s_copy
	nop

!   23	      return

	ba	.L13
	nop

	! block 14

!   24	      end

.L13:
.L11:
.L12:
	jmp	%i7+8
	restore
	.size	date_,(.-date_)
	.align	8

	.section	".data",#alloc,#write
	.align	4
GPB.date.mday0:
	.skip	4
	.word	0x1f,0x3b,0x5a,0x78
	.word	0x97,0xb5,0xd4,0xf3
	.word	0x111,0x130,0x14e
	.skip	4
	.type	GPB.date.mday0,#object
	.size	GPB.date.mday0,52

	.section	".bss",#alloc,#write
	.align	8
GPB.date.nday:
	.skip	4
	.type	GPB.date.nday,#object
	.size	GPB.date.nday,4

	.section	".data",#alloc,#write
	.align	4
GPB.date.mnum:
	.word	0x1,0x1,0x1,0x1
	.word	0x1,0x1,0x1,0x1
	.word	0x1,0x1,0x1,0x1
	.word	0x1,0x1,0x1,0x1
	.word	0x1,0x1,0x1,0x1
	.word	0x1,0x1,0x1,0x1
	.word	0x1,0x1,0x1,0x1
	.word	0x1,0x1,0x1,0x2
	.word	0x2,0x2,0x2,0x2
	.word	0x2,0x2,0x2,0x2
	.word	0x2,0x2,0x2,0x2
	.word	0x2,0x2,0x2,0x2
	.word	0x2,0x2,0x2,0x2
	.word	0x2,0x2,0x2,0x2
	.word	0x2,0x2,0x2,0x3
	.word	0x3,0x3,0x3,0x3
	.word	0x3,0x3,0x3,0x3
	.word	0x3,0x3,0x3,0x3
	.word	0x3,0x3,0x3,0x3
	.word	0x3,0x3,0x3,0x3
	.word	0x3,0x3,0x3,0x3
	.word	0x3,0x3,0x3,0x3
	.word	0x3,0x3,0x4,0x4
	.word	0x4,0x4,0x4,0x4
	.word	0x4,0x4,0x4,0x4
	.word	0x4,0x4,0x4,0x4
	.word	0x4,0x4,0x4,0x4
	.word	0x4,0x4,0x4,0x4
	.word	0x4,0x4,0x4,0x4
	.word	0x4,0x4,0x4,0x4
	.word	0x5,0x5,0x5,0x5
	.word	0x5,0x5,0x5,0x5
	.word	0x5,0x5,0x5,0x5
	.word	0x5,0x5,0x5,0x5
	.word	0x5,0x5,0x5,0x5
	.word	0x5,0x5,0x5,0x5
	.word	0x5,0x5,0x5,0x5
	.word	0x5,0x5,0x5,0x6
	.word	0x6,0x6,0x6,0x6
	.word	0x6,0x6,0x6,0x6
	.word	0x6,0x6,0x6,0x6
	.word	0x6,0x6,0x6,0x6
	.word	0x6,0x6,0x6,0x6
	.word	0x6,0x6,0x6,0x6
	.word	0x6,0x6,0x6,0x6
	.word	0x6,0x7,0x7,0x7
	.word	0x7,0x7,0x7,0x7
	.word	0x7,0x7,0x7,0x7
	.word	0x7,0x7,0x7,0x7
	.word	0x7,0x7,0x7,0x7
	.word	0x7,0x7,0x7,0x7
	.word	0x7,0x7,0x7,0x7
	.word	0x7,0x7,0x7,0x7
	.word	0x8,0x8,0x8,0x8
	.word	0x8,0x8,0x8,0x8
	.word	0x8,0x8,0x8,0x8
	.word	0x8,0x8,0x8,0x8
	.word	0x8,0x8,0x8,0x8
	.word	0x8,0x8,0x8,0x8
	.word	0x8,0x8,0x8,0x8
	.word	0x8,0x8,0x8,0x9
	.word	0x9,0x9,0x9,0x9
	.word	0x9,0x9,0x9,0x9
	.word	0x9,0x9,0x9,0x9
	.word	0x9,0x9,0x9,0x9
	.word	0x9,0x9,0x9,0x9
	.word	0x9,0x9,0x9,0x9
	.word	0x9,0x9,0x9,0x9
	.word	0x9,0xa,0xa,0xa
	.word	0xa,0xa,0xa,0xa
	.word	0xa,0xa,0xa,0xa
	.word	0xa,0xa,0xa,0xa
	.word	0xa,0xa,0xa,0xa
	.word	0xa,0xa,0xa,0xa
	.word	0xa,0xa,0xa,0xa
	.word	0xa,0xa,0xa,0xa
	.word	0xb,0xb,0xb,0xb
	.word	0xb,0xb,0xb,0xb
	.word	0xb,0xb,0xb,0xb
	.word	0xb,0xb,0xb,0xb
	.word	0xb,0xb,0xb,0xb
	.word	0xb,0xb,0xb,0xb
	.word	0xb,0xb,0xb,0xb
	.word	0xb,0xb,0xc,0xc
	.word	0xc,0xc,0xc,0xc
	.word	0xc,0xc,0xc,0xc
	.word	0xc,0xc,0xc,0xc
	.word	0xc,0xc,0xc,0xc
	.word	0xc,0xc,0xc,0xc
	.word	0xc,0xc,0xc,0xc
	.word	0xc,0xc,0xc,0xc
	.word	0xc
	.type	GPB.date.mnum,#object
	.size	GPB.date.mnum,1460
	.align	4
GPB.date.mname:
	.word	0x4a414e20,0x46454220,0x4d415220,0x41505220
	.word	0x4d415920,0x4a554e20,0x4a554c20,0x41554720
	.word	0x53455020,0x4f435420,0x4e4f5620,0x44454320
	.word	0x45525220
	.type	GPB.date.mname,#object
	.size	GPB.date.mname,52

	.section	".bss",#alloc,#write
	.align	8
GPB.date.leap:
	.skip	4
	.type	GPB.date.leap,#object
	.size	GPB.date.leap,4

	.file	"date.f"
	.xstabs	".stab.index","V=3.1;R=3.0",60,0,0,842629687
	.xstabs	".stab.index","/amd/plas5/h1/vgr/src/imp;/opt/SUNWspro/bin/../SC4.0/bin/f77 -sbfast   date.f",52,0,0,0
	.xstabs	".stab.sbfocus","date.f.0yPCFN.bd",72,0,0,0
