Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- OBJETOSC
- section .text
- global _start
- _start:
- finit
- fld qword [r]
- fld1
- fldpi
- fld qword [ul3]
- fld qword [ul4]
- ;st0=ul4 st1=ul3 st2=pi st3=r
- fdivp ;st0=3/4 st1=pi st2=1 st3=r
- fmulp ;st0=3/4*pi st1=1 st2=r
- fxch st1 ;st0=1 st1=3/4*pi st2=r
- fmul st0, st2 ;st0=2 st1=3/4*pi st2=r
- fmul st0, st2 ;st0=4 st1=3/4*pi st2=r
- fmulp st2, st0 ;st0=8 st1=3/4*pi
- fmulp ;st0=3/4*pi*8
- fist dword [wynik]
- add dword [wynik], 48
- mov eax, 4
- mov ebx, 1
- mov ecx, wynik
- mov edx, 2
- int 80h
- mov eax, 1
- int 80h
- section .data
- wynik dd 0
- ul3 dq 3
- ul4 dq 4
- r dq 1.4
- KOLOS
- section .text
- global _start
- _start:
- FINIT
- mov eax, 0
- mov ebx, 10
- FLD qword [x1]
- FLD qword [x3]
- FLD qword [x2]
- FLDZ
- _petla:
- FADD st0, st3
- FXCH st3
- FADD st0, st1
- FXCH st3
- add eax,1
- cmp eax,ebx
- jb _petla
- _koniec:
- FIST dword [wynik]
- ADD dword [wynik], 48
- mov eax, 4
- mov ebx, 1
- mov ecx, wynik
- mov edx, 2
- int 80h
- mov eax, 1
- int 80h
- section .data
- x2 dq 0.1
- x1 dq 0.05
- x3 dq 0.95
- wynik dd 0
- Napisz program obliczający objętość kuli ze wzoru V=4/3 PI r3
- section .text
- global _start
- _start:
- mov dword[tmp1],4
- mov dword[tmp2],3
- FILD dword[tmp2]
- FILD dword[tmp1]
- FDIV st0,st1
- FLDPI
- FMUL st0,st1
- mov dword[pro1],1
- FILD dword[pro1]
- FLDZ
- FADD st0,st1
- FMUL st0,st1
- FMUL st0,st1
- FMUL st0,st2
- FIST dword[wynik]
- add byte[wynik],48
- mov eax,4
- mov ebx,1
- mov ecx,wynik
- mov edx,1
- int 80h
- mov eax,1
- int 80h
- section .data
- tmp1 dd 0
- tmp2 dd 0
- wynik dd 0
- pro1 dd 0
- Napisz program wypisujący wartości funkcji y=12x^2+2.25x-4.5 dla x z przedziału <0,1> z
- krokiem 0.1. Wyświetl część całkowitą otrzymanych wyników.
- section .data
- tmp1 dd 0
- tmp2 dd 0
- wynik dd 0
- pro1 dd 0
- [tokarczykp@galop kolokwium]$ cat plik2.asm
- section .text
- global _start
- _start:
- finit
- fild qword [dwanascie]
- fld qword [dwa]
- fld qword [cztery]
- fld qword [krok]
- _licz:
- fldz
- fldz ; st0=0 st1=0 st2=0.1 st3=4.5 st4=2.25 st5=12
- fadd st0, st5
- fmul st0, st2
- fmul st0, st2 ;st0=12*0,1^2
- fxch st1 ;st0=0 st1=12*0,1^2 st2=0,1 ...
- fadd st0, st4
- fmul st0, st2 ; st0=2,25*0,1 st1=12*0,1^2 st2=0,1 ...
- fxch st1 ; st0=12x^2 st1=2,25x st2=0,1 ...
- faddp st1, st0 ;st0=12x^2+2.25x st1=0.1 st2=4.5 st3=2.25 st4=12
- fsub st0, st2 ;st0=wynik st1=0.1 st2=4.5 st3=2.25 st4=12
- fabs
- fistp dword [wynik] ; st0=0.1 st1=4.5 ...
- add dword [wynik], 48
- mov eax, 4
- mov ebx, 1
- mov ecx, wynik
- mov edx, 2
- int 80h
- fld1 ; st0=1 st1=0.1 st2=4.5 ...
- fxch st1 ; st0=0.1 st1=1 st2=4.5
- fcomi st0, st1 ; porownanie x <=> 1
- fadd st0, st0 ;
- fxch st1
- fistp dword [wynik]
- jb _licz ; jesli
- mov eax, 1
- int 80h
- section .data
- dwanascie dq 12
- dwa dq 2.25
- cztery dq 4.5
- krok dq 0.1
- wynik dd 0
- Napisz program który obliczy podane wyrażenie:
- section .text
- global _start
- _start:
- FLD qword[zm1]
- FLD qword[zm2]
- FLD qword[zm3]
- FLD qword[zm4]
- FXCH st3
- FMUL st0,st2
- FXCH st1
- FDIV st0,st3
- FXCH st1
- FSUB st0,st1
- FABS
- FIST dword[wynik]
- add byte[wynik],48
- int 80h
- mov eax,4
- mov ebx,1
- mov ecx,wynik
- mov edx,1
- int 80h
- mov eax,1
- int 80h
- section .data
- zm1 dq 4.5
- zm2 dq 3.5
- zm3 dq 3.0
- zm4 dq 0.2
- wynik dd 0
- Napisz program sprawdzający która z 2 liczb zmiennoprzecinkowych jest większa i wyświetlający
- odpowiedni komunikat.
- section .text
- global _start
- _start:
- finit
- fld qword [l2]
- fld qword [l1] ; st0=3.0 , st1=1.0
- fcomi st0, st1
- ja _wieksze
- jz _rowne
- jb _mniejsze
- _wieksze:
- mov eax, 4
- mov ebx, 1
- mov ecx, wieksze
- mov edx, [wieksze_dl]
- int 80h
- jmp _koniec
- _rowne:
- mov eax, 4
- mov ebx, 1
- mov ecx, rowne
- mov edx, [rowne_dl]
- int 80h
- jmp _koniec
- _mniejsze:
- mov eax, 4
- mov ebx, 1
- mov ecx, mniejsze
- mov edx, [mniejsze_dl]
- int 80h
- jmp _koniec
- _koniec:
- int 80h
- mov eax, 1
- int 80h
- section .data
- l1 dq 1.1
- l2 dq 1.1
- wieksze db "liczba 1 jest wieksza od liczby 2",0ah
- wieksze_dl dd $-wieksze
- mniejsze db "liczba 1 jest mniejsza od liczby 2",0ah
- mniejsze_dl dd $-mniejsze
- rowne db "liczby sa rowne",0ah
- rowne_dl dd $-rowne
Advertisement
Add Comment
Please, Sign In to add comment