Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- .section .text
- .globl suma
- suma:
- # prolog - nowa ramka stosu
- push %ebp
- movl %esp, %ebp
- # laduj a do st(0)
- fldl 8(%ebp)
- #laduj b do st(0), w st(1) jest b
- fldl 16(%ebp)
- # dodaj st(0) + st(1) -> st(0)
- faddp
- # wynik w st(0)
- # przywracamy stos
- mov %ebp, %esp
- pop %ebp
- # powrot
- ret
- .globl roznica
- roznica:
- push %ebp
- movl %esp, %ebp
- fldl 16(%ebp)
- fldl 8(%ebp)
- fsubp
- mov %ebp, %esp
- pop %ebp
- ret
- .globl mnozenie
- mnozenie:
- push %ebp
- movl %esp, %ebp
- fldl 16(%ebp)
- fldl 8(%ebp)
- fmulp
- mov %ebp, %esp
- pop %ebp
- ret
- .globl dzielenie
- dzielenie:
- push %ebp
- movl %esp, %ebp
- fldl 16(%ebp)
- fldl 8(%ebp)
- fdivp
- mov %ebp, %esp
- pop %ebp
- ret
- .globl pierwiastek
- pierwiastek:
- push %ebp
- movl %esp, %ebp
- fldl 16(%ebp)
- fldl 8(%ebp)
- fdivp
- mov %ebp, %esp
- pop %ebp
- ret
- .globl sinus
- sinus:
- push %ebp
- movl %esp, %ebp
- fldl 16(%ebp)
- fldl 8(%ebp)
- fdivp
- mov %ebp, %esp
- pop %ebp
- ret
- ==========================================================================================
- ==========================================================================================
- #include <stdio.h>
- #include <stdlib.h>
- double suma(double a, double b);
- double roznica(double a, double b);
- double mnozenie(double a, double b);
- double dzielenie(double a, double b);
- double pierwiastek(double a);
- double sinus(double a);
- double a = 4.0;
- double b = 1.1;
- double wynik_suma, wynik_roznica, wynik_mnozenie, wynik_dzielenie, wynik_pierwiastek, wynik_sinus;
- int main() {
- printf("Start\n") ;
- wynik_suma = suma(b,a);
- wynik_roznica = roznica(a,b);
- wynik_mnozenie = mnozenie(a,b);
- wynik_dzielenie = dzielenie(a,b);
- wynik_pierwiastek = pierwiastek(a);
- wynik_sinus = sinus(a);
- printf(" %f + %f = %f\n",a,b,wynik_suma);
- printf(" %f - %f = %f\n",a,b,wynik_roznica);
- printf(" %f * %f = %f\n",a,b,wynik_mnozenie);
- printf(" %f / %f = %f\n",a,b,wynik_dzielenie);
- printf(" sqrt(%f) = %f\n",a,wynik_pierwiastek);
- printf(" sin(%f) = %f\n",a,wynik_sinus);
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement