Доставка цветов в Севастополе: 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

E»C

5(D.E)-АДРЕС РЕЗУЛЬТАТА

181C спвеоо

CALL

гПЕРЕМЕЩЕНИЕ "1" В РЕЗУЛЬТАТ

181F Fl

гВОССТАНОВЛЕНИЕ N

snPOBEPKAsNO ?

1820 В7

!ПРОЯВЛЕНИЕ N

1821 C8

гЕСЛИ N=0»TO 0!=1

1822 F5

PUSH

гСОХРАНЕНИЕ N

1823 F5

PUSH

гСОХРАНЕНИЕ СЧЕТЧИКА ЧИКЛА

;ПРОВЕРКА КОНЧА ЧИКЛА

1824 Fl

ЧИКЛ: POP

гВОССТАНОВЛЕНИЕ СЧЕТЧИКА ЧИКЛА

1825 311

1826 CA4618

ПЕР1

гЕСЛИ СЧЕТЧИК=0

1829 F5

PUSH

гСОХРАНЕНИЕ СЧЕТЧИКА

;УВЕЛИЧЕНИЕ

МНОЖИТЕЛЯ HA ЕДИНИЧУ

182A E5

PUSH

гСОХРАНЕНИЕ АДРЕСА КОНСТАНТЫ

182B C5

PUSH

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

182C 014C18

В.БУФЕР

г (В.О-АДРЕС БУФЕРА

182F CCOOlO

CALL

СЛПЗЗ

1832 DA4318

ПЕР2

гЕСЛИ ОШИБКА ПОРЯДКА

1835 CI

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

гУМНОХЕНИЕ ЧАСТИЧНОГО ПРОИЗВЕДЕНИЯ НА МНОЖИТЕЛЬ

1836 214C18

Hi БУФЕР

S(H.L)-AflPEC БУФЕРА

1839 CI12012

CALL

УДПЗЗ

leSC DA44ie

ПЕРЗ

гЕСЛИ ОШИБКА ПОРЯДКА

183F El

гВОССТАНОВЛЕНИЕ АДРЕСА КОНСТАНТЫ

1840 C32418

ЦИКЛ

гЗАЦИКЛИБАНИЕ

гВиССТАНОВЛЕНИЕ РЕГИСТРОВ

1843 CI

ПЕР2: POP

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

1844 El

ПЕРЗ: POP

гБАЛАНС СТЕКА

1845 til

гБАЛАНС СТЕКА

1846 til

ПЕР1: POP

гВОССТАНОВЛЕНИЕ N

1847 7A

A>D

г(А)-ВЕЛИЧИНА N

1848 C9

гС¥=1,ЕСЛИ ОШИБКА

!ОБЛАСТИ КОНСТАНТЫ И БУФЕР*

1849 41

ОДИН: DB

гПОРЯДОК

184A 8000

0080Н

гМАНТИССА

184C

БУФЕР: DS

гЗ БАЙТА

0000

Программа использует две дополнительные трехбайт-ные области памяти ОДИН и БУФЕР для хранения константы единицы в форме с плавающей запятой и временного запоминания промежуточного произведения. Поскольку формат результата ограничивает представление максимального числа (см. табл. 2.1), вычисление факториала ограничено значением N =19. Программу ФАКТОР можно использовать для вычисления всех 19 значений факториала с последующим их табличным представлением, аналогичным представлению степеней в программе СТЕПА. Такой подход позволяет резко сократить время вычисления (поиска) факториала. Тестовые данные для программы ФАКТОР приведены в табл. 4.5.



1 0,1000-10 418000 9 0,2000-10 428000

3 0,6000-10 43С000

4 0.2400-10 45СО0О

5 0,1200-10 47EFFF

6 0,7200-10 4АВ400

7 0,5040-10* 4D9D80

8 0,4032-10 509D80

9 0,3629-10 53В130 10 0,3629- IC 56DD7C

4.7. показательная функция

Показательной является функция вида у = а, где а>0 и аф\. Функция определена на всем множестве действительных чисел и принимает только положительные значения, ограничена снизу, не имеет нулей и экстремумов, выпукла и непрерывна. При а > 1 она монотонно возрастает, при а <. 1 монотонно убывает. График функции расположен выше оси абсцисс и пересекает ось ординат в точке у=1 (рис. 4.6). Графики функций уа" и у - а" симметричны относительно оси ординат. Показательную функцию с основанием а можно свести к показательной функции с натуральным основанием е. Обозначим а = е{ЬфО). Тогда у = а= {6")" = 6" = ехр{Ьх). Функцию полученного вида называют экспоненциальной или экспонентой. Взяв натуральный логарифм от обеих частей последнего равенства, получим b ~\па. Таким образом, вычисление а можно свести к вычислению ехр{Ьх), где b = \па, или к вычислению ехр z, где z = bx. График функции у = е расположен между графиками функций у = = 2" я у = 3\

Экспоненциальная функция у = е, как было показано в § 4.1, хорошо аппроксимируется рядом Тейлора (4.5). Для обеспечения точности приближения порядка 0,5 X X 10" на сегменте [-1, +1] достаточно взять первые 8 членов ряда с коэффициентами 1, 1/1! = 1, 1/2! =0,5, 1/3!=.0,1667, 1/4! = 0,4167-10-, 1/5! = 0,8333 • IQ-, 1/6! = 0,1389-10-2 1/71=0,1984-10-1 Этод метод вычисления экспоненты реализует программа ЭКСПО:

1950

leEo

1931

ORG 1950Н ПОЛИН SET 18Е0Н БУФЕР SET 1931Н

ЗКСПО:

?ПОЯПРОГРйММА ВЫЧИСЛЕНИЯ ЭКСПОНЕНТЫ У=Е»»Х (-1<=Х<=+1). {ВХОДНЫЕ ПАРАМЕТРЫ:(HrL)-АДРЕС АРГУМЕНТА,ПРЕДСТАВЛЕННОГО



1950 ЗЕ07 1952 115919

1955 CIiEOie 1958 C9

1959 195A 195C 19511 195F 1960 1962 1963 1965 1966 1968 1969 196B 196С 196E 196F 0000

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

50ЦЕНКА!ДЛИНА-9 ЕАЙТ (+556 БАЙТ ПОДПРОГРАММ) .БРЕМЯ-НЕ ГЕОЛЕЕ 37 610 ТАКТОВ (С УЧЕТОМ ПОДПРОГРАММ). ;««««««««»»»»««««««««««««»«»«»»«««»«%«««x«H«««««»«»»»«»» ; ПОДГОТОВКА РЕГИСТРОВ К ВЫЧИСЛЕНИЮ ПОЛИНОМА

MVI А,7 ;(А)-СТЕПЕНЬ П0ЛИН0МА=7 LXI СгКОЭФ ?(В.Е)-АДРЕС КОЭФФИЦИЕНТОВ !ВЫЧИСЛЕНИЕ ПОЛИНОМА CALL ПОЛИН

RET 5С¥=1.ЕСЛИ ОШИБКА ПОРЯДКА !ОБЛАСТЬ КОЭФФИЦИЕНТОВ А(О).....А(7)

8000 41

8000

8000

ААБ4

АААВ ЗА 8887 37

В60Е

11009

КОЭФ:

СВ BU ВБ ВЫ ВВ ВЫ ВВ tiU ВВ

СВ tiU ВВ DU ВВ

0080Н

0080Н

ооеон

0В4ААН

OADAAH

8788Н

0ЕВ6Н

09D0H

;А(0)=1=41 80 ООН !А(1)=1=41 80 ООН 5А(2)-0.5-40 80 ООН ;А(3)=0.1667=ЗЕ АА В4Н ;А(4)=0.4167»10»»(-1)=ЗС АА АВН iiA(5)=0.8333»10»»(-2)=3A 08 е7Н

;А(6)=0.1389«10«»(-2)=37 Б6 ОЕН

SA(7)=0.1984»10»»(-3)=34 DO 09Н

Программа вычисляет экспоненту с помощью подпрограммы нахождения полинома ПОЛИН. Двоичные значения коэффициентов полинома получены предварительно посредством программы ППЗЮ. Тестовые данные для программы ЭКСПО приведены в табл. 4.6.

Табл. 4.6. Тестовые данные у=ех

0,1000-10°

3DCCCC

0,1105-10

418D76

0,3000-10°

3F999A

0,1350-10

41АСС9

0,8000-10°

40СССС

0,???6-10

428Е70

0,1000-10

418000

0,2718-10

42ADF9

-0,8000-10°

С03334

0,4493-10°

3FE60C



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.0068
Яндекс.Метрика