.file "student.asm" .text .global _student x: .tfloat 0.785398163 a: .tfloat 6 b: .tfloat 120 c: .tfloat 5040 _student: pushl %ebp movl %esp, %ebp //x fldt x //mocnina fldt x //mezivysledek //x na 3 fldt x fmul %st(2) fmulp %st(2) //zmenším zásobník //vydelime 3! fldz fadd %st(2) fldt a fxch fdivp %st(1) fchs //zaporne faddp %st(1) //přičteme k mezivýsledku, zmenšíme zásobník //x na 5 fldt x fmul %st(2) fldt x fmulp %st(1) fst %st(2) //vydelime 5! fldt b fxch fdivp %st(1) faddp %st(1) //přičteme k mezivýsledku, zmenšíme zásobník //x na 7 fldt x fmul %st(2) fldt x fmulp %st(1) fst %st(2) //vydelime 7! fldt c fxch fdivp %st(1) fchs //zaporne faddp %st(1) //přičteme k mezivýsledku, zmenšíme zásobník call _FPDUMP1 leave ret