Assembler



         

X - 2


; - .
;--------------------------------------------
0004 TEN_TO_X PROC NEAR
;----ST(0)------;-----ST(1)-----;--ST(2)--
; X ; ? ; ?
0004 9B D9 E9 FLDL2T ; LOG2(10) ; X ; ?
0007 9B DE C9 FMULP ST(1),ST(0) ; X*LOG2(10)=E ; ? ; ?
000A D9 3E 0000 R FNSTCW OLD_CW ;---------------;---------------;--------
000E 9B FWAIT ;
000F A1 0000 R MOV AX,OLD_CW ;
0012 25 F3FF AND AX,NOT 0C00H ;
0015 0D 0400 OR AX,0400H ;
0018 A3 0002 R MOV NEW_CW,AX
001B 9B D9 2E 0002 R FLDCW NEW_CW ;---------------;---------------;--------
0020 9B D9 E8 FLD1 ; 1 ; E ; ?
0023 9B D9 E0 FCHS ; -1 ; E ; ?
0026 9B D9 C1 FLD ST(1) ; E ; -1 ; E
0029 9B D9 FC FRNDINT ; INT(E) = I ; -1 ; E
002C 9B D9 2E 0000 R FLDCW OLD_CW ; ; ;
0031 9B D9 CA FXCH ST(2) ; E ; -1 ; I
0034 9B D8 E2 FSUB ST(0),ST(2) ; E - I = F ; -1 ; I