
;*******************************************************
CODE    SEGMENT
        ASSUME CS:CODE,DS:CODE
        ORG 100H             ; Program typu .COM, CS=DS


START:  MOV  AX,CS            
        MOV  DS,AX           ; DS <- CS

	FLDZ		;zaladuj zero na stos
	FLD1		;zaladuj 1 na stos
	FADDP		;dodaj argumenty bedace na stosie
	FLDPI		;zaladuj wartosc PI na stos
	FMUL ST,ST(0)	;podnies do kwadratu wartosc ze szczytu stosu
	FSQRT		;oblicz pierwiastek z wartosci na szczycie stosu
	FADD A		;dodaj wartosc zmiennej A

	FILD B		;zaladuj na stos wartosc zmiennej B 
	FADD ST,ST(2)	;dodaj do wyniku pierwszej operacji

	FISTP B		;zapisz wynik staloprzecinkowy w zmiennej
	FXCH ST(1)	;zamien miejscami szczyt stosu z pozycja 1

	FFREE ST(1)	;zwolnij pozycje 1

	MOV AX,4C00H
	INT 21H


;*******************  Dane  ***********************
A	DQ	10.0
B	DQ	20

CODE ENDS
END START
