例11.8 已知L=4.0,F按每次递增10.0的幅度从10.0增加到1000.0,试按公式Y=2πFL,计算出100个Y值,并把它们存入数组RES中。
|       
 解:  |  
  ||||
| .MODEL SMALL | ||||
| .386 | ||||
| .387 | ||||
| .DATA | ||||
|  
       L  |  
    DD 4.0 | |||
| 
       F  | 
    DD 1000.0 | ;为了便于循环控制,F“从大到小”来计算 | ||
| 
       TEN  | 
    DD 10.0 | |||
| 
       Y  | 
    DD 100 DUP(?) | |||
| .CODE | ||||
| .STARTUP | ||||
| FLDPI | ;装入π | |||
| FADD | ST, ST(0) | ;自身相加,得到2π | ||
| FMUL | L | ;计算出不变的结果2πL | ||
| MOV | ECX, 100 | |||
| MOV | EDI, OFFSET Y-4 | |||
| again: | ||||
| FLD | F | |||
| FMUL | ST, ST(1) | ;得到一个计算结果2πLF | ||
| FSTP | dword ptr [EDI+4*ECX] | ;保存当前得到结果(从后向前) | ||
| FLD | F | |||
| FSUB | TEN | |||
| FSTP | F | ;F的值变小10.0 | ||
| LOOP | again | |||
| FCOMP | ;先前计算出结果2πL出栈,使之为空 | |||
| .EXIT 0 | ||||
| END | ||||