FORTRAN-86 COMPILER 03/01/95 12:08:18 PAGE 1 SRTEST.FTN DOS 5.0 (046-N) FORTRAN-86 COMPILER X420 COMPILER INVOKED BY: D:\F86\FORT86.EXE SRTEST.FTN CO XR PW(80) PL(63) MOD387 S R(I4) IE 1 c SRTEST.FTN: A Fortran program to test any SRT divider's logic 2 c for quotient-digit selection, usually in a PLA, 3 c regardless of most internal details of the divider. 4 c This version runs under MS-DOS on Intel-compatible floating-point. 5 c My compiler provides no access to the DOS command tail, so input 6 c parameters come from four integers in four-line file SRTEST.DTA : 7 c 0 < n < 17 , 0 < Lx < 17 , ix < 17 , and odd dvd > 0 . 8 c 9 c ... Parameter n says how many leading bits of divisors 1.xxxxx... 10 c : enter into SRT quotient-selection: -> n <- 11 c : Over-estimating n will slow SRTEST exponentially. 12 c : ======> Under-estimating n will Invalidate SRTEST . <======== 13 c : ~~~~~~~~~~ 14 c : Parameter Lx = Log2(Radix) > 0 , so Radix = 2**Lx > 1 . 15 c : Over-estimating Lx slows SRTEST proportionately. 16 c : Under-estimating Lx may speed SRTEST up a bit or slow 17 c : it drastically. If unknown, try Lx = 1 first. 18 c : 19 c : Parameter ix increments and decrements dividends by 2**ix . 20 c : It is still subject to experimental investigation. If on 21 c : input ix < 0 it defaults to ix = Lx - 1 ; else try 0. 22 c : 23 c : For Intel's Pentium, n = 5 , Lx = 2 , ix = 1 . 24 c : 25 c : Parameter dvd should start at 1 but may be set to any bigger 26 c :.. odd integer to resume SRTESTing aborted by Ctrl-Break. 27 c 28 c ... Every variable has a declared type: 29 IMPLICIT NONE 30 CHARACTER*48 aargh 31 DATA aargh / ' TO ABORT THIS TEST, PRESS [Ctrl][Break] .' / 32 c 33 c ... The next few declarations are determined by the format of the 34 c : machine's floating-point arithmetic. Intel's is five 2-byte 35 c : words wide, with sign bit and biased exponent in the first word, 36 c : and with an explicit leading 1 in its 2*m = 64 sig. bits. 37 c : Later the program will set tm = 2.0**m and tmn = tm/2.0**n in 38 c : a way invulnerable to the compiler's whimsies. The EQUIVALENCEd 39 c :.. variables iq(...), qe, qh, dq, sq are used for bit-twiddling: 40 INTEGER*2 m, iq(5) 41 PARAMETER ( m = 32 ) 42 REAL*10 qe, qh, tm, tmn 43 REAL*8 dq 44 REAL*4 sq 45 EQUIVALENCE ( dq, iq, qe, qh, sq ) 46 c --- <- qh's exp.-><--- qh's sig. bits ---> Little-Endian. 47 c --- <-- sq --> To be set to +0.0 . 48 c --- <------ dq ------> To be set to -0.0 . 49 c --- <- qe's exp.-><1000 ... ... 000> To expose exponent. 50 c --- <- iq(5) ->< iq(4),iq(3),iq(2),iq(1) > To adjust exponent. 51 c 52 c ... Glossary: 53 c : count = count of divisions tested so far. 54 c : dvd = unperturbed small odd integer dividend; 0 < dvd < dvdend. 55 c : dvdend = 2.0**(m - 1 - ix) FORTRAN-86 COMPILER 03/01/95 12:08:18 PAGE 2 SRTEST.FTN @MAIN 56 c : dvdn0 = normalized dvd , an m-bit integer. 57 c : dvdn = dvdn0 + idn , an actual dividend. 58 c : dvdx = dvdn at worst failure found so far. 59 c : dvr0 runs through i2n1 + 1 singular divisors. 60 c : dvr = dvr0 + s(k) is a perturbed singular divisor. 61 c : dvrx = dvr at worst failure found so far. 62 c : i2n1 = 2**(n-1) 63 c : icw = integer to set Intel's Floating-Point Control Word. 64 c : iem1 = biased exponent of +2.0**(m-1) 65 c : k = index that runs from k0 to kl ; 66 c : k0 = -Lx typically; kl = Lx typically. 67 c : kount = count of failed divisions so far. 68 c : kountx = kount at worst failure found so far. 69 c : L counts down to print every L0-th value dvd . 70 c : quo = quotient under test = qh + qt when split in halves. 71 c : quox = quo at worst failure found so far. 72 c : r = remainder dvdn - quo*dvr exactly. 73 c : rx = r at worst failure found so far. 74 c : s(...) = divisor perturbations {..., -2, -1, 0, 1, 2, 4, ...} . 75 c : sd = 2.0**ix 76 c : sdn = -sd, 0, sd to perturb dividends dvdn = dvdn0 + sdn . 77 c : tm = 2.0**m ; tmn = 2.0**(n-m) . 78 c : zer0m = -0.0 D0 . 79 c :.. 80 c 81 INTEGER*2 icw, iem1, i2n1, ix, j, k, k0, kl 82 INTEGER*2 L, L0, Lx, m2, n 83 INTEGER*4 kount, kountx, i2 84 PARAMETER ( i2 = 2, L0 = 500, m2 = m*2 ) 85 REAL*10 count 86 REAL*10 dvd, dvdend, dvdn, dvdn0, dvdx, dvr, dvr0, dvrx 87 REAL*10 quo, quox, qt, r, rx 88 REAL*8 zer0m 89 REAL*4 s(-16 : 16), sd, sdn 90 c 91 c < < < < < < < < < < < for DEBUGGING < < < < < < < < < < < < < < < < 92 LOGICAL*2 L1, L2, L3 93 DATA L1, L2, L3 / .FALSE., .FALSE., .FALSE. / 94 c > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > 95 c 96 c ... Initializations: 97 DATA count, kount, kountx, rx / 0.0, 0, 0, 0.0 / 98 DATA dvdx, L, sq / 1.0, 1, 1.0 / 99 c 100 OPEN( *, CARRIAGE='FORTRAN' ) 101 OPEN( UNIT=3, FILE='SRTFAILU.RES' ) 102 OPEN( UNIT=4, FILE='SRTEST.DTA' ) 103 READ (4,*) n 104 IF ( (n .LE. 0) .OR. (n .GE. 17) ) THEN 105 PRINT *, ' SRTEST requires 0 < n < 17 , not', n 106 STOP 107 END IF 108 READ (4,*) Lx 109 IF ( (Lx .LE. 0) .OR. (Lx .GE. 17) ) THEN 110 PRINT *, ' SRTEST needs 0 < Lx < 17 , not', Lx 111 STOP 112 END IF 113 READ (4,*) ix 114 IF ( ix .LT. 0 ) ix = Lx-1 115 IF ( ix .GE. 17 ) THEN FORTRAN-86 COMPILER 03/01/95 12:08:18 PAGE 3 SRTEST.FTN @MAIN 116 PRINT *, ' SRTEST requires ix < 17 , not', ix 117 STOP 118 END IF 119 sd = i2**ix 120 READ (4,*) dvd 121 dvd = RINT( ABS(dvd) ) 122 IF ( RINT(0.5*dvd)*2.0 .EQ. dvd ) THEN 123 PRINT *, ' SRTEST needs an odd integer dvd , not', dvd 124 STOP 125 END IF 126 CLOSE( UNIT=4 ) 127 WRITE(3,*) ' SRTEST: with n =', n, ', Lx =', Lx 128 WRITE(3,*) ' and with ix =', ix, ' , has these failures:' 129 WRITE(3,*) ' (#, Dividend, Divisor, Quotient, Remainder, Count)' 130 c ... This CLOSE and subsequent OPEN etc. flush the disk buffer: 131 CLOSE( UNIT=3 ) 132 PRINT *, ' Program running now is SRTEST, a test of Intel''s' 133 PRINT *, ' Rounded Floating-Point Division upon integers chosen' 134 PRINT *, ' to explore ANY SRT-divider''s quotient-selection' 135 PRINT 1, n 136 1 FORMAT( ' logic assuming that it samples only the first ', I5 ) 137 PRINT *, ' sig. bits of a divisor, and assuming that all other' 138 PRINT *, ' floating-point operations and conversions are O. K.' 139 PRINT *, ' A guess at the divider''s Radix =', i2**Lx 140 PRINT *, ' The dividend increment sd =', sd 141 PRINT *, aargh 142 PRINT * 143 PRINT * 144 c ... Set Floating-Point Control-Word to default round-to-nearest 64 : 145 icw = #033Dh 146 c < < < < < DEBUGGING TEST for FAILURE by rounding to 53 < < < < < < 147 IF (L1) icw = #023Dh 148 c > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > 149 CALL LDCW87( icw ) 150 c 151 c ... Initialize array s(...) of divisor perturbations: 152 c s(...) = {-Radix/2, ..., -2, -1, 0, 1, 2, 4, ..., Radix/2 }. 153 s(0) = 0.0 154 DO 100, k = 1, 16 155 s(k) = sq 156 s(-k) = -sq 157 sq = sq+sq 158 100 END DO 159 i2n1 = s(n) 160 c 161 c ... Create tm = 2.0**m to help produce divisors with at most m 162 c nonzero leading bits and to split quotients with 2*m explicit 163 c sig. bits into two m-bit numbers; also tmn = 2.0**(m-n) : 164 qh = dvdx 165 iq(5) = iq(5) + m 166 tm = qh 167 iem1 = iq(5) - 1 168 iq(5) = iq(5) - n 169 tmn = qh 170 iq(5) = iem1 - ix 171 dvdend = qh 172 c ... Create zer0m = -0.0 D0 despite the compiler : 173 zer0m = dq 174 c < < < < < < < < < < < for DEBUGGING < < < < < < < < < < < < < < < < 175 IF (L2) THEN FORTRAN-86 COMPILER 03/01/95 12:08:18 PAGE 4 SRTEST.FTN @MAIN 176 PRINT *, ' i2n1 = ', i2n1 177 PRINT *, ' tm = ', tm 178 PRINT *, ' tmn = ', tmn 179 PRINT *, ' zer0m = ', zer0m 180 PRINT *, ' dvd = ', dvd 181 PRINT *, ' dvdend = ', dvdend 182 dvdend = 2 183 PRINT *, ' dvdend = ', dvdend 184 PRINT *, s 185 PRINT * 186 END IF 187 c > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > 188 OPEN( UNIT=3, FILE='SRTFAILU.RES' ) 189 REWIND(3) 190 DO 200, k = 1, 3 191 READ(3,*) 192 200 END DO 193 c ... Ends DO-loop with UNIT 3 positioned just before file's end. 194 c 195 DO 600 WHILE ( dvd .LT. dvdend ) 196 c ... Dividend dvd = 1.0, 3.0, 5.0, 7.0, 9.0, ..., dvdend - 1 : 197 L = L-1 198 IF ( L .EQ. 0 ) THEN 199 PRINT 2, dvd 200 c ... This line overwrites itself continually: 201 2 FORMAT( '+ Currently testing at dvd >', F20.1 ) 202 L = L0 203 END IF 204 c ... Normalize dividend dvd to an m-bit integer dvdn0 : 205 qh = dvd 206 iq(5) = iem1 207 dvdn0 = qh 208 k0 = 0 209 kl = Lx 210 DO 500, j = i2n1, 0, -1 211 c ... Run dvr0 through singular divisors: 212 dvr0 = tm - j*tmn 213 IF ( j .EQ. 0 ) kl = -1 214 DO 400, sdn = -sd, sd, sd 215 c For each of three perturbed dividends dvdn = ... : 216 dvdn = dvdn0 + sdn 217 DO 300, k = k0, kl 218 c ... Run dvr through (typically) 2*Lx+1 perturbations: 219 dvr = dvr0 + s(k) 220 c ... #### Here is the division operation to be tested: #### 221 quo = dvdn/dvr 222 count = count + 1.0 223 qh = quo 224 c ... Split quo into half-precision qh + qt : 225 sq = 0.0 226 qt = quo - qh 227 c ... Remainder r = dvdn - dvr*quo EXACTLY : 228 r = ( dvdn - dvr*qh ) - dvr*qt 229 c < < < < < < < < < < for DEBUGGING < < < < < < < < < < < < < < < < < 230 IF (L3) THEN 231 PRINT *, ' count = ', count, ' dvd = ', dvd 232 PRINT 3, 'dvdn = ', dvdn, dvdn 233 3 FORMAT( 1X, A7, G25.15, '= ', Z20 ) 234 PRINT 3, 'dvr = ', dvr, dvr 235 PRINT *, ' quo = ', quo, ' r = ', r FORTRAN-86 COMPILER 03/01/95 12:08:18 PAGE 5 SRTEST.FTN @MAIN 236 END IF 237 c > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > 238 c ... Expose and decrease exponent of quo by 2*m 239 dq = zer0m 240 iq(5) = iq(5) - m2 241 c ... Test remainder against rounding error bound: 242 IF ( ABS(r) .GE. qe*dvr ) THEN 243 c ... Test has failed: 244 kount = kount + 1 245 PRINT * 246 PRINT *, ' Division Test has FAILED for the' 247 PRINT *, ' #', kount, 'th time after', count 248 PRINT *, ' divisions at dvd =', dvd, ', and ...' 249 PRINT 4, 'Dividend ', dvdn, dvdn 250 4 FORMAT( 5X, A9, ' = ', F20.1, ' = ', Z20 ) 251 PRINT 4, 'Divisor ', dvr, dvr 252 PRINT 5, 'Remainder', r 253 5 FORMAT( 5X, A9, ' = ', 1PE26.17 ) 254 PRINT 5, 'Quotient ', quo 255 WRITE(3,6) kount, dvdn, dvr, quo, r, count 256 6 FORMAT( 1X, I8, 2F13.0, F22.17, 1PE22.12, 0PF15.0 ) 257 IF ( ABS(r*dvdx) .GT. ABS(rx*dvdn) ) THEN 258 rx = r 259 dvdx = dvdn 260 dvrx = dvr 261 quox = quo 262 kountx = kount 263 END IF 264 PRINT *, ' Relatively worst remainder so far is #', kountx 265 PRINT 5, 'Remainder', rx 266 PRINT 4, 'Dividend ', dvdx, dvdx 267 PRINT 4, 'Divisor ', dvrx, dvrx 268 PRINT 5, 'Quotient ', quox 269 PRINT *, aargh 270 PRINT * 271 PRINT * 272 END IF 273 300 END DO 274 c ... Ends DO-loop on k from k0 to kl . 275 400 END DO 276 c ... Ends DO-loop on sdn = -sd to +sd . 277 k0 = -Lx 278 500 END DO 279 c ... Ends DO-loop on j = i2n1 to 0 . 280 dvd = dvd + 2.0 281 600 END DO 282 c ... Ends WHILE-loop on dvd < dvdend . 283 PRINT *, count, ' divisions have been tested;' 284 IF ( kount .EQ. 0 ) THEN 285 PRINT *, ' all PASSED the test.' 286 ELSE 287 PRINT *, kount, ' divisions FAILED the test;' 288 END IF 289 PRINT *, ' Copyright (C) W. Kahan, 1 March 1995' 290 CLOSE( UNIT=3 ) 291 END FORTRAN-86 COMPILER 03/01/95 12:08:18 PAGE 6 SRTEST.FTN @MAIN 292 FORTRAN-86 COMPILER PROGRAM CROSS-REFERENCE 03/01/95 12:08:18 PAGE 7 SRTEST.FTN @MAIN DEFN NAME ADDRESS DATA TYPE ATTRIBUTES ---- ---- ------- --------- ---------- 29 @MAIN . . . . . . . . . . . . . PROGRAM UNIT NAME 29 30 AARGH . . . . . . . . . . . . . 162H D CHARACTER*48 VARIABLE, INITIALIZE -D 30 31 141 269 ABS . . . . . . . . . . . . . . REAL*4 FUNCTION, GENERIC, I -NTRINSIC 121 242 257 257 85 COUNT . . . . . . . . . . . . . CCH D TEMPREAL VARIABLE, INITIALIZE -D 85 97 222 222 231 247 255 283 43 DQ. . . . . . . . . . . . . . . 126H D REAL*8 VARIABLE, EQUIVALENC -ED 43 45 173 239 86 DVD . . . . . . . . . . . . . . 11CH D TEMPREAL VARIABLE 86 120 121 121 122 122 123 180 195 199 205 231 248 280 280 86 DVDEND. . . . . . . . . . . . . EAH D TEMPREAL VARIABLE 86 171 181 182 183 195 86 DVDN. . . . . . . . . . . . . . 14EH D TEMPREAL VARIABLE 86 216 221 228 232 232 249 249 255 257 259 86 DVDN0 . . . . . . . . . . . . . 144H D TEMPREAL VARIABLE 86 207 216 86 DVDX. . . . . . . . . . . . . . 13AH D TEMPREAL VARIABLE, INITIALIZE -D 86 98 164 257 259 266 266 86 DVR . . . . . . . . . . . . . . 112H D TEMPREAL VARIABLE 86 219 221 228 228 234 234 242 251 251 255 260 86 DVR0. . . . . . . . . . . . . . 108H D TEMPREAL VARIABLE 86 212 219 86 DVRX. . . . . . . . . . . . . . B8H D TEMPREAL VARIABLE 86 260 267 267 83 I2. . . . . . . . . . . . . . . INTEGER*4 SYMBOLIC CONSTANT 83 84 119 139 81 I2N1. . . . . . . . . . . . . . A8H D INTEGER*2 VARIABLE 81 159 176 210 81 ICW . . . . . . . . . . . . . . AAH D INTEGER*2 VARIABLE 81 145 147 149 81 IEM1. . . . . . . . . . . . . . AEH D INTEGER*2 VARIABLE 81 167 170 206 40 IQ. . . . . . . . . . . . . . . 126H D INTEGER*2 VARIABLE, DIMENSIONE -D, EQUIVALENCED 40 45 165 165 167 168 168 170 206 240 240 81 IX. . . . . . . . . . . . . . . A2H D INTEGER*2 VARIABLE 81 113 114 114 115 116 119 128 170 81 J . . . . . . . . . . . . . . . B2H D INTEGER*2 VARIABLE 81 210 212 213 81 K . . . . . . . . . . . . . . . A0H D INTEGER*2 VARIABLE 81 154 FORTRAN-86 COMPILER PROGRAM CROSS-REFERENCE 03/01/95 12:08:18 PAGE 8 SRTEST.FTN @MAIN 155 156 190 217 219 81 K0. . . . . . . . . . . . . . . ACH D INTEGER*2 VARIABLE 81 208 217 277 81 KL. . . . . . . . . . . . . . . 9CH D INTEGER*2 VARIABLE 81 209 213 217 83 KOUNT . . . . . . . . . . . . . 10H D INTEGER*4 VARIABLE, INITIALIZE -D 83 97 244 244 247 255 262 284 287 83 KOUNTX. . . . . . . . . . . . . CH D INTEGER*4 VARIABLE, INITIALIZE -D 83 97 262 264 82 L . . . . . . . . . . . . . . . 9EH D INTEGER*2 VARIABLE, INITIALIZE -D 82 98 197 197 198 202 82 L0. . . . . . . . . . . . . . . INTEGER*2 SYMBOLIC CONSTANT 82 84 202 92 L1. . . . . . . . . . . . . . . B4H D LOGICAL*2 VARIABLE, INITIALIZE -D 92 93 147 92 L2. . . . . . . . . . . . . . . B6H D LOGICAL*2 VARIABLE, INITIALIZE -D 92 93 175 92 L3. . . . . . . . . . . . . . . B0H D LOGICAL*2 VARIABLE, INITIALIZE -D 92 93 230 LDCW87. . . . . . . . . . . . . SUBROUTINE, INTRINSI -C 149 82 LX. . . . . . . . . . . . . . . A6H D INTEGER*2 VARIABLE 82 108 109 109 110 114 127 139 209 277 40 M . . . . . . . . . . . . . . . INTEGER*2 SYMBOLIC CONSTANT 40 41 84 165 82 M2. . . . . . . . . . . . . . . INTEGER*2 SYMBOLIC CONSTANT 82 84 240 82 N . . . . . . . . . . . . . . . A4H D INTEGER*2 VARIABLE 82 103 104 104 105 127 135 159 168 42 QE. . . . . . . . . . . . . . . 126H D TEMPREAL VARIABLE, EQUIVALENC -ED 42 45 242 42 QH. . . . . . . . . . . . . . . 126H D TEMPREAL VARIABLE, EQUIVALENC -ED 42 45 164 166 169 171 205 207 223 226 228 87 QT. . . . . . . . . . . . . . . D6H D TEMPREAL VARIABLE 87 226 228 87 QUO . . . . . . . . . . . . . . FEH D TEMPREAL VARIABLE 87 221 223 226 235 254 255 261 87 QUOX. . . . . . . . . . . . . . 130H D TEMPREAL VARIABLE 87 261 268 87 R . . . . . . . . . . . . . . . 158H D TEMPREAL VARIABLE 87 228 235 242 252 255 257 258 RINT. . . . . . . . . . . . . . REAL*4 FUNCTION, GENERIC, I -NTRINSIC 121 122 87 RX. . . . . . . . . . . . . . . C2H D TEMPREAL VARIABLE, INITIALIZE -D 87 97 257 258 265 89 S . . . . . . . . . . . . . . . 18H D REAL*4 VARIABLE, DIMENSIONE -D 89 153 155 156 159 184 219 FORTRAN-86 COMPILER PROGRAM CROSS-REFERENCE 03/01/95 12:08:18 PAGE 9 SRTEST.FTN @MAIN 89 SD. . . . . . . . . . . . . . . 8H D REAL*4 VARIABLE 89 119 140 214 214 214 89 SDN . . . . . . . . . . . . . . 14H D REAL*4 VARIABLE 89 214 216 44 SQ. . . . . . . . . . . . . . . 126H D REAL*4 VARIABLE, INITIALIZE -D, EQUIVALENCED 44 45 98 155 156 157 157 157 225 42 TM. . . . . . . . . . . . . . . E0H D TEMPREAL VARIABLE 42 166 177 212 42 TMN . . . . . . . . . . . . . . F4H D TEMPREAL VARIABLE 42 169 178 212 88 ZER0M . . . . . . . . . . . . . 0H D REAL*8 VARIABLE 88 173 179 239 FORTRAN-86 COMPILER GENERATED CODE 03/01/95 12:08:18 PAGE 10 SRTEST.FTN @MAIN ; STATEMENT # 1 000004A4 8BEC MOV BP,SP 000004A6 81EC1000 SUB SP,10H 000004AA 9A00000000 CALL INITFP 000004AF 9A00000000 CALL TQ_001 000004B4 FB STI ; STATEMENT # 100 000004B5 680600 PUSH 6H 000004B8 B80000 MOV AX,0H 000004BB 8EC0 MOV ES,AX 000004BD 06 PUSH ES ; 2 000004BE 50 PUSH AX ; 3 000004BF 06 PUSH ES ; 4 000004C0 50 PUSH AX ; 5 000004C1 06 PUSH ES ; 6 000004C2 50 PUSH AX ; 7 000004C3 50 PUSH AX ; 8 000004C4 50 PUSH AX ; 9 000004C5 B82010 MOV AX,1020H 000004C8 9A00000000 CALL FQ_010 ; STATEMENT # 101 000004CD 680300 PUSH 3H 000004D0 B80000 MOV AX,0H 000004D3 8EC0 MOV ES,AX 000004D5 06 PUSH ES ; 2 000004D6 50 PUSH AX ; 3 000004D7 06 PUSH ES ; 4 000004D8 50 PUSH AX ; 5 000004D9 0E PUSH CS ; 6 000004DA 68A800 PUSH OFFSET @CONST+0A8H; 7 000004DD 680C00 PUSH 0CH 000004E0 50 PUSH AX ; 9 000004E1 9A00000000 CALL FQ_010 ; STATEMENT # 102 000004E6 680400 PUSH 4H 000004E9 B80000 MOV AX,0H 000004EC 8EC0 MOV ES,AX 000004EE 06 PUSH ES ; 2 000004EF 50 PUSH AX ; 3 000004F0 06 PUSH ES ; 4 000004F1 50 PUSH AX ; 5 000004F2 0E PUSH CS ; 6 000004F3 68B400 PUSH OFFSET @CONST+0B4H; 7 000004F6 680A00 PUSH 0AH 000004F9 50 PUSH AX ; 9 000004FA 9A00000000 CALL FQ_010 ; STATEMENT # 103 000004FF B004 MOV AL,4H 00000501 9A00000000 CALL FQ_120 00000506 9A00000000 CALL FQ_410 0000050B 1E PUSH DS ; 1 0000050C 07 POP ES ; 1 0000050D 8D36A400 LEA SI,N 00000511 7203 JC $+5H 00000513 268904 MOV ES:[SI],AX 00000516 9A00000000 CALL FQ_902 ; STATEMENT # 104 0000051B 8B06A400 MOV AX,N 0000051F 09C0 OR AX,AX 00000521 7F03 JG $+5H FORTRAN-86 COMPILER GENERATED CODE 03/01/95 12:08:18 PAGE 11 SRTEST.FTN @MAIN 00000523 E90C00 JMP @@000001 @@000002: 00000526 81F81100 CMP AX,11H 0000052A 7C03 JL $+5H 0000052C E90300 JMP @@000001 @@000003: 0000052F E92F00 JMP @@000000 @@000001: ; STATEMENT # 105 00000532 B006 MOV AL,6H 00000534 9A00000000 CALL FQ_121 00000539 0E PUSH CS ; 1 0000053A 07 POP ES ; 1 0000053B 8D1EBE00 LEA BX,@CONST+0BEH 0000053F B82500 MOV AX,25H 00000542 9A00000000 CALL FQ_401 00000547 8B06A400 MOV AX,N 0000054B 9A00000000 CALL FQ_411 00000550 9A00000000 CALL FQ_902 ; STATEMENT # 106 00000555 BE0000 MOV SI,0H 00000558 89F0 MOV AX,SI 0000055A 8EC0 MOV ES,AX 0000055C 9A00000000 CALL FQ_911 ; STATEMENT # 107 @@000000: ; STATEMENT # 108 00000561 B004 MOV AL,4H 00000563 9A00000000 CALL FQ_120 00000568 9A00000000 CALL FQ_410 0000056D 1E PUSH DS ; 1 0000056E 07 POP ES ; 1 0000056F 8D36A600 LEA SI,LX 00000573 7203 JC $+5H 00000575 268904 MOV ES:[SI],AX 00000578 9A00000000 CALL FQ_902 ; STATEMENT # 109 0000057D 8B06A600 MOV AX,LX 00000581 09C0 OR AX,AX 00000583 7F03 JG $+5H 00000585 E90C00 JMP @@000005 @@000006: 00000588 81F81100 CMP AX,11H 0000058C 7C03 JL $+5H 0000058E E90300 JMP @@000005 @@000007: 00000591 E92F00 JMP @@000004 @@000005: ; STATEMENT # 110 00000594 B006 MOV AL,6H 00000596 9A00000000 CALL FQ_121 0000059B 0E PUSH CS ; 1 0000059C 07 POP ES ; 1 0000059D 8D1EE300 LEA BX,@CONST+0E3H 000005A1 B82300 MOV AX,23H 000005A4 9A00000000 CALL FQ_401 000005A9 8B06A600 MOV AX,LX 000005AD 9A00000000 CALL FQ_411 000005B2 9A00000000 CALL FQ_902 ; STATEMENT # 111 FORTRAN-86 COMPILER GENERATED CODE 03/01/95 12:08:18 PAGE 12 SRTEST.FTN @MAIN 000005B7 BE0000 MOV SI,0H 000005BA 89F0 MOV AX,SI 000005BC 8EC0 MOV ES,AX 000005BE 9A00000000 CALL FQ_911 ; STATEMENT # 112 @@000004: ; STATEMENT # 113 000005C3 B004 MOV AL,4H 000005C5 9A00000000 CALL FQ_120 000005CA 9A00000000 CALL FQ_410 000005CF 1E PUSH DS ; 1 000005D0 07 POP ES ; 1 000005D1 8D36A200 LEA SI,IX 000005D5 7203 JC $+5H 000005D7 268904 MOV ES:[SI],AX 000005DA 9A00000000 CALL FQ_902 ; STATEMENT # 114 000005DF 813EA2000000 CMP IX,0H 000005E5 7C03 JL $+5H 000005E7 E90900 JMP @@000008 @@000009: 000005EA 8B06A600 MOV AX,LX 000005EE 48 DEC AX 000005EF 8906A200 MOV IX,AX @@000008: ; STATEMENT # 115 000005F3 813EA2001100 CMP IX,11H 000005F9 7D03 JGE $+5H 000005FB E92F00 JMP @@000010 @@000011: ; STATEMENT # 116 000005FE B006 MOV AL,6H 00000600 9A00000000 CALL FQ_121 00000605 0E PUSH CS ; 1 00000606 07 POP ES ; 1 00000607 8D1E0601 LEA BX,@CONST+106H 0000060B B82200 MOV AX,22H 0000060E 9A00000000 CALL FQ_401 00000613 8B06A200 MOV AX,IX 00000617 9A00000000 CALL FQ_411 0000061C 9A00000000 CALL FQ_902 ; STATEMENT # 117 00000621 BE0000 MOV SI,0H 00000624 89F0 MOV AX,SI 00000626 8EC0 MOV ES,AX 00000628 9A00000000 CALL FQ_911 ; STATEMENT # 118 @@000010: ; STATEMENT # 119 0000062D 8B06A200 MOV AX,IX 00000631 99 CWD 00000632 87D8 XCHG BX,AX 00000634 87CA XCHG CX,DX 00000636 B80200 MOV AX,2H 00000639 BA0000 MOV DX,0H 0000063C 9A00000000 CALL TQ_140 00000641 8956F2 MOV [BP].@TEMP3+2H,DX 00000644 8946F0 MOV [BP].@TEMP3+4H,AX 00000647 DB46F0 FLD [BP].@TEMP3+4H 0000064A D91E0800 FSTP SD ; 7 FORTRAN-86 COMPILER GENERATED CODE 03/01/95 12:08:18 PAGE 13 SRTEST.FTN @MAIN 0000064E 9B WAIT ; STATEMENT # 120 0000064F B004 MOV AL,4H 00000651 9A00000000 CALL FQ_120 00000656 9A00000000 CALL FQ_422 0000065B 1E PUSH DS ; 1 0000065C 07 POP ES ; 1 0000065D 8D361C01 LEA SI,DVD 00000661 7204 JC $+6H 00000663 26DB3C FSTP ES:[SI] ; 7 00000666 9B WAIT 00000667 9A00000000 CALL FQ_902 ; STATEMENT # 121 0000066C DB2E1C01 FLD DVD ; 7 00000670 D9E1 FABS ; 7 00000672 9A00000000 CALL MQERRNT 00000677 DDD1 FST @TOS+1H 00000679 DB3E1C01 FSTP DVD ; 7 0000067D 9B WAIT ; STATEMENT # 122 0000067E DDD1 FST @TOS+1H 00000680 2ED80E2801 FMUL CS:@CONST+128H 00000685 9A00000000 CALL MQERRNT 0000068A 2ED80E2C01 FMUL CS:@CONST+12CH 0000068F DAE9 FUCOMPP TOS,@TOS+1H 00000691 9B WAIT 00000692 DFE0 FSTSW AX 00000694 250041 AND AX,4100H 00000697 350040 XOR AX,4000H 0000069A 7403 JE $+5H 0000069C E92F00 JMP @@000012 @@000013: ; STATEMENT # 123 0000069F B006 MOV AL,6H 000006A1 9A00000000 CALL FQ_121 000006A6 0E PUSH CS ; 1 000006A7 07 POP ES ; 1 000006A8 8D1E3001 LEA BX,@CONST+130H 000006AC B82A00 MOV AX,2AH 000006AF 9A00000000 CALL FQ_401 000006B4 DB2E1C01 FLD DVD ; 7 000006B8 9A00000000 CALL FQ_424 000006BD 9A00000000 CALL FQ_902 ; STATEMENT # 124 000006C2 BE0000 MOV SI,0H 000006C5 89F0 MOV AX,SI 000006C7 8EC0 MOV ES,AX 000006C9 9A00000000 CALL FQ_911 ; STATEMENT # 125 @@000012: ; STATEMENT # 126 000006CE 680400 PUSH 4H 000006D1 B80000 MOV AX,0H 000006D4 8EC0 MOV ES,AX 000006D6 06 PUSH ES ; 2 000006D7 50 PUSH AX ; 3 000006D8 06 PUSH ES ; 4 000006D9 50 PUSH AX ; 5 000006DA 9A00000000 CALL FQ_020 ; STATEMENT # 127 FORTRAN-86 COMPILER GENERATED CODE 03/01/95 12:08:18 PAGE 14 SRTEST.FTN @MAIN 000006DF B003 MOV AL,3H 000006E1 9A00000000 CALL FQ_121 000006E6 0E PUSH CS ; 1 000006E7 07 POP ES ; 1 000006E8 8D1E5A01 LEA BX,@CONST+15AH 000006EC B81400 MOV AX,14H 000006EF 9A00000000 CALL FQ_401 000006F4 8B06A400 MOV AX,N 000006F8 9A00000000 CALL FQ_411 000006FD 0E PUSH CS ; 1 000006FE 07 POP ES ; 1 000006FF 8D1E6E01 LEA BX,@CONST+16EH 00000703 B80700 MOV AX,7H 00000706 9A00000000 CALL FQ_401 0000070B 8B06A600 MOV AX,LX 0000070F 9A00000000 CALL FQ_411 00000714 9A00000000 CALL FQ_902 ; STATEMENT # 128 00000719 B003 MOV AL,3H 0000071B 9A00000000 CALL FQ_121 00000720 0E PUSH CS ; 1 00000721 07 POP ES ; 1 00000722 8D1E7501 LEA BX,@CONST+175H 00000726 B81400 MOV AX,14H 00000729 9A00000000 CALL FQ_401 0000072E 8B06A200 MOV AX,IX 00000732 9A00000000 CALL FQ_411 00000737 0E PUSH CS ; 1 00000738 07 POP ES ; 1 00000739 8D1E8901 LEA BX,@CONST+189H 0000073D B81700 MOV AX,17H 00000740 9A00000000 CALL FQ_401 00000745 9A00000000 CALL FQ_902 ; STATEMENT # 129 0000074A B003 MOV AL,3H 0000074C 9A00000000 CALL FQ_121 00000751 0E PUSH CS ; 1 00000752 07 POP ES ; 1 00000753 8D1EA001 LEA BX,@CONST+1A0H 00000757 B83300 MOV AX,33H 0000075A 9A00000000 CALL FQ_401 0000075F 9A00000000 CALL FQ_902 ; STATEMENT # 131 00000764 680300 PUSH 3H 00000767 B80000 MOV AX,0H 0000076A 8EC0 MOV ES,AX 0000076C 06 PUSH ES ; 2 0000076D 50 PUSH AX ; 3 0000076E 06 PUSH ES ; 4 0000076F 50 PUSH AX ; 5 00000770 9A00000000 CALL FQ_020 ; STATEMENT # 132 00000775 B006 MOV AL,6H 00000777 9A00000000 CALL FQ_121 0000077C 0E PUSH CS ; 1 0000077D 07 POP ES ; 1 0000077E 8D1ED301 LEA BX,@CONST+1D3H 00000782 B83500 MOV AX,35H 00000785 9A00000000 CALL FQ_401 0000078A 9A00000000 CALL FQ_902 FORTRAN-86 COMPILER GENERATED CODE 03/01/95 12:08:18 PAGE 15 SRTEST.FTN @MAIN ; STATEMENT # 133 0000078F B006 MOV AL,6H 00000791 9A00000000 CALL FQ_121 00000796 0E PUSH CS ; 1 00000797 07 POP ES ; 1 00000798 8D1E0802 LEA BX,@CONST+208H 0000079C B83600 MOV AX,36H 0000079F 9A00000000 CALL FQ_401 000007A4 9A00000000 CALL FQ_902 ; STATEMENT # 134 000007A9 B006 MOV AL,6H 000007AB 9A00000000 CALL FQ_121 000007B0 0E PUSH CS ; 1 000007B1 07 POP ES ; 1 000007B2 8D1E3E02 LEA BX,@CONST+23EH 000007B6 B83500 MOV AX,35H 000007B9 9A00000000 CALL FQ_401 000007BE 9A00000000 CALL FQ_902 ; STATEMENT # 135 000007C3 0E PUSH CS ; 1 000007C4 07 POP ES ; 1 000007C5 8D360000 LEA SI,?1 000007C9 B006 MOV AL,6H 000007CB 9A00000000 CALL FQ_112 000007D0 8B06A400 MOV AX,N 000007D4 9A00000000 CALL FQ_311 000007D9 9A00000000 CALL FQ_901 ; STATEMENT # 137 000007DE B006 MOV AL,6H 000007E0 9A00000000 CALL FQ_121 000007E5 0E PUSH CS ; 1 000007E6 07 POP ES ; 1 000007E7 8D1E7302 LEA BX,@CONST+273H 000007EB B83600 MOV AX,36H 000007EE 9A00000000 CALL FQ_401 000007F3 9A00000000 CALL FQ_902 ; STATEMENT # 138 000007F8 B006 MOV AL,6H 000007FA 9A00000000 CALL FQ_121 000007FF 0E PUSH CS ; 1 00000800 07 POP ES ; 1 00000801 8D1EA902 LEA BX,@CONST+2A9H 00000805 B83600 MOV AX,36H 00000808 9A00000000 CALL FQ_401 0000080D 9A00000000 CALL FQ_902 ; STATEMENT # 139 00000812 B006 MOV AL,6H 00000814 9A00000000 CALL FQ_121 00000819 0E PUSH CS ; 1 0000081A 07 POP ES ; 1 0000081B 8D1EDF02 LEA BX,@CONST+2DFH 0000081F B82300 MOV AX,23H 00000822 9A00000000 CALL FQ_401 00000827 8B06A600 MOV AX,LX 0000082B 99 CWD 0000082C 87D8 XCHG BX,AX 0000082E 87CA XCHG CX,DX 00000830 B80200 MOV AX,2H 00000833 BA0000 MOV DX,0H 00000836 9A00000000 CALL TQ_140 FORTRAN-86 COMPILER GENERATED CODE 03/01/95 12:08:18 PAGE 16 SRTEST.FTN @MAIN 0000083B 9A00000000 CALL FQ_413 00000840 9A00000000 CALL FQ_902 ; STATEMENT # 140 00000845 B006 MOV AL,6H 00000847 9A00000000 CALL FQ_121 0000084C 0E PUSH CS ; 1 0000084D 07 POP ES ; 1 0000084E 8D1E0203 LEA BX,@CONST+302H 00000852 B81E00 MOV AX,1EH 00000855 9A00000000 CALL FQ_401 0000085A D9060800 FLD SD ; 7 0000085E 9A00000000 CALL FQ_416 00000863 9A00000000 CALL FQ_902 ; STATEMENT # 141 00000868 B006 MOV AL,6H 0000086A 9A00000000 CALL FQ_121 0000086F 1E PUSH DS ; 1 00000870 07 POP ES ; 1 00000871 8D1E6201 LEA BX,AARGH 00000875 B83000 MOV AX,30H 00000878 9A00000000 CALL FQ_401 0000087D 9A00000000 CALL FQ_902 ; STATEMENT # 142 00000882 B006 MOV AL,6H 00000884 9A00000000 CALL FQ_121 00000889 9A00000000 CALL FQ_902 ; STATEMENT # 143 0000088E B006 MOV AL,6H 00000890 9A00000000 CALL FQ_121 00000895 9A00000000 CALL FQ_902 ; STATEMENT # 145 0000089A C706AA003D03 MOV ICW,33DH ; STATEMENT # 147 000008A0 F606B40001 TEST L1,1H 000008A5 7503 JNZ $+5H 000008A7 E90600 JMP @@000014 @@000015: 000008AA C706AA003D02 MOV ICW,23DH @@000014: ; STATEMENT # 149 000008B0 8D36AA00 LEA SI,ICW 000008B4 D92C FLDCW [SI] 000008B6 9B WAIT ; STATEMENT # 153 000008B7 D9EE FLDZ ; 7 000008B9 D91E5800 FSTP S+40H ; 7 000008BD 9B WAIT ; STATEMENT # 154 000008BE C706A0000100 MOV K,1H 000008C4 C746FE1000 MOV [BP].@TEMP1+2H,10H @@000016: ; STATEMENT # 155 000008C9 8B36A000 MOV SI,K 000008CD D1E6 SAL SI,1 000008CF D1E6 SAL SI,1 000008D1 D9062601 FLD SQ ; 7 000008D5 D99C5800 FSTP S[SI]+40H ; 7 000008D9 9B WAIT ; STATEMENT # 156 000008DA D9062601 FLD SQ ; 7 FORTRAN-86 COMPILER GENERATED CODE 03/01/95 12:08:18 PAGE 17 SRTEST.FTN @MAIN 000008DE D9E0 FCHS ; 7 000008E0 8B36A000 MOV SI,K 000008E4 F7DE NEG SI 000008E6 D1E6 SAL SI,1 000008E8 D1E6 SAL SI,1 000008EA D99C5800 FSTP S[SI]+40H ; 7 000008EE 9B WAIT ; STATEMENT # 157 000008EF D9062601 FLD SQ ; 7 000008F3 D8C0 FADD TOS,@TOS ; 7 000008F5 D91E2601 FSTP SQ ; 7 000008F9 9B WAIT ; STATEMENT # 158 ?100: 000008FA FF06A000 INC K 000008FE FF4EFE DEC [BP].@TEMP1+2H 00000901 7403 JZ $+5H 00000903 E9C3FF JMP @@000016 @@000017: ; STATEMENT # 159 00000906 8B36A400 MOV SI,N 0000090A D1E6 SAL SI,1 0000090C D1E6 SAL SI,1 0000090E D9845800 FLD S[SI]+40H 00000912 9A00000000 CALL MQERCI2 00000917 8906A800 MOV I2N1,AX ; STATEMENT # 164 0000091B DB2E3A01 FLD DVDX ; 7 0000091F DB3E2601 FSTP QH ; 7 00000923 9B WAIT ; STATEMENT # 165 00000924 81062E012000 ADD IQ+8H,20H ; STATEMENT # 166 0000092A DB2E2601 FLD QH ; 7 0000092E DB3EE000 FSTP TM ; 7 00000932 9B WAIT ; STATEMENT # 167 00000933 8B062E01 MOV AX,IQ+8H 00000937 48 DEC AX 00000938 8906AE00 MOV IEM1,AX ; STATEMENT # 168 0000093C 8B1EA400 MOV BX,N 00000940 291E2E01 SUB IQ+8H,BX ; STATEMENT # 169 00000944 DB2E2601 FLD QH ; 7 00000948 DB3EF400 FSTP TMN ; 7 0000094C 9B WAIT ; STATEMENT # 170 0000094D 2B06A200 SUB AX,IX 00000951 89062E01 MOV IQ+8H,AX ; STATEMENT # 171 00000955 DB2E2601 FLD QH ; 7 00000959 DB3EEA00 FSTP DVDEND ; 7 0000095D 9B WAIT ; STATEMENT # 173 0000095E DD062601 FLD DQ ; 7 00000962 DD1E0000 FSTP ZER0M ; 7 00000966 9B WAIT ; STATEMENT # 175 00000967 F606B60001 TEST L2,1H FORTRAN-86 COMPILER GENERATED CODE 03/01/95 12:08:18 PAGE 18 SRTEST.FTN @MAIN 0000096C 7503 JNZ $+5H 0000096E E93901 JMP @@000018 @@000019: ; STATEMENT # 176 00000971 B006 MOV AL,6H 00000973 9A00000000 CALL FQ_121 00000978 0E PUSH CS ; 1 00000979 07 POP ES ; 1 0000097A 8D1E2003 LEA BX,@CONST+320H 0000097E B80800 MOV AX,8H 00000981 9A00000000 CALL FQ_401 00000986 8B06A800 MOV AX,I2N1 0000098A 9A00000000 CALL FQ_411 0000098F 9A00000000 CALL FQ_902 ; STATEMENT # 177 00000994 B006 MOV AL,6H 00000996 9A00000000 CALL FQ_121 0000099B 0E PUSH CS ; 1 0000099C 07 POP ES ; 1 0000099D 8D1E2803 LEA BX,@CONST+328H 000009A1 B80600 MOV AX,6H 000009A4 9A00000000 CALL FQ_401 000009A9 DB2EE000 FLD TM ; 7 000009AD 9A00000000 CALL FQ_424 000009B2 9A00000000 CALL FQ_902 ; STATEMENT # 178 000009B7 B006 MOV AL,6H 000009B9 9A00000000 CALL FQ_121 000009BE 0E PUSH CS ; 1 000009BF 07 POP ES ; 1 000009C0 8D1E2E03 LEA BX,@CONST+32EH 000009C4 B80700 MOV AX,7H 000009C7 9A00000000 CALL FQ_401 000009CC DB2EF400 FLD TMN ; 7 000009D0 9A00000000 CALL FQ_424 000009D5 9A00000000 CALL FQ_902 ; STATEMENT # 179 000009DA B006 MOV AL,6H 000009DC 9A00000000 CALL FQ_121 000009E1 0E PUSH CS ; 1 000009E2 07 POP ES ; 1 000009E3 8D1E3503 LEA BX,@CONST+335H 000009E7 B80900 MOV AX,9H 000009EA 9A00000000 CALL FQ_401 000009EF DD060000 FLD ZER0M ; 7 000009F3 9A00000000 CALL FQ_420 000009F8 9A00000000 CALL FQ_902 ; STATEMENT # 180 000009FD B006 MOV AL,6H 000009FF 9A00000000 CALL FQ_121 00000A04 0E PUSH CS ; 1 00000A05 07 POP ES ; 1 00000A06 8D1E3E03 LEA BX,@CONST+33EH 00000A0A B80700 MOV AX,7H 00000A0D 9A00000000 CALL FQ_401 00000A12 DB2E1C01 FLD DVD ; 7 00000A16 9A00000000 CALL FQ_424 00000A1B 9A00000000 CALL FQ_902 ; STATEMENT # 181 00000A20 B006 MOV AL,6H FORTRAN-86 COMPILER GENERATED CODE 03/01/95 12:08:18 PAGE 19 SRTEST.FTN @MAIN 00000A22 9A00000000 CALL FQ_121 00000A27 0E PUSH CS ; 1 00000A28 07 POP ES ; 1 00000A29 8D1E4503 LEA BX,@CONST+345H 00000A2D B80A00 MOV AX,0AH 00000A30 9A00000000 CALL FQ_401 00000A35 DB2EEA00 FLD DVDEND ; 7 00000A39 9A00000000 CALL FQ_424 00000A3E 9A00000000 CALL FQ_902 ; STATEMENT # 182 00000A43 2EDF064F03 FLD CS:@CONST+34FH 00000A48 DB3EEA00 FSTP DVDEND ; 7 00000A4C 9B WAIT ; STATEMENT # 183 00000A4D B006 MOV AL,6H 00000A4F 9A00000000 CALL FQ_121 00000A54 0E PUSH CS ; 1 00000A55 07 POP ES ; 1 00000A56 8D1E4503 LEA BX,@CONST+345H 00000A5A B80A00 MOV AX,0AH 00000A5D 9A00000000 CALL FQ_401 00000A62 DB2EEA00 FLD DVDEND ; 7 00000A66 9A00000000 CALL FQ_424 00000A6B 9A00000000 CALL FQ_902 ; STATEMENT # 184 00000A70 B006 MOV AL,6H 00000A72 9A00000000 CALL FQ_121 00000A77 B82100 MOV AX,21H 00000A7A D1E0 SAL AX,1 00000A7C D1E0 SAL AX,1 00000A7E F7D8 NEG AX 00000A80 8946FE MOV [BP].@TEMP1+2H,AX @@000020: 00000A83 8B5EFE MOV BX,[BP].@TEMP1+2H 00000A86 D9879C00 FLD S[BX]+84H 00000A8A 9A00000000 CALL FQ_416 00000A8F 8146FE0400 ADD [BP].@TEMP1+2H,4H 00000A94 7403 JZ $+5H 00000A96 E9EAFF JMP @@000020 @@000021: 00000A99 9A00000000 CALL FQ_902 ; STATEMENT # 185 00000A9E B006 MOV AL,6H 00000AA0 9A00000000 CALL FQ_121 00000AA5 9A00000000 CALL FQ_902 ; STATEMENT # 186 @@000018: ; STATEMENT # 188 00000AAA 680300 PUSH 3H 00000AAD B80000 MOV AX,0H 00000AB0 8EC0 MOV ES,AX 00000AB2 06 PUSH ES ; 2 00000AB3 50 PUSH AX ; 3 00000AB4 06 PUSH ES ; 4 00000AB5 50 PUSH AX ; 5 00000AB6 0E PUSH CS ; 6 00000AB7 68A800 PUSH OFFSET @CONST+0A8H; 7 00000ABA 680C00 PUSH 0CH 00000ABD 50 PUSH AX ; 9 00000ABE 9A00000000 CALL FQ_010 FORTRAN-86 COMPILER GENERATED CODE 03/01/95 12:08:18 PAGE 20 SRTEST.FTN @MAIN ; STATEMENT # 189 00000AC3 680300 PUSH 3H 00000AC6 B80000 MOV AX,0H 00000AC9 8EC0 MOV ES,AX 00000ACB 06 PUSH ES ; 2 00000ACC 50 PUSH AX ; 3 00000ACD 06 PUSH ES ; 4 00000ACE 50 PUSH AX ; 5 00000ACF 9A00000000 CALL FQ_040 ; STATEMENT # 190 00000AD4 C706A0000100 MOV K,1H 00000ADA C746FE0300 MOV [BP].@TEMP1+2H,3H @@000022: ; STATEMENT # 191 00000ADF B003 MOV AL,3H 00000AE1 9A00000000 CALL FQ_120 00000AE6 9A00000000 CALL FQ_902 ; STATEMENT # 192 ?200: 00000AEB FF06A000 INC K 00000AEF FF4EFE DEC [BP].@TEMP1+2H 00000AF2 7403 JZ $+5H 00000AF4 E9E8FF JMP @@000022 @@000023: ; STATEMENT # 195 @@000024: 00000AF7 DB2EEA00 FLD DVDEND ; 7 00000AFB DB2E1C01 FLD DVD ; 6 00000AFF D9C9 FXCH @TOS+1H 00000B01 DED9 FCOMPP ; 6 00000B03 9B WAIT 00000B04 DFE0 FSTSW AX 00000B06 9E SAHF 00000B07 7703 JA $+5H 00000B09 E9F705 JMP @@000025 @@000026: ; STATEMENT # 197 00000B0C FF0E9E00 DEC L ; STATEMENT # 198 00000B10 7403 JZ $+5H 00000B12 E92100 JMP @@000027 @@000028: ; STATEMENT # 199 00000B15 0E PUSH CS ; 1 00000B16 07 POP ES ; 1 00000B17 8D363500 LEA SI,?2 00000B1B B006 MOV AL,6H 00000B1D 9A00000000 CALL FQ_112 00000B22 DB2E1C01 FLD DVD ; 7 00000B26 9A00000000 CALL FQ_324 00000B2B 9A00000000 CALL FQ_901 ; STATEMENT # 202 00000B30 C7069E00F401 MOV L,1F4H ; STATEMENT # 203 @@000027: ; STATEMENT # 205 00000B36 DB2E1C01 FLD DVD ; 7 00000B3A DB3E2601 FSTP QH ; 7 00000B3E 9B WAIT ; STATEMENT # 206 FORTRAN-86 COMPILER GENERATED CODE 03/01/95 12:08:18 PAGE 21 SRTEST.FTN @MAIN 00000B3F 8B06AE00 MOV AX,IEM1 00000B43 89062E01 MOV IQ+8H,AX ; STATEMENT # 207 00000B47 DB2E2601 FLD QH ; 7 00000B4B DB3E4401 FSTP DVDN0 ; 7 00000B4F 9B WAIT ; STATEMENT # 208 00000B50 C706AC000000 MOV K0,0H ; STATEMENT # 209 00000B56 8B06A600 MOV AX,LX 00000B5A 89069C00 MOV KL,AX ; STATEMENT # 210 00000B5E 8B06A800 MOV AX,I2N1 00000B62 99 CWD 00000B63 8906B200 MOV J,AX 00000B67 81C00100 ADD AX,1H 00000B6B 81D20000 ADC DX,0H 00000B6F BB0000 MOV BX,0H 00000B72 89D9 MOV CX,BX 00000B74 2BD8 SUB BX,AX 00000B76 1BCA SBB CX,DX 00000B78 87C3 XCHG AX,BX 00000B7A 87D1 XCHG DX,CX 00000B7C 9A00000000 CALL TQ_160 00000B81 50 PUSH AX ; 1 00000B82 8946FE MOV [BP].@TEMP1+2H,AX 00000B85 58 POP AX ; 1 00000B86 9A00000000 CALL TQ_152 00000B8B 7F03 JG $+5H 00000B8D E96205 JMP @@000030 @@000029: ; STATEMENT # 212 00000B90 DF06B200 FLD J 00000B94 DB2EF400 FLD TMN ; 6 00000B98 DEC9 FMULP ; 6 00000B9A DB2EE000 FLD TM ; 6 00000B9E DEE1 FSUBRP ; 6 00000BA0 DB3E0801 FSTP DVR0 ; 7 00000BA4 9B WAIT ; STATEMENT # 213 00000BA5 813EB2000000 CMP J,0H 00000BAB 7403 JZ $+5H 00000BAD E90600 JMP @@000031 @@000032: 00000BB0 C7069C00FFFF MOV KL,0FFFFH @@000031: ; STATEMENT # 214 00000BB6 D9060800 FLD SD ; 7 00000BBA D9E0 FCHS ; 7 00000BBC DDD1 FST @TOS+1H 00000BBE D91E1400 FSTP SDN ; 7 00000BC2 9B WAIT 00000BC3 D9060800 FLD SD ; 7 00000BC7 D95EFA FSTP [BP].@TEMP1+6H; 7 00000BCA 9B WAIT 00000BCB D866FA FSUB [BP].@TEMP1+6H 00000BCE D9060800 FLD SD ; 7 00000BD2 DEE1 FSUBRP ; 7 00000BD4 D876FA FDIV [BP].@TEMP1+6H 00000BD7 9A00000000 CALL MQERINT FORTRAN-86 COMPILER GENERATED CODE 03/01/95 12:08:18 PAGE 22 SRTEST.FTN @MAIN 00000BDC 8946F6 MOV [BP].@TEMP1+0AH,AX 00000BDF 8956F8 MOV [BP].@TEMP1+8H,DX 00000BE2 9A00000000 CALL TQ_152 00000BE7 7F03 JG $+5H 00000BE9 E9F004 JMP @@000034 @@000033: ; STATEMENT # 216 00000BEC DB2E4401 FLD DVDN0 00000BF0 D8061400 FADD SDN 00000BF4 DB3E4E01 FSTP DVDN 00000BF8 9B WAIT ; STATEMENT # 217 00000BF9 8B06AC00 MOV AX,K0 00000BFD 99 CWD 00000BFE 8906A000 MOV K,AX 00000C02 50 PUSH AX ; 1 00000C03 8B069C00 MOV AX,KL 00000C07 52 PUSH DX ; 2 00000C08 99 CWD 00000C09 59 POP CX ; 2 00000C0A 5B POP BX ; 1 00000C0B 81EB0100 SUB BX,1H 00000C0F 81D90000 SBB CX,0H 00000C13 2BC3 SUB AX,BX 00000C15 1BD1 SBB DX,CX 00000C17 50 PUSH AX ; 1 00000C18 8946F4 MOV [BP].@TEMP1+0CH,AX 00000C1B 58 POP AX ; 1 00000C1C 9A00000000 CALL TQ_152 00000C21 7F03 JG $+5H 00000C23 E98C04 JMP @@000036 @@000035: ; STATEMENT # 219 00000C26 8B36A000 MOV SI,K 00000C2A D1E6 SAL SI,1 00000C2C D1E6 SAL SI,1 00000C2E DB2E0801 FLD DVR0 00000C32 D8845800 FADD S[SI]+40H 00000C36 DDD1 FST @TOS+1H 00000C38 DB3E1201 FSTP DVR 00000C3C 9B WAIT ; STATEMENT # 221 00000C3D DB2E4E01 FLD DVDN 00000C41 D8F1 FDIV TOS,@TOS+1H 00000C43 DDD2 FST @TOS+2H 00000C45 DB3EFE00 FSTP QUO 00000C49 9B WAIT ; STATEMENT # 222 00000C4A DB2ECC00 FLD COUNT 00000C4E D9E8 FLD1 ; 7 00000C50 DEC1 FADDP ; 7 00000C52 DB3ECC00 FSTP COUNT 00000C56 9B WAIT ; STATEMENT # 223 00000C57 D9C1 FLD @TOS+1H ; 1 00000C59 DB3E2601 FSTP QH 00000C5D 9B WAIT ; STATEMENT # 225 00000C5E D9EE FLDZ 00000C60 D91E2601 FSTP SQ FORTRAN-86 COMPILER GENERATED CODE 03/01/95 12:08:18 PAGE 23 SRTEST.FTN @MAIN 00000C64 9B WAIT ; STATEMENT # 226 00000C65 DB2E2601 FLD QH 00000C69 D8EA FSUBR TOS,@TOS+2H 00000C6B DDC2 FFREE @TOS+2H 00000C6D DDD2 FST @TOS+2H 00000C6F DB3ED600 FSTP QT 00000C73 9B WAIT ; STATEMENT # 228 00000C74 DB2E2601 FLD QH 00000C78 D8C9 FMUL TOS,@TOS+1H 00000C7A DB2E4E01 FLD DVDN ; 7 00000C7E DEE1 FSUBRP ; 7 00000C80 D9C9 FXCH @TOS+1H 00000C82 D8CA FMUL TOS,@TOS+2H 00000C84 DDC2 FFREE @TOS+2H 00000C86 DEE9 FSUBP 00000C88 DB3E5801 FSTP R ; 1 00000C8C 9B WAIT ; STATEMENT # 230 00000C8D F606B00001 TEST L3,1H 00000C92 7503 JNZ $+5H 00000C94 E9D800 JMP @@000037 @@000038: ; STATEMENT # 231 00000C97 B006 MOV AL,6H 00000C99 9A00000000 CALL FQ_121 00000C9E 0E PUSH CS ; 1 00000C9F 07 POP ES ; 1 00000CA0 8D1E5303 LEA BX,@CONST+353H 00000CA4 B80900 MOV AX,9H 00000CA7 9A00000000 CALL FQ_401 00000CAC DB2ECC00 FLD COUNT ; 7 00000CB0 9A00000000 CALL FQ_424 00000CB5 0E PUSH CS ; 1 00000CB6 07 POP ES ; 1 00000CB7 8D1E5C03 LEA BX,@CONST+35CH 00000CBB B80A00 MOV AX,0AH 00000CBE 9A00000000 CALL FQ_401 00000CC3 DB2E1C01 FLD DVD ; 7 00000CC7 9A00000000 CALL FQ_424 00000CCC 9A00000000 CALL FQ_902 ; STATEMENT # 232 00000CD1 0E PUSH CS ; 1 00000CD2 07 POP ES ; 1 00000CD3 8D365C00 LEA SI,?3 00000CD7 B006 MOV AL,6H 00000CD9 9A00000000 CALL FQ_112 00000CDE 0E PUSH CS ; 1 00000CDF 07 POP ES ; 1 00000CE0 8D1E6603 LEA BX,@CONST+366H 00000CE4 B80700 MOV AX,7H 00000CE7 9A00000000 CALL FQ_301 00000CEC DB2E4E01 FLD DVDN ; 7 00000CF0 9A00000000 CALL FQ_324 00000CF5 DB2E4E01 FLD DVDN ; 7 00000CF9 9A00000000 CALL FQ_324 00000CFE 9A00000000 CALL FQ_901 ; STATEMENT # 234 00000D03 0E PUSH CS ; 1 FORTRAN-86 COMPILER GENERATED CODE 03/01/95 12:08:18 PAGE 24 SRTEST.FTN @MAIN 00000D04 07 POP ES ; 1 00000D05 8D365C00 LEA SI,?3 00000D09 B006 MOV AL,6H 00000D0B 9A00000000 CALL FQ_112 00000D10 0E PUSH CS ; 1 00000D11 07 POP ES ; 1 00000D12 8D1E6D03 LEA BX,@CONST+36DH 00000D16 B80700 MOV AX,7H 00000D19 9A00000000 CALL FQ_301 00000D1E DB2E1201 FLD DVR ; 7 00000D22 9A00000000 CALL FQ_324 00000D27 DB2E1201 FLD DVR ; 7 00000D2B 9A00000000 CALL FQ_324 00000D30 9A00000000 CALL FQ_901 ; STATEMENT # 235 00000D35 B006 MOV AL,6H 00000D37 9A00000000 CALL FQ_121 00000D3C 0E PUSH CS ; 1 00000D3D 07 POP ES ; 1 00000D3E 8D1E7403 LEA BX,@CONST+374H 00000D42 B80700 MOV AX,7H 00000D45 9A00000000 CALL FQ_401 00000D4A DB2EFE00 FLD QUO ; 7 00000D4E 9A00000000 CALL FQ_424 00000D53 0E PUSH CS ; 1 00000D54 07 POP ES ; 1 00000D55 8D1E7B03 LEA BX,@CONST+37BH 00000D59 B80800 MOV AX,8H 00000D5C 9A00000000 CALL FQ_401 00000D61 DB2E5801 FLD R ; 7 00000D65 9A00000000 CALL FQ_424 00000D6A 9A00000000 CALL FQ_902 ; STATEMENT # 236 @@000037: ; STATEMENT # 239 00000D6F DD060000 FLD ZER0M ; 7 00000D73 DD1E2601 FSTP DQ ; 7 00000D77 9B WAIT ; STATEMENT # 240 00000D78 812E2E014000 SUB IQ+8H,40H ; STATEMENT # 242 00000D7E DB2E5801 FLD R ; 7 00000D82 D9E1 FABS ; 7 00000D84 DB2E1201 FLD DVR ; 6 00000D88 DB2E2601 FLD QE ; 5 00000D8C DEC9 FMULP ; 5 00000D8E D9C9 FXCH @TOS+1H 00000D90 DED9 FCOMPP ; 6 00000D92 9B WAIT 00000D93 DFE0 FSTSW AX 00000D95 9E SAHF 00000D96 7303 JAE $+5H 00000D98 E90B03 JMP @@000039 @@000040: ; STATEMENT # 244 00000D9B 810610000100 ADD KOUNT,1H 00000DA1 811612000000 ADC KOUNT+2H,0H ; STATEMENT # 245 00000DA7 B006 MOV AL,6H 00000DA9 9A00000000 CALL FQ_121 FORTRAN-86 COMPILER GENERATED CODE 03/01/95 12:08:18 PAGE 25 SRTEST.FTN @MAIN 00000DAE 9A00000000 CALL FQ_902 ; STATEMENT # 246 00000DB3 B006 MOV AL,6H 00000DB5 9A00000000 CALL FQ_121 00000DBA 0E PUSH CS ; 1 00000DBB 07 POP ES ; 1 00000DBC 8D1E8303 LEA BX,@CONST+383H 00000DC0 B82500 MOV AX,25H 00000DC3 9A00000000 CALL FQ_401 00000DC8 9A00000000 CALL FQ_902 ; STATEMENT # 247 00000DCD B006 MOV AL,6H 00000DCF 9A00000000 CALL FQ_121 00000DD4 0E PUSH CS ; 1 00000DD5 07 POP ES ; 1 00000DD6 8D1EA803 LEA BX,@CONST+3A8H 00000DDA B80400 MOV AX,4H 00000DDD 9A00000000 CALL FQ_401 00000DE2 8B061000 MOV AX,KOUNT 00000DE6 8B161200 MOV DX,KOUNT+2H 00000DEA 9A00000000 CALL FQ_413 00000DEF 0E PUSH CS ; 1 00000DF0 07 POP ES ; 1 00000DF1 8D1EAC03 LEA BX,@CONST+3ACH 00000DF5 B80D00 MOV AX,0DH 00000DF8 9A00000000 CALL FQ_401 00000DFD DB2ECC00 FLD COUNT ; 7 00000E01 9A00000000 CALL FQ_424 00000E06 9A00000000 CALL FQ_902 ; STATEMENT # 248 00000E0B B006 MOV AL,6H 00000E0D 9A00000000 CALL FQ_121 00000E12 0E PUSH CS ; 1 00000E13 07 POP ES ; 1 00000E14 8D1EB903 LEA BX,@CONST+3B9H 00000E18 B81600 MOV AX,16H 00000E1B 9A00000000 CALL FQ_401 00000E20 DB2E1C01 FLD DVD ; 7 00000E24 9A00000000 CALL FQ_424 00000E29 0E PUSH CS ; 1 00000E2A 07 POP ES ; 1 00000E2B 8D1ECF03 LEA BX,@CONST+3CFH 00000E2F B80A00 MOV AX,0AH 00000E32 9A00000000 CALL FQ_401 00000E37 9A00000000 CALL FQ_902 ; STATEMENT # 249 00000E3C 0E PUSH CS ; 1 00000E3D 07 POP ES ; 1 00000E3E 8D366B00 LEA SI,?4 00000E42 B006 MOV AL,6H 00000E44 9A00000000 CALL FQ_112 00000E49 0E PUSH CS ; 1 00000E4A 07 POP ES ; 1 00000E4B 8D1ED903 LEA BX,@CONST+3D9H 00000E4F B80900 MOV AX,9H 00000E52 9A00000000 CALL FQ_301 00000E57 DB2E4E01 FLD DVDN ; 7 00000E5B 9A00000000 CALL FQ_324 00000E60 DB2E4E01 FLD DVDN ; 7 00000E64 9A00000000 CALL FQ_324 FORTRAN-86 COMPILER GENERATED CODE 03/01/95 12:08:18 PAGE 26 SRTEST.FTN @MAIN 00000E69 9A00000000 CALL FQ_901 ; STATEMENT # 251 00000E6E 0E PUSH CS ; 1 00000E6F 07 POP ES ; 1 00000E70 8D366B00 LEA SI,?4 00000E74 B006 MOV AL,6H 00000E76 9A00000000 CALL FQ_112 00000E7B 0E PUSH CS ; 1 00000E7C 07 POP ES ; 1 00000E7D 8D1EE203 LEA BX,@CONST+3E2H 00000E81 B80900 MOV AX,9H 00000E84 9A00000000 CALL FQ_301 00000E89 DB2E1201 FLD DVR ; 7 00000E8D 9A00000000 CALL FQ_324 00000E92 DB2E1201 FLD DVR ; 7 00000E96 9A00000000 CALL FQ_324 00000E9B 9A00000000 CALL FQ_901 ; STATEMENT # 252 00000EA0 0E PUSH CS ; 1 00000EA1 07 POP ES ; 1 00000EA2 8D368200 LEA SI,?5 00000EA6 B006 MOV AL,6H 00000EA8 9A00000000 CALL FQ_112 00000EAD 0E PUSH CS ; 1 00000EAE 07 POP ES ; 1 00000EAF 8D1EEB03 LEA BX,@CONST+3EBH 00000EB3 B80900 MOV AX,9H 00000EB6 9A00000000 CALL FQ_301 00000EBB DB2E5801 FLD R ; 7 00000EBF 9A00000000 CALL FQ_324 00000EC4 9A00000000 CALL FQ_901 ; STATEMENT # 254 00000EC9 0E PUSH CS ; 1 00000ECA 07 POP ES ; 1 00000ECB 8D368200 LEA SI,?5 00000ECF B006 MOV AL,6H 00000ED1 9A00000000 CALL FQ_112 00000ED6 0E PUSH CS ; 1 00000ED7 07 POP ES ; 1 00000ED8 8D1EF403 LEA BX,@CONST+3F4H 00000EDC B80900 MOV AX,9H 00000EDF 9A00000000 CALL FQ_301 00000EE4 DB2EFE00 FLD QUO ; 7 00000EE8 9A00000000 CALL FQ_324 00000EED 9A00000000 CALL FQ_901 ; STATEMENT # 255 00000EF2 0E PUSH CS ; 1 00000EF3 07 POP ES ; 1 00000EF4 8D369200 LEA SI,?6 00000EF8 B003 MOV AL,3H 00000EFA 9A00000000 CALL FQ_112 00000EFF 8B061000 MOV AX,KOUNT 00000F03 8B161200 MOV DX,KOUNT+2H 00000F07 9A00000000 CALL FQ_313 00000F0C DB2E4E01 FLD DVDN ; 7 00000F10 9A00000000 CALL FQ_324 00000F15 DB2E1201 FLD DVR ; 7 00000F19 9A00000000 CALL FQ_324 00000F1E DB2EFE00 FLD QUO ; 7 00000F22 9A00000000 CALL FQ_324 FORTRAN-86 COMPILER GENERATED CODE 03/01/95 12:08:18 PAGE 27 SRTEST.FTN @MAIN 00000F27 DB2E5801 FLD R ; 7 00000F2B 9A00000000 CALL FQ_324 00000F30 DB2ECC00 FLD COUNT ; 7 00000F34 9A00000000 CALL FQ_324 00000F39 9A00000000 CALL FQ_901 ; STATEMENT # 257 00000F3E DB2E3A01 FLD DVDX ; 7 00000F42 DB2E5801 FLD R ; 6 00000F46 DEC9 FMULP ; 6 00000F48 D9E1 FABS ; 7 00000F4A DB2E4E01 FLD DVDN ; 6 00000F4E DB2EC200 FLD RX ; 5 00000F52 DEC9 FMULP ; 5 00000F54 D9E1 FABS ; 6 00000F56 D9C9 FXCH @TOS+1H 00000F58 DED9 FCOMPP ; 6 00000F5A 9B WAIT 00000F5B DFE0 FSTSW AX 00000F5D 9E SAHF 00000F5E 7703 JA $+5H 00000F60 E93400 JMP @@000041 @@000042: ; STATEMENT # 258 00000F63 DB2E5801 FLD R ; 7 00000F67 DB3EC200 FSTP RX ; 7 00000F6B 9B WAIT ; STATEMENT # 259 00000F6C DB2E4E01 FLD DVDN ; 7 00000F70 DB3E3A01 FSTP DVDX ; 7 00000F74 9B WAIT ; STATEMENT # 260 00000F75 DB2E1201 FLD DVR ; 7 00000F79 DB3EB800 FSTP DVRX ; 7 00000F7D 9B WAIT ; STATEMENT # 261 00000F7E DB2EFE00 FLD QUO ; 7 00000F82 DB3E3001 FSTP QUOX ; 7 00000F86 9B WAIT ; STATEMENT # 262 00000F87 8B061000 MOV AX,KOUNT 00000F8B 8B161200 MOV DX,KOUNT+2H 00000F8F 89060C00 MOV KOUNTX,AX 00000F93 89160E00 MOV KOUNTX+2H,DX ; STATEMENT # 263 @@000041: ; STATEMENT # 264 00000F97 B006 MOV AL,6H 00000F99 9A00000000 CALL FQ_121 00000F9E 0E PUSH CS ; 1 00000F9F 07 POP ES ; 1 00000FA0 8D1EFD03 LEA BX,@CONST+3FDH 00000FA4 B82800 MOV AX,28H 00000FA7 9A00000000 CALL FQ_401 00000FAC 8B060C00 MOV AX,KOUNTX 00000FB0 8B160E00 MOV DX,KOUNTX+2H 00000FB4 9A00000000 CALL FQ_413 00000FB9 9A00000000 CALL FQ_902 ; STATEMENT # 265 00000FBE 0E PUSH CS ; 1 00000FBF 07 POP ES ; 1 FORTRAN-86 COMPILER GENERATED CODE 03/01/95 12:08:18 PAGE 28 SRTEST.FTN @MAIN 00000FC0 8D368200 LEA SI,?5 00000FC4 B006 MOV AL,6H 00000FC6 9A00000000 CALL FQ_112 00000FCB 0E PUSH CS ; 1 00000FCC 07 POP ES ; 1 00000FCD 8D1EEB03 LEA BX,@CONST+3EBH 00000FD1 B80900 MOV AX,9H 00000FD4 9A00000000 CALL FQ_301 00000FD9 DB2EC200 FLD RX ; 7 00000FDD 9A00000000 CALL FQ_324 00000FE2 9A00000000 CALL FQ_901 ; STATEMENT # 266 00000FE7 0E PUSH CS ; 1 00000FE8 07 POP ES ; 1 00000FE9 8D366B00 LEA SI,?4 00000FED B006 MOV AL,6H 00000FEF 9A00000000 CALL FQ_112 00000FF4 0E PUSH CS ; 1 00000FF5 07 POP ES ; 1 00000FF6 8D1ED903 LEA BX,@CONST+3D9H 00000FFA B80900 MOV AX,9H 00000FFD 9A00000000 CALL FQ_301 00001002 DB2E3A01 FLD DVDX ; 7 00001006 9A00000000 CALL FQ_324 0000100B DB2E3A01 FLD DVDX ; 7 0000100F 9A00000000 CALL FQ_324 00001014 9A00000000 CALL FQ_901 ; STATEMENT # 267 00001019 0E PUSH CS ; 1 0000101A 07 POP ES ; 1 0000101B 8D366B00 LEA SI,?4 0000101F B006 MOV AL,6H 00001021 9A00000000 CALL FQ_112 00001026 0E PUSH CS ; 1 00001027 07 POP ES ; 1 00001028 8D1EE203 LEA BX,@CONST+3E2H 0000102C B80900 MOV AX,9H 0000102F 9A00000000 CALL FQ_301 00001034 DB2EB800 FLD DVRX ; 7 00001038 9A00000000 CALL FQ_324 0000103D DB2EB800 FLD DVRX ; 7 00001041 9A00000000 CALL FQ_324 00001046 9A00000000 CALL FQ_901 ; STATEMENT # 268 0000104B 0E PUSH CS ; 1 0000104C 07 POP ES ; 1 0000104D 8D368200 LEA SI,?5 00001051 B006 MOV AL,6H 00001053 9A00000000 CALL FQ_112 00001058 0E PUSH CS ; 1 00001059 07 POP ES ; 1 0000105A 8D1EF403 LEA BX,@CONST+3F4H 0000105E B80900 MOV AX,9H 00001061 9A00000000 CALL FQ_301 00001066 DB2E3001 FLD QUOX ; 7 0000106A 9A00000000 CALL FQ_324 0000106F 9A00000000 CALL FQ_901 ; STATEMENT # 269 00001074 B006 MOV AL,6H 00001076 9A00000000 CALL FQ_121 FORTRAN-86 COMPILER GENERATED CODE 03/01/95 12:08:18 PAGE 29 SRTEST.FTN @MAIN 0000107B 1E PUSH DS ; 1 0000107C 07 POP ES ; 1 0000107D 8D1E6201 LEA BX,AARGH 00001081 B83000 MOV AX,30H 00001084 9A00000000 CALL FQ_401 00001089 9A00000000 CALL FQ_902 ; STATEMENT # 270 0000108E B006 MOV AL,6H 00001090 9A00000000 CALL FQ_121 00001095 9A00000000 CALL FQ_902 ; STATEMENT # 271 0000109A B006 MOV AL,6H 0000109C 9A00000000 CALL FQ_121 000010A1 9A00000000 CALL FQ_902 ; STATEMENT # 272 @@000039: ; STATEMENT # 273 ?300: 000010A6 FF06A000 INC K 000010AA FF4EF4 DEC [BP].@TEMP1+0CH 000010AD 7403 JZ $+5H 000010AF E974FB JMP @@000035 @@000036: ; STATEMENT # 275 ?400: 000010B2 D946FA FLD [BP].@TEMP1+6H; 7 000010B5 D8061400 FADD SDN ; 7 000010B9 D91E1400 FSTP SDN ; 7 000010BD 9B WAIT 000010BE 8B46F6 MOV AX,[BP].@TEMP1+0AH 000010C1 8B56F8 MOV DX,[BP].@TEMP1+8H 000010C4 81E80100 SUB AX,1H 000010C8 81DA0000 SBB DX,0H 000010CC 8946F6 MOV [BP].@TEMP1+0AH,AX 000010CF 8956F8 MOV [BP].@TEMP1+8H,DX 000010D2 9A00000000 CALL TQ_152 000010D7 7403 JZ $+5H 000010D9 E910FB JMP @@000033 @@000034: ; STATEMENT # 277 000010DC 8B06A600 MOV AX,LX 000010E0 F7D8 NEG AX 000010E2 8906AC00 MOV K0,AX ; STATEMENT # 278 ?500: 000010E6 FF0EB200 DEC J 000010EA FF4EFE DEC [BP].@TEMP1+2H 000010ED 7403 JZ $+5H 000010EF E99EFA JMP @@000029 @@000030: ; STATEMENT # 280 000010F2 DB2E1C01 FLD DVD ; 7 000010F6 2ED8062C01 FADD CS:@CONST+12CH; 7 000010FB DB3E1C01 FSTP DVD ; 7 000010FF 9B WAIT ; STATEMENT # 281 ?600: 00001100 E9F4F9 JMP @@000024 @@000025: ; STATEMENT # 283 FORTRAN-86 COMPILER GENERATED CODE 03/01/95 12:08:18 PAGE 30 SRTEST.FTN @MAIN 00001103 B006 MOV AL,6H 00001105 9A00000000 CALL FQ_121 0000110A DB2ECC00 FLD COUNT ; 7 0000110E 9A00000000 CALL FQ_424 00001113 0E PUSH CS ; 1 00001114 07 POP ES ; 1 00001115 8D1E2504 LEA BX,@CONST+425H 00001119 B81C00 MOV AX,1CH 0000111C 9A00000000 CALL FQ_401 00001121 9A00000000 CALL FQ_902 ; STATEMENT # 284 00001126 8B061000 MOV AX,KOUNT 0000112A 8B161200 MOV DX,KOUNT+2H 0000112E 9A00000000 CALL TQ_152 00001133 7403 JZ $+5H 00001135 E91D00 JMP @@000043 @@000044: ; STATEMENT # 285 00001138 B006 MOV AL,6H 0000113A 9A00000000 CALL FQ_121 0000113F 0E PUSH CS ; 1 00001140 07 POP ES ; 1 00001141 8D1E4104 LEA BX,@CONST+441H 00001145 B81A00 MOV AX,1AH 00001148 9A00000000 CALL FQ_401 0000114D 9A00000000 CALL FQ_902 ; STATEMENT # 286 00001152 E92700 JMP @@000045 @@000043: ; STATEMENT # 287 00001155 B006 MOV AL,6H 00001157 9A00000000 CALL FQ_121 0000115C 8B061000 MOV AX,KOUNT 00001160 8B161200 MOV DX,KOUNT+2H 00001164 9A00000000 CALL FQ_413 00001169 0E PUSH CS ; 1 0000116A 07 POP ES ; 1 0000116B 8D1E5B04 LEA BX,@CONST+45BH 0000116F B81D00 MOV AX,1DH 00001172 9A00000000 CALL FQ_401 00001177 9A00000000 CALL FQ_902 ; STATEMENT # 288 @@000045: ; STATEMENT # 289 0000117C B006 MOV AL,6H 0000117E 9A00000000 CALL FQ_121 00001183 0E PUSH CS ; 1 00001184 07 POP ES ; 1 00001185 8D1E7804 LEA BX,@CONST+478H 00001189 B82A00 MOV AX,2AH 0000118C 9A00000000 CALL FQ_401 00001191 9A00000000 CALL FQ_902 ; STATEMENT # 290 00001196 680300 PUSH 3H 00001199 B80000 MOV AX,0H 0000119C 8EC0 MOV ES,AX 0000119E 06 PUSH ES ; 2 0000119F 50 PUSH AX ; 3 000011A0 06 PUSH ES ; 4 000011A1 50 PUSH AX ; 5 FORTRAN-86 COMPILER GENERATED CODE 03/01/95 12:08:18 PAGE 31 SRTEST.FTN @MAIN 000011A2 9A00000000 CALL FQ_020 ; STATEMENT # 291 000011A7 9A00000000 CALL TQ_999 FORTRAN-86 COMPILER LABELS, STATEMENT FUNCTIONS03/01/95 12:08:18 PAGE 32 SRTEST.FTN @MAIN DEFN LABEL ADDRESS ATTRIBUTES ---------- ------- ---------- 136 1 . . . . . . . . . . . . . . . 0H FORMAT LABEL 135 136 201 2 . . . . . . . . . . . . . . . 35H FORMAT LABEL 199 201 233 3 . . . . . . . . . . . . . . . 5CH FORMAT LABEL 232 233 234 250 4 . . . . . . . . . . . . . . . 6BH FORMAT LABEL 249 250 251 266 267 253 5 . . . . . . . . . . . . . . . 82H FORMAT LABEL 252 253 254 265 268 256 6 . . . . . . . . . . . . . . . 92H FORMAT LABEL 255 256 158 100 . . . . . . . . . . . . . . 8FAH LABEL 154 158 192 200 . . . . . . . . . . . . . . AEBH LABEL 190 192 273 300 . . . . . . . . . . . . . . 10A6H LABEL 217 273 275 400 . . . . . . . . . . . . . . 10B2H LABEL 214 275 278 500 . . . . . . . . . . . . . . 10E6H LABEL 210 278 281 600 . . . . . . . . . . . . . . 1100H LABEL 195 281 EXTERNAL SYSTEM ROUTINES REFERENCES ------------------------ ---------- FQ_010. . . . . . . . . . . . . 100 101 102 188 FQ_020. . . . . . . . . . . . . 126 131 290 FQ_040. . . . . . . . . . . . . 189 FQ_112. . . . . . . . . . . . . 135 199 232 234 249 251 252 254 255 265 266 267 268 FQ_120. . . . . . . . . . . . . 103 108 113 120 191 FQ_121. . . . . . . . . . . . . 105 110 116 123 127 128 129 132 133 134 137 138 139 140 141 142 143 176 177 178 179 180 181 183 184 185 231 235 245 246 247 248 264 269 270 271 283 285 287 289 FQ_301. . . . . . . . . . . . . 232 234 249 251 252 254 265 266 267 268 FQ_311. . . . . . . . . . . . . 135 FQ_313. . . . . . . . . . . . . 255 FQ_324. . . . . . . . . . . . . 199 232 234 249 251 252 254 255 265 266 267 268 FQ_401. . . . . . . . . . . . . 105 110 116 123 127 128 129 132 133 134 137 138 139 140 141 176 177 178 179 180 181 183 231 235 246 247 248 264 269 283 285 287 289 FORTRAN-86 COMPILER LABELS, STATEMENT FUNCTIONS03/01/95 12:08:18 PAGE 33 SRTEST.FTN @MAIN FQ_410. . . . . . . . . . . . . 103 108 113 FQ_411. . . . . . . . . . . . . 105 110 116 127 128 176 FQ_413. . . . . . . . . . . . . 139 247 264 287 FQ_416. . . . . . . . . . . . . 140 184 FQ_420. . . . . . . . . . . . . 179 FQ_422. . . . . . . . . . . . . 120 FQ_424. . . . . . . . . . . . . 123 177 178 180 181 183 231 235 247 248 283 FQ_733. . . . . . . . . . . . . 136 201 233 250 253 256 FQ_745. . . . . . . . . . . . . 136 201 233 250 253 FQ_747. . . . . . . . . . . . . 136 256 FQ_748. . . . . . . . . . . . . 233 250 253 FQ_750. . . . . . . . . . . . . 253 256 FQ_754. . . . . . . . . . . . . 233 250 253 256 FQ_755. . . . . . . . . . . . . 233 250 FQ_758. . . . . . . . . . . . . 201 250 256 FQ_759. . . . . . . . . . . . . 253 256 FQ_761. . . . . . . . . . . . . 233 FQ_901. . . . . . . . . . . . . 135 199 232 234 249 251 252 254 255 265 266 267 268 FQ_902. . . . . . . . . . . . . 103 108 113 120 191 FQ_902. . . . . . . . . . . . . 105 110 116 123 127 128 129 132 133 134 137 138 139 140 141 142 143 176 177 178 179 180 181 183 184 185 231 235 245 246 247 248 264 269 270 271 283 285 287 289 FQ_911. . . . . . . . . . . . . 106 111 117 124 INITFP. . . . . . . . . . . . . ----- MQERCI2 . . . . . . . . . . . . 159 MQERINT . . . . . . . . . . . . 214 MQERRNT . . . . . . . . . . . . 121 122 TQ_001. . . . . . . . . . . . . ----- TQ_140. . . . . . . . . . . . . 119 139 TQ_152. . . . . . . . . . . . . 210 214 217 275 284 TQ_160. . . . . . . . . . . . . 210 TQ_999. . . . . . . . . . . . . ----- FORTRAN-86 COMPILER ERROR MESSAGES AND SUMMARY 03/01/95 12:08:18 PAGE 34 SRTEST.FTN @MAIN STORAGE REQUIREMENTS FOR MODULE @MAIN: CODE AREA SIZE D0AH 3338D CONSTANT AREA SIZE 4A2H 1186D VARIABLE AREA SIZE 192H 402D MAXIMUM STACK SIZE 2AH 42D 0 ERRORS DETECTED. 0 WARNINGS ISSUED. ENTRY POINT IS 4A4H FLOATING-POINT OPERATIONS WERE GENERATED. COMPILATION OF @MAIN COMPLETE. 0 TOTAL ERRORS DETECTED. 0 TOTAL WARNINGS ISSUED. DICTIONARY SUMMARY: 46FH LAST OBJECT ID 404KB MEMORY AVAILABLE 16KB MEMORY USED (3%) 0KB DISK SPACE USED END OF FORTRAN-86 COMPILATION OF SRTEST.FTN