例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

关 闭