Доставка цветов в Севастополе: SevCvety.ru
Главная -> Появление первого микропроцессора

0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 [67] 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116

гЛЯЕМОЙ в АНАЛОГИЧНОМ ВИДЕ.ВЫХОЛНОИ ПАРАМЕТР:СУ=1-ПРИЗ-SHAK ПЕРЕПОЛНЕНИЯ ИЛИ АНТИПЕРЕПОЛНЕНИЯ ПОРЯДКА РЕЗУЛЬТА-ЯА.ИСПОЛЬЗУЕТСЯ ДОПОЛНИТЕЛЬНАЯ РАБОЧАЯ ОБЛАСТЬ ПАМЯТИ ГКОЭФ" ОБЬЕМОМ 8*3=24 БАЙТ ДЛЯ ХРАНЕНИЯ КОЭФФИЦИЕНТОВ гСТЕПЕННОГО РЯДА.ИСПОЛЬЗУЮТСЯ ВСЕ РЕГИСТРЫ,СОХРАНЯЮТСЯ ! (H.L) f(DrE) .ГЛУБИНА СТЕКА-ЗО.ИСПОЛЬЗУЮТСЯ ПОДПРОГРАММЫ! ? «ПОЛИН*.«УДПЗЗ*.«КОМЗ*.«ОБНЗ*,«УДФ17*,«НМАН2*.«СДПЗЗ«. f «0БМЗ«.«ДМАН2*.*ПМАН2«.*ПМЗ«,«ДОПЕ*,«ДОПД«.«У32Е«.«У24« гОЦЕНКА:ДЛИНА-19 ЕАЙТ (+556 ЕАЙТ ПОДПРОГРАММ) ,БРЕМЯ-НЕ гЕОЛЕЕ 37770 ТАКТОВ (С УЧЕТОМ ПОДПРОГРАММ). ;««««**««««»««««»*«««»«»*««««««««*««««««*«»»««««*«««««»*

гПОДГОТОЕКА РЕГИСТРОВ К ВЫЧИСЛЕНИЮ ПОЛИНОМА

1А30 Е5

PUSH

гСОХРАНЕНИЕ АДРЕСА АРГУМЕНТА

1А31 D5

PUSH

гСОХРАНЕНИЕ АДРЕСА ФУНКЦИИ

1А32 ЗЕ07

г(А)-СТЕПЕН1з ПОЛИНОМА

1А34 11431А

В.КОЭФ

г(D.E)-АДРЕС КОЭФФИЦИЕНТОВ

гВЫЧИСЛЕНИЕ

ПОЛИНОМА

1А37 CDE018

CALL

ПОЛИН

1АЗА D1

гВОССТАНОЕЛЕНИЕ АДРЕСА РЕЗУЛЬТАТА

гПЕРЕМЕЩЕНИЕ РЕЗУЛЬТАТА ИЗ ОБЛАСТИ "БУФЕР"

1АЗВ 213119

Н.ЕУФЕР

1АЗЕ СВБЭОО

CALL

1А41 Е1

гВОССТАНОВЛЕНИЕ АДРЕСА АРГУМЕНТА

1А42 С9

гСУ=1.ЕСЛИ ОШИБКА ПОРЯДКА

гОБЛАСТЬ КОЭФФИЦИЕНТОВ А(0).....А(7)

1А43 00

КОЭФ: DB

гА(о)=о

mi Г

ООООН

;А(1)=1=41 80 ООН

1А47 8000

0080Н

1А49 00

гА(2)=0

1А4А 0000

ООООН

1А4С BE

ОВЕН

гА(3)=-0,1667=ЕЕ 55 4СН

1A4D 554С

4С55Н

1A4F 00

гА(4)=0

1А50 0000

ООООН

1А52 ЗА

гА(5)=0.8333«10х«(-2)=ЗА 88 87Н

1А53 8887

8788Н

1А55 00

гА(6)=0

1А56 0000

ООООН

1А58 Е4

0Б4Н

гА(7)=-0.1984«10»«(-3)=В4 2F F7H

1А59 2FF7

0F72FH

0000

Программа вычисляет синус посредством подпрограммы ПОЛИН, поэтому в ней фиксированы значения и младших нулевых коэ(фициентов полинома Тейлора. Для нахождения синуса при значениях аргумента вне диапазона [ - п/4, л/4] полезны формулы приведения: sinx = cos (л / 2 - jc); sinx = sin (л - х) = - sin (л -- х) = = - sin(2n - х); sin х = sin(jt; 4- k • 2л).

Функция у = cos л: разлагается в ряд Тейлора:

cosx=l----[--g-4--g--... (4.11)



с радиусом сходимости R - оо. Для обеспечения той же точности вычислений и в том же диапазоне, что и для функций синуса, достаточно взять первые 4 члена ряда (4 1\) с коэффициентами: 1; -1/2! = -0,5; 1/4! = = 0,4167-10- и -1/6! =-0,1389-10-2. Этот метод использует программа вычисления косинуса КОС:

1а70 18е0 1931 00е8

OftB 1А70Н ПОЛИН SET 18Е0Н

ВУФЕР SET 1931Н

ПМЗ SET 0В8Н

КОС!

{«»«»*«*« »Н(«ККК)И(КК»««»*)(«»»*»*КХ«Х»**«»**» ««к»**

{ПОДПРОГРАММА ВЫЧИСЛЕНИЯ КОСИНУСА ОСТРОГО УГЛА У=С05 X, {ГДЕ (-"ПИ"/« <= X <= +"ПИ"/4).

{ВХОДНЫЕ ПАРАМЕТРЫ!(Н»и)-АДРЕС АРГУМЕНТА,ПРЕДСТАВЛЕННОГО {б ФОРМЕ 3-БАйТНОГО ДВОИЧНОГО ЧИСЛА Б ДОПОЛНИТЕЛЬНОМ {КОДЕ С ПЛАВАЮЩЕЙ ЗАПЯТОЙ» (D,E)-АДРЕС ФУНКЦИИ»ПРЕДСТАВЛЯ-{ЕМОЙ б АНАЛОГИЧНОМ ВИДЕ.ВЫХОДНОЙ ПАРАМЕТР:СУ=1-ПРИЗНАК {ПЕРЕПОЛНЕНИЯ ИЛИ АНТИПЕРЕПОЛНЕНИЯ ПОРЯДКА РЕЗУЛЬТАТА. {ИСПОЛЬЗУЕТСЯ ДОПОЛНИТЕЛЬНАЯ РАБОЧАЯ ОБЛАСТЬ ПАМЯТИ {"КОЭФ" ОБЪЕМОМ 7хЗ=--21 BAIW ДЛЯ ХРАНЕНИЯ КОЭФФИЦИЕНТОВ {СТЕПЕННОГО РАДА.ИСПОЛЬЗУЮТСЯ ВСЕ РЕГИСТРН»СОХРАНЯЮТСЯ ;(H»L)»(D»E).ГЛУБИНА СТЕКА-30.ИСПОЛЬЗУЮТСЯ ПОДПРОГРАММЫ: {«ПОЛИН*»«УДПЗЗ*»«КОМЗ*»*0БНЗ*»*УДФ17*» «НМАН2*.*СДПЗЗ*» {*ОЕМЗ*,*ДМАН2*»ХПМАН2*»*ПМЗ*»*ДОПБ*»*ДОПЯ*»*У32Б*,*У24А {0ЦЕНКА!ДЛИНА-19 БАЙТ (+556 БАЙТ ПОДПРОГРАММ),БРЕМЯ-НЕ {БОЛЕЕ 32820 ТАКТОВ (С УЧЕТОМ ПОДПРОГРАММ). {**»»***************««*************«******«************* {ПОДГОТОВКА РЕГИСТРОВ К ВЫЧИСЛЕНИЮ ПОЛИНОМА

1а70 е5

push

{сохранение адреса аргумента

1а71 d5

push

{сохранение адреса функции

1а72 зе06

a»6

{(а)-степень п0лин0ма=6

1а74 11831а

0»коэф

{(d»e)~AflPEC коэффициентов

{вычисление полинома

1а77 cde018

call

полин

1а7а d1

{восстановление адреса результата

{перемещение результата из области "буфер"

1а7б 213119

h»буфер

1а7е cdb800

call

1а81 е1

{восстановление адреса аргумента

1а82 с9

{СУ=1,если objhbka порядка

{область коэффициентов а(0)»...»а(6)

1а83 41

коэф: вв

{а(0)=1=41 80 оон

1а84 8000

0080h

1а86 00

{а(1)=0

1а87 0000

оооон

1а89 СО

осон

{А(2)=-0,5=С0 80 оон

1а8а 8000

0080н

1а8с 00

!а(3)=0

1а8в 0000

оооон

1a8f ЗС

{А(4)=0,4167*10**(-1)=ЗС АА анн

1а90 aaad

oadaah



1А92 00 1А93 0000 1А95 В7 1А96 49F2 0000

DB DU DB DU END

ООН JA(5)=0 OOOOH

0Б7Н ?A(6)= 0F249H

-0,1389»10»*(-2)=B7 49 F2H

Для нахождения функции у = cosx при значениях аргумента вне диапазона [-я/4, л/4] можно использовать формулы приведения cosx= 5т(л/2 - х); cosx= -cos(n -х) = -cos(n-{-х) =соз(2л -х); созл; = = cos(x -f k • 2л). Тестовые данные для программ СИН и КОС приведены в табл. 4.7 и 4.8.

Табл. 4.7. Меры углов

Градусы

Радианы

/1,0

/1.6

45 20 5 -5 -20 -45

0,7854-10° 0,3491-10° 0,8727-10- -0,8727-10- -0,3491-10° -0,7854.10°

40СЭ10

3FB2BE

3DB2BA

BD4D46

BF4D42

C036F0

Табл. 4.8. Тестовые данные t/=sinx, t/=cosx

X, грая

j/=sinx

y=cosx

/1,0

45 20 5 -5 -20 -45

0,7071.10° 0,3420. 10° 0,8716- 10-

0,8716- 10- - 0,3420- 10°

0,7071 . 10°

40В504

3FAF22

3DB280

BD4D80

BF50DE

C04AFC

0,7071 0,9397 0,9962 0,9962 0,9397 0,7071

•10° .10° •10° .10° .10° .10°

40В505 40F08F 40FF07 40FF07 40F08F 40В505

Функция y = tgx, как и функции синуса, косинуса, может быть представлена рядом Тейлора. Однако этот ряд сходится гораздо медленнее, чем ряды (4.10), (4.11), и, следовательно, требует много членов для обеспечения точности и необходимого диапазона аргумента. Для вычисления функций y = tgx и y - ctgx воспользуемся их определением посредством функции синуса и косинуса: tgx = sinx/cosx, ctgx = cosx/sinx. Программы ТАН и КОТАН вычисляют функции тангенса и котангенса на основе этих определений:



0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 [67] 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116



0.02
Яндекс.Метрика