|
Главная -> Появление первого микропроцессора 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 1259 71 125А El 125В CI 125C C9 0000 ПЕР2: FOP POP RET ENB ;С¥=1.ЕСЛИ ОШИБКА ПОРЯДКА Программа осуществляет контроль множителей на нуль с помощью подпрограммы КОМЗ и обнуление произведения в случае нулевого сомножителя с помощью подпрограммы ОБНЗ: ООАЗ ООАС AF OOAD 77 ООАЕ 23 OOAF 77 ООБО 23 0081 77 0082 23 ООБЗ 77 0084 2В 0085 2В 0086 гв 0087 С9 0000 ORG ОАЗН ОБНЗ: SПОДПРОГРАНМА ОБНУЛЕНИЯ 3-БАИТНОГО МАССИВА Б ЗАДАННОЙ гОБЛАСТИ ПАМЯТИ. ?ВХОДНОИ ПАРАМЕТР:(HjL)-НАЧАЛЬНЫЙ АДРЕС ОБНУЛЯЕМОГО МАС-;СИВА.ИСПОЛЬЗУЕТСЯ РЕГИСТР АтСОХРАНЯЕТСЯ <H,U. ;0иЕНКА:ДЛИНА-9 БАИТгВРЕМЯ-55 ТАКТОВ. ;«)(«)(»»)(»)()()()И(»»)нн(»)(»»»»»»»»»»»)(»х)(«)(ц«)«нни(»»)ииннн(»я г(А)=0
0БН4! JПОДПРОГРАММА ОБНУЛЕНИЯ 4-БАИТНОГО МАССИВА Б ЗАДАННОЙ ;ОБЛАСТИ ПАМЯТИ. ;ВХ0ДНОЙ ПАРАМЕТР: (Н»1.)-НАЧАЛЬННЙ АДРЕС ОБНУЛЯ»(ОГО МАС-!СИВА.ИСПОЛЬЗУЕТСЯ РЕГИСТР А.СОХРАНЯЕТСЯ (HfL). !0ЦЕНКА:ДЛИНА-12 БАИТ»ВРЕМЯ-72 ТАКТА. ;(М=0 Аналогичная программа обн4 используется в программе удп34 для обнуления четырехбайтного произведения. Применение программ КОМЗ и ОБНЗ сокращает среднее время выполнения программы УДПЗЗ, когда в по- токе сомножителей часто встречаются нулевые числа. При ненулевых сомножителях программа вычисляет порядок и мантиссу произведения и, если необходимо, выполняет нормализацию числа с помощью подпрограммы НМАН2, описанной выше. Заканчивается умножение записью результата в память. При переполнении или антипереполнении порядка произведения устанавливается признак переноса CY= 1, сигнализирующий о некорректности вычислений. При вычислении мантиссы произведения программа обращается к подпрограмме умножения УДФ17. Эта программа использует симметричный способ округления произведения, что определяет и соответствующую ему относительную ошибку. Для тестирования программы УДПЗЗ можно использовать данные табл. 2.3. 2.3.3. ФОРМАТ 18.24] • 18,24] = 8,24] Программа УДП34 выполняет умножение чисел в формате (8,24):
1270 50 1271 59 1272 eb 1273 cd9800 1276 eb 1277 c8 1278 cb9800 136 УДП34г !подпрограмма умножения 4-ЕАИТНЫХ двоичных чисел с пла-(ваюшеи запятой в дополнительном коде формата (8.24)= ;=(пор.ман)!где байт порядка содержит целочисленный део-;ичныи порядок со смешением +80н.а 3 байта мантиссы-СТБг ;срб»МЛБ-бит знака мантиссы и двоичное дробное нормали-S30EAHH0E число в дополнительном коде. (входные параметры:(Б.с)-адрес множимого.(H.L)-адрес мно-;жителя.выходные параметры:(в.о-адрес произведения ПР ((пр на месте множимого).cy-1-признак переполнения или (антипереполнения порядка пр.используются все регистри. (сохраняются (в.с).(HvL).глубина стека-хх.используются (подпрограммы:хК0М4х.Х0БН4Х,худ Ф24х,хНМАНЗх. (оценка(длина- 52 байт (+245 байт подпрограмм).бремя-(НЕ более 3277 тактов (с учетом подпрограмм)., (ХХХХХХХХХХХХХХХХХХХХХХХХХХХХХХХХХХХХХХХХХХХХХХХХХХХХХХХ (проверка множимого мм на ноль xchg cal.l xchg k0m4 ((d.e)-адрес mm (z=1.ecли mm=--0 (ЕСЛИ MM-0.(CY=0) (проверка множителя мн на ноль call к0м4 (г=1.если мн=0
Структура этой программы аналогична структуре УДПЗЗ. Программа обращается к рассмотренным выще подпрограммам КОМ4 и 0БН4 и программам НМАНЗ и УДФ24. Для тестирования можно использовать данные табл. 2.4. 2.4. деление двоичных чисел Деление z:y-x двоичных нормализованных чисел с плавающей запятой z=T -1, y = 2"-Y определяется выражениями: х=2"Z:2-¥==2!"Х = 2Г-Х; (2.17) у -Г. тх, если Х<С\; л, т,- Х-2-\ т, + 1, если где тх = тг - Шу-, X = Z/Y. Х>1, (2.18) 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.0061 |
|