|
Главная -> Появление первого микропроцессора 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 4.2. обратная пропорциональность Дробно-рациональная функция обратной пропорциональности у -а/х (аФ), в частности у - \/х, определена на множестве всех действительных ненулевых чисел. Поскольку функция является нечетной, ее график симметричен относительно начала координат и содержит Рис. 4.2. График функции обратной пропорциональности две ветви, расположенные в первом и третьем квадрантах декартовых координат, если с > О, и во втором и четвертом квадрантах, если а<0 (рис. 4.2). График функции представляет собой гиперболу, асимптотами которой являются оси координат хну. Программа ОБРАТ вычисляет функцию у-\/х путем деления единицы в формате числа с плавающей запятой lio=418000i6 на значение аргумента: 1800 12С0 0180 ORG 1800Н ДДИЗЗ SET 12С0Н ЕДПЗ SET 180Н ОБРАТ: ; *»**к***»)»»»»»»)(*»»х»**»**»*их х»)(»)(»»>-)(»»»»#хххх»» ПОДПРОГРАММА ВЫЧИСЛЕНИЯ ОБРАТНОЙ ВЕЛИЧИНЫ У(Х)=1/Х. ;ВХОДНЫЕ nAPAMETFti! (HrL)-АДРЕС АРГУМЕНТА X.ПРЕДСТАВЛЕН-;НОГО В ФОРМАТЕ 3-БАЙТНОГО ДВОИЧНОГО ЧИСЛА В ДОПО.ЧНИ-SТЕЛЬНОМ КОДЕ С ПЛАВАЮЩЕЙ ЗАПЯТОЙ-(ВгС)-АДРЕС ФУНКЦИИ ;У(X)гПРЕДСТАВЛЯЕМОЙ Б АНАЛОГИЧНОМ ФОРМАТЕ.ВЫХОДНОЙ ПА- 1800 СГР8001 1803 СГС012 1806 CP 0000 ;РА?!ЕТР:СУ=1-ПРИЗНАК ПЕРЕПОЛНЕНИЯ ИЛИ АНТИПЕРЕПОЛНЕНИЯ ;ПОРЯДКА РЕЗУЛЬТАТАтПРИЗНАК ДЕЛЕНИЯ НА АРГУМЕНТ х=о.ИС-МгаЛЬЗУЮТСЯ все регистры.сохраняются (Н.Е).(ВгС)гГЛУЕИ-;НА СТЕКА-10.ИСПОЛЬЗУЮТСЯ П0ДПР0ГРАММЫ:*ДДПЗЗ«.)(К0МЗ«. ЖДД11117»,»ПМА2».*ЕДПЗ*. ;ОЦЕНКА!ДЛИНА-7 БАЙТ (+178 БАЙТ ПОДПРОГРАММ).ВРЕМЯ-НЕ ;БОЛЕЕ 2883 ТАКТОВ (С УЧЕТОМ ПОДПРОГРАММ). ;ЗАНЕСЕНИЕ "1" в ФОРМЕ С ПЛАВАЮЩЕЙ ЗАПЯТОЙ В РЕЗУЛЬТАТ CALL ЕДПЗ !ДЕЛЕНИЕ "1" НА АРГУМЕНТ X CALL ДДПЗЗ !(В.с)-АДРЕС ФУНКЦИИ RET ;СУ-1.ЕСЛИ ОШИБКА Формирование единицы с плавающей запятой в заданной области памяти выполняет программа ЕДПЗ: 0180 0180 0181 0182 0183 0185 0186 0188 0189 018В 018С 0000 50 59 ЕВ 3641 3680 23 3600 ORG 180Н ЕДПЗ! ;«)(»»»х»«»»»»«»)(»»»»»»»х»»»»»»»»кк**хх»»х»хх*)(хххх»х»»хх .-ПОДПРОГРАММА ЗАПИСИ ЕДИНИЦЫ В ФОРМАТЕ С ПЛАВАЮЩЕЙ ЗАПЯ-гТОИ в УКАЗАННУЮ ОБЛАСТЬ ПАМЯТИ. гВХОДНОИ ПАРАМЕТР:(В.С)-АДРЕС ОБЛАСТИ ПАМЯТИ.ИСПОЛЬЗУЮТ-;СЯ РЕГИСТРЫ (В,E).(H.L).СОХРАНЯЮТСЯ (H.L). (В.О . ;0ЦЕНКА!ДЛИНА~13 ЕАИТ.ВРЕМЯ-59 ТАКТОВ. ;»*»»»хх»»»»»»»»»«ххх»кхкх)(к»х»»»»»»»х»»ххх)(к»»»»»*х»)(х» мои В. В MOV E.C ;(D.E)-АДРЕС ОБЛАСТИ ПАМЯТИ XCHG !(H.L)-АДРЕС ОБЛАСТИ ПАМЯТИ fЗАПИСЬ ПОРЯДКА MVI INX MVI INX MVI XCHG RET END h.41H H h.80H H M.OOH 5ЗАПИСЬ CTE МАНТИССЫ гЗАПИСЬ МЛБ МАНТИССЫ гВОССТАНОВЛЕНИЕ (H.L) В случае переполнения или антипереполнения порядка результата, а также при попытке деления на нулевой аргумент в программе ОБРАТ устанавливается признак переноса CY= 1. Тестовые данные программы приведены в табл. 4.1. Табл. 4.1. Тестовые данные у=1/х
0,1379-10- 0,1379-10+ 0,1000-10+" Окончание табл. 4.1 3AEIEE 41В082 79В1А0 0,7252-10+2 0,7252-10° 0,1000-10- 479109 40В 9А5 08В 87А 4.3. степенная функция Рациональная степенная функция у = х", п 2, определена на множестве всех действительных чисел и является четной либо нечетной соответственно при четном n = 2k или нечетном n = 2k-\-\ показателе. График четной функции симметричен относительно оси ординат, расположен выше оси абсцисс и касается ее в точке {х, у)==(0, 0) (рис. 4.3, а). Точка (О, 0) считается точкой и-кратного касания, или п-кратным нулем: в этой точке функция имеет минимум. График нечётной функции симметричен относительно начала координат (рис. 4.3,6). Точка (О, 0) является точкой перегиба графика. Графики степенной функции называют параболами п-го порядка, все они проходят через точки (О, 0) и (1, 1). Графики степенной функции более общего вида у = ах" образуются при а>0 растяжением ординат, а при а-<0 - растяжением и зеркальным отображением относительно оси абсцисс. Программа СТЕП вычисляет степенную функцию у = х" «в лоб», т. е. путем п-кратного умножения аргумента х: 1ЙА0 1220 01S0 1860 сг18001 org 1860Н УДПЗЗ SET 1220Н ЕДПЗ SET 180Н СТЕП: ;ПОДПРОГРАММА ВЫЧИСЛЕНИЯ СТЕПЕНИ У(Х)=хххм (N < 256). гВХОДНЫЕ ПАРАМЕТРЫ:(HrL)-АДРЕС АРГУМЕНТА X»ПРЕДСТАВЛЕН-гНОГО в ФОРМАТЕ 3-БАИТНОГО ДВОИЧНОГО ЧИСЛА В ДОПОЛНИ-гТЕЛЬКЮМ КОДЕ с плавающей ЗАПЯТОЙ.(А)-показатель СТЕПЕНИ гв ФОРМАТЕ ЦЕЛОЧИСЛЕННОГО ДВОИЧНОГО БЕЗЗНАКОВОГО ЧИСЛА. г(В.С)-АДРЕС степени.выходной ПАРАМЕТРгСУ=1-ПРИЗНАК ПЕ-гРЕПОЛИЕНИЯ ИЛИ АНТИПЕРЕПОЛНЕНИЯ ПОРЯДКА СТЕПЕНИ.ИСПОЛЬ-гЗУЮТСЯ ВСЕ РЕГИСТРЫ.СОХРАНЯЮТСЯ (H.L).(В.С).(А).ГЛУБИНА гСТЕКА-20.ИСПОЛЬЗУЮТСЯ ПОДПРОГРАММЫ!хУДПЗЗх.хКОМЗх.хЕДПЗ г «ОБНЗх, »У ДФ17х. ХНМАН2Х, хДОПВх, хДОПДх. ху32Бх, хУ24Ах. гОЦЕНКА!ДЛИНА-26 ЕАИТ (+241 БАЙТ ПООДПРОГРАММ).ВРЕМЯ-НЕ гЕОЛЕЕ (135+2117XN) ТАКТОВ (С УЧЕТОМ ПОДПРОГРАММ). г»хххххх»х»*хх»ххх»«»ххххххххххххххх-*ххххххх»хх»хх»хх*хх г ЗАНЕСЕНИЕ В РЕЗУЛЬТАТ "1" В ФОРМЕ С ПЛАВАЮЩЕЙ ЗАПЯТОЙ CALL ЕДПЗ 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.0356 |
|