0001                       * "j.i" @(#)Gould/ISC Non-Base C Compiler - Sun Mar 25 17:54:38 MST 1990
0002                       *	
0003                       	program	j
0004                       	list	mac,nong,nodata
0005                       *
0006 Text 000000 0000 0000 r0	equ	0
0007 Text 000000 0000 0001 r1	equ	1
0008 Text 000000 0000 0002 r2	equ	2
0009 Text 000000 0000 0003 r3	equ	3
0010 Text 000000 0000 0004 r4	equ	4
0011 Text 000000 0000 0005 r5	equ	5
0012 Text 000000 0000 0006 r6	equ	6
0013 Text 000000 0000 0007 r7	equ	7
0014                       *
0015 Text 000000 0000 0003 sp	equ	3
0016                       *
0017 Text 000000           	csect
0018 Text 000000 2243 223a 	dataw	x'2243223a'
0019                       * static double a = -1.5;
0020 Data 000000           	dsect
0021 Data 000000           	bound	8
0022 Data 000000 0000 0000 _a equ  $
0023 Data 000000 	datad	x'00000000bff80000'
0024                       * static double b = -0.2;
0025 Data 000008           	bound	8
0026 Data 000008 0000 0008 _b equ  $
0027 Data 000008 	datad	x'9999999abfc99999'
0028                       * static double b1 = -2.0e-1;
0029 Data 000010           	bound	8
0030 Data 000010 0000 0010 _b1 equ  $
0031 Data 000010 	datad	x'9999999abfc99999'
0032                       * static double c = 0.2;
0033 Data 000018           	bound	8
0034 Data 000018 0000 0018 _c equ  $
0035 Data 000018 	datad	x'9999999a3fc99999'
0036                       * static double p1[] = {
0037 Data 00001c           	dsect
0038 Data 000020           	bound	8
0039 Data 000020 0000 0020 _p1 equ  $
0040                       * -1.5,
0041 Data 000020 	datad	x'00000000bff80000'
0042                       * 1.5,
0043 Data 000028 	datad	x'000000003ff80000'
0044                       * };
0045                       * main()
0046                       * {
0047 Text 000004           	csect
0048 Text 000004           	bound	1w
0049                       	def	_main
0050 Text 000004 0000 0004 _main equ  $
0051 Text 000004 2cb0      	trr	sp,r1
0052 Text 000006      0002 
0052 Text 000008 bd80 0032 	sumw	sp,SLA1
0053 Text 00000c d460 0008 	std	r0,2w,sp
0054 Text 000010 de60 0010 	stf	r4,4w,sp
0055                       * double d;
0056                       * d /= d;
0057                       *	line 12, file j.i
0058 Text 000014 ac60 0020 	ld	r0,8w+LOC1,sp
0059 Text 000018 e460 0020 	dvfd	r0,8w+LOC1,sp
0060 Text 00001c d460 0020 	std	r0,8w+LOC1,sp
0061                       * d /= 14.;
0062                       *	line 13, file j.i
0063 Text 000020 ac60 0020 	ld	r0,8w+LOC1,sp
0064 Text 000024 e400 0030 	dvfd	r0,L18
0065 Text 000028 d460 0020 	std	r0,8w+LOC1,sp
0066                       * }
0067 Text 00002c 0000 002c L17	equ	$
0068 Text 00002c cd60 0008 	lf	r2,2w,sp
0069 Text 000030 2900      	trsw	r2
0070 Data 00002c           	dsect
0071 Data 000030 L18	datad	x'00000000402c0000'
0072 Text 000032           	csect
0073 Text 000032 0000 0000 CALL1	equ	0w
0074 Text 000032 0000 0000 LOC1	equ	0w
0075 Text 000032 0000 0008 L_TMP1	equ	2w
0076 Text 000032 0000 0040 LA1	equ	16w
0077 Text 000034 0000 0040 SLA1	dataw	LA1
0078 Data 000034           	dsect
0079                       * double
0080                       * modf(value, iptr)
0081                       * double value;
0082                       * register double *iptr;
0083                       * {
0084 Text 000038           	csect
0085 Text 000038           	bound	1w
0086                       	def	_modf
0087 Text 000038 0000 0038 _modf equ  $
0088 Text 000038 2cb0      	trr	sp,r1
0089 Text 00003a      0002 
0089 Text 00003c bd80 0096 	sumw	sp,SLA2
0090 Text 000040 d460 0008 	std	r0,2w,sp
0091 Text 000044 de60 0010 	stf	r4,4w,sp
0092 Text 000048 afe0 0068 	lw	r7,10w+LA2,sp
0093                       * 	register double absvalue;
0094                       * *iptr -= ((double)(1L << (8 * (int)sizeof(long)) - 2) * (1L << ((8 * (int)sizeo
0095                       * f(double)) - 11 + 1 - 1) - (8 * (int)sizeof(long)) + 1));
0096                       *	line 22, file j.i
0097 Text 00004c 2d70      	trr	r7,r2
0098 Text 00004e      0002 
0098 Text 000050 ac40 0000 	ld	r0,0,r2
0099 Text 000054 e000 0038 	sufd	r0,L21
0100 Text 000058 d440 0000 	std	r0,0,r2
0101                       * 		while (*iptr > absvalue)
0102 Text 00005c 0000 005c L22	equ	$
0103                       *	line 23, file j.i
0104 Text 00005c 2d70      	trr	r7,r2
0105 Text 00005e      0002 
0105 Text 000060 ac40 0000 	ld	r0,0,r2
0106 Text 000064 9060 0020 	camd	r0,8w+LOC2,sp
0107 Text 000068 ef00 0080 	ble	L23
0108                       * 			*iptr -= 1.0;
0109                       *	line 24, file j.i
0110 Text 00006c 2d70      	trr	r7,r2
0111 Text 00006e      0002 
0111 Text 000070 ac40 0000 	ld	r0,0,r2
0112 Text 000074 e000 0040 	sufd	r0,L24
0113 Text 000078 d440 0000 	std	r0,0,r2
0114 Text 00007c ec00 005c 	bu 	L22
0115 Text 000080 0000 0080 L23	equ	$
0116                       * 	return (value - *iptr);
0117                       *	line 25, file j.i
0118 Text 000080 ac60 0060 	ld	r0,8w+LA2,sp
0119 Text 000084 2d70      	trr	r7,r2
0120 Text 000086      0002 
0120 Text 000088 e040 0000 	sufd	r0,0,r2
0121 Text 00008c ec00 0090 	bu	L20
0122                       * }
0123 Text 000090 0000 0090 L20	equ	$
0124 Text 000090 cd60 0008 	lf	r2,2w,sp
0125 Text 000094 2900      	trsw	r2
0126 Data 000034           	dsect
0127 Data 000038 L21	datad	x'0000000043300000'
0128 Data 000040 L24	datad	x'000000003ff00000'
0129 Text 000096           	csect
0130 Text 000096 0000 0000 CALL2	equ	0w
0131 Text 000096 0000 0000 LOC2	equ	0w
0132 Text 000096 0000 0008 L_TMP2	equ	2w
0133 Text 000096 0000 0040 LA2	equ	16w
0134 Text 000098 0000 0040 SLA2	dataw	LA2
0135 Data 000044           	dsect
0136 Text 00009c           	csect
0137 Text 00009c           	csect
0138 Text 00009c 	end

Symbol                Value       Flags    Symnum   Alignment
    r0                0x00000000  000005     0         0
    r1                0x00000001  000005     1         0
    r2                0x00000002  000005     2         0
    r3                0x00000003  000005     3         0
    r4                0x00000004  000005     4         0
    r5                0x00000005  000005     5         0
    r6                0x00000006  000005     6         0
    r7                0x00000007  000005     7         0
    sp                0x00000003  000005     8         0
    _a                0x00000000  000005     9         0
    _b                0x00000008  000005    10         0
    _b1               0x00000010  000005    11         0
    _c                0x00000018  000005    12         0
    _p1               0x00000020  000005    13         0
    _main             0x00000004  000005    14         0
    L17               0x0000002c  000005    15         0
    L18               0x00000030  000002    16         0
    CALL1             0x00000000  000005    17         0
    LOC1              0x00000000  000005    18         0
    L_TMP1            0x00000008  000005    19         0
    LA1               0x00000040  000005    20         0
    SLA1              0x00000032  000001    21         0
    _modf             0x00000038  000005    22         0
    L22               0x0000005c  000005    23         0
    L23               0x00000080  000005    24         0
    L20               0x00000090  000005    25         0
    L21               0x00000038  000002    26         0
    L24               0x00000040  000002    27         0
    CALL2             0x00000000  000005    28         0
    LOC2              0x00000000  000005    29         0
    L_TMP2            0x00000008  000005    30         0
    LA2               0x00000040  000005    31         0
    SLA2              0x00000096  000001    32         0
