Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- int main()
- {
- double var_a = 3.1;
- double var_b = 2.9;
- double var_c = 1.57;
- double result;
- double zero = 0.0;
- double flag;
- double maxDouble = 1.7e308;
- __asm {
- finit
- fld var_a
- fld var_b
- fadd
- fclex
- fld var_c
- fadd
- fstp result
- }
- std::cout << "result = " << result << std::endl;
- __asm {
- finit
- fstsw ax
- fld zero
- fld zero
- fdiv
- fstsw ax
- //mov eax, cr0
- fstp result
- }
- std::cout << "result = " << result << std::endl;
- int controlDenormal = 2;
- double one = 1;
- double _result;
- __asm {
- finit
- //fldcw controlDenormal
- fld one
- fld maxDouble
- fdiv
- fstp result
- fld result
- fld one
- fadd
- fstp result
- }
- std::cout << "result = " << result << std::endl;
- int controlIvalid = 8;
- __asm {
- finit
- fldcw controlIvalid
- fld var_a
- fld zero
- fdiv
- fstp result
- }
- std::cout << "Divide by 0: " << result << std::endl;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement