Mam taki oto program
musze go przerobic zeby otrzymac wykres funkcji: y=[a*sin(b*x)]^2 +c
Bardzo prosze o pomoc albo wskazowki ktore funkcje koprocesora zmienic i ewentualnie jakie zmienne dodac.
pozdrawiam;)
============
tylko nie wiem jak zrobic zeby sie wartosc X zmieniala.
prosze o pomoc
Proszę nie pisać postu pod postem tylko używać przycisku ZMIEŃ.
Posty scaliłem.
[Dr.Vee]
;program graficzny rysunek funkcji
.MODEL SMALL
.STACK 100h
.386
.DATA
Wynik dd 0
Liczba dd 1.0
Liczba2 dd 100 ;opcjonalnie 100
Liczba3 dd 0.01
temp dd ?
.CODE
Start PROC
mov ax, @Data
mov ds, ax
; Inicjalizacja trybu graficznego
mov ax, 0012h
mov bh, 0h
int 10h
FINIT
mov bp, offset Wynik
call Rysuj_funkcje ;y=sin(tg(x))*cos(x)
mov ah, 00h
int 16h
call Koniec
Start ENDP
Koniec PROC
mov ah, 00h
mov al, 03h
int 10h
mov ah, 4Ch
int 21h
Koniec ENDP
;;;;;;;;;;;;;;;;;;;;;;;;Procedura rysowania wybranej funkcji
;;;;;;;;;;;;;;;;;;;;;;;;w cx wsp.X, w dx wsp.Y
;;;;;;;;;;;;;;;;;;;;;;;;a al kolor, bh numer strony, funkcja 0Ch w ah
Rysuj_funkcje PROC
mov cx, 639
mov bh, 0
mov al, 0011b
mov ah, 0Ch
mov cx, 0
Rysuj_petla:
FLD Liczba ;odluz liczbe 1 na stos
FLD Liczba3 ; liczbe 0.1
FADD
FST Liczba ;pobierz ze stosu bez usuwania
FCOS
FLD Liczba
FPTAN
FSTP temp ;zdemujemy cos
FSIN
FMUL
FILD Liczba2
FMUL
FRNDINT ;konwersja do liczby calkowitej
;FBSTP Wynik
FISTP Wynik
mov dx, 240
adc dx, WORD PTR Wynik
int 10h
inc cx
cmp cx, 639
jb Rysuj_petla
ret
Rysuj_funkcje ENDP
END Start
musze go przerobic zeby otrzymac wykres funkcji: y=[a*sin(b*x)]^2 +c
Bardzo prosze o pomoc albo wskazowki ktore funkcje koprocesora zmienic i ewentualnie jakie zmienne dodac.
pozdrawiam;)
============
Wynik dd 0
X dd 1.0
B dd 100
A dd 0.01
C dd 5.0
fld B
fmul X
fsin
fmul A
fmul st(0), st(0)
fadd C
fistp Wynik
tylko nie wiem jak zrobic zeby sie wartosc X zmieniala.
prosze o pomoc
Proszę nie pisać postu pod postem tylko używać przycisku ZMIEŃ.
Posty scaliłem.
[Dr.Vee]