Найти

Методические указания по Организации ЭВМ и систем

Лабораторная работа 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                ;конец программы
Рейтинг SIMPLETOP.NET
Rambler's Top100 Powered byCeleron©
Бесплатный хостинг от EOMY.NET