![]() | |
A bit of explanation Thursday, 21-Jan-99 11:44:11
Hi Pedro, I think you have found the calculation area... 8) (Yahoo!!!) I ran through it a few times and I think I know what some parts do... I've added a bit of comments to what you typed... CALL MSVBVM50!__vbaLenBstr IMUL EAX,EAX,0000029A <--Length of what you entered mulitple by 666 MOV [EBP-009C],EAX PUSH DWORD PTR [EBP-18] FILD DWORD PTR [EBP-009C] <--load result into floating point... FDIV REAL8 PTR [00401060] <--divide by 8 FDIV REAL8 PTR [00401068] <--divide by 60 FSUB REAL8 PTR [00401070] <--add 2 (should be subtract -2) FSUB REAL8 PTR [00401078] <--subtract 0.375 FSTP REAL8 PTR [0041403C] <--store result? FLD REAL8 PTR [EBP-20] FDIV REAL8 PTR [00401080] FMUL REAL8 PTR [00401088] FSTP REAL8 PTR [00414044] CALL MSVMVB50!__vbaLenBstr IMUL EAX,EAX,0000014D <--Length of what you entered mulitple by 333 MOV [EBP-00A0],EAX FILD DWORD PTR [EBP-00A0] <--load result into floating point... FDIV REAL8 PTR [00401060] <--divide by 8 FDIV REAL8 PTR [00401068] <--divide by 60 FSUB REAL8 PTR [00401070] <--add 2 (should be subtract -2) FSUB REAL8 PTR [00401078] <--subtract 0.375 FSUB REAL8 PTR [00401090] <--subtract 0.8375 FSTP REAL8 PTR [0041404C] <--store result? FLD REAL8 PTR [00414044] FCOMP REAL8 PTR [00401098] <-- 401098 = 72... so maybe something compared with 72 FSTSW AX SAHF JNZ 004133B2 Change this to JZ... For all the F commands, ignore the Fs and you will more or less know what it means... to see all the 0.375, 0.8375 values, make sure your data window is showing Long values... by typing "d L" minus quote. To see values after the math, make sure floating point stack window is on by typing "wf" and if it is not showing ST(0) etc, type "wf f" Bye! EB |
Pedros Thread (n/t) (21-Jan-99 06:26:03) |
|
Copyright © ProSoft 1997-1998
All rights reserved.