|
Методические указания по Организации ЭВМ и систем
Лабораторная работа 9.
Пример решения:
;Герасимов Максим гр. 22-6 л.р.#9 23.11.00
;cosX(1+cosX(1+cosX))+sinX(1+sinX(1+sinX))
;
masm
model small
stack 256
.data
X dd 96
.code ;сегмент кода
.386 ;чтобы понимал команды сопроцессора
;----------------------------
calc_ur proc
fld1
fadd st(0),st(1) ;st(0)= 1+st(1)
fmul st(0),st(1) ;st(0)= st(0)*st(1)
fadd st(0),st(2) ;st(0)= st(0)+1
fmul st(0),st(1) ;st(0)= st(0)*st(1)
ret
calc_ur endp
;----------------------------
main:
mov ax,@data
mov ds,ax
;----------------------------
fld1 ;загрузка 1
fld X ;st(0)= X, st(1)= 1
fsin ;st(0)= sinX
call calc_ur
fxch st(2)
fld X ;st(0)= X, st(1)= 1
fcos ;st(0)=cosX
call calc_ur
fadd st(0),st(4) ;st(0)= cosX(1+cosX(1+cosX))+sinX(1+sinX(1+sinX))
;----------------------------
exit:
mov ax,4c00h ;стандартный выход
int 21h
end main ;конец программы
|