|
Главная -> Появление первого микропроцессора 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 06F6 47 мои BfA 06F7 El ПЕР2: POP H ; ВОССТАНОВЛЕНИЕ МЛАЙШИХ C9 RET ;БАЙТОВ ПР0ИЗВЕЙЕНИЯ 0000 END Тестовые данные для программы УД32 приведены в табл. 1.10. Табл. 1.10. Тесты умножения формата 16-16=32 (целые двоичные числа в дополнительном коде) Представ.1сние чисел шестнадцатеричное FFFF-FFFF = 00000001 ( 1).(-1) = + 1 FFFF-0001 = FFFFFFFF ( 1).(+1) = -1 FO0O-000F= FFFF1000 (-4096) • (+15)= -61440 FFOO- OOFF= FFFF0100 (-256) - (+255)= -65280 5555 - АААА = Е38Е1С72 (+21845) • (- 21846) = -477225870 7FFF-7FFF = 3FFF0001 (+32767) • (+32767)= + 1073676289 1.3.3.4. Формат 8-24=32 Программа УД248 реализует умножение чисел формата 8-24 = 32 как сумму произведений МН соответственно на МЛБ и СРБ ММ формата 8 • 16 = 24 и СТБ ММ формата 8-8=16, используя быстродействующие подпрограммы У24А и У88Б1 и операцию вычитания поправок из псевдопроизведения: 0700 ORG 700Н 05D0 У24А SET 5D0H 0570 У88Е1 SET 570Н УД248: ЯГОДПРОГРАМНА УМНОЖЕНИЯ «ЕЛНХ ДВОИЧНЫХ ЧИСЕЛ В ДОПОЛ-гНИТЕЛЬНОМ КОДЕ ФОРМАТА 24*8=32. гМЕТОД УМНОЖЕНИЯгРЕЗУЛЬТАТ 24»В=32 ОПРЕДЕЛЯЕТСЯ КАК ;СУММА ДВУХ СДВИНУТЫХ ОТНОСИТЕЛЬНО ДРУГ ДРУГА ПРОИЭ-;ВЕЙЕНИЙ ФОРМАТА 16*8=24 И 8)(8=16,П0ДУЧЕНИМХ УМНОЖЕ-;НИЕН МНОЖИТЕЛЯ СООТВЕТСТВЕННО НА МЛАДШИЕ И СТАРШИЙ ;БАЙТЫ МНОЖИМОГО-КАЖДОЕ ПРОИЗВЕДЕНИЕ ФОРМИРУЕТСЯ ЗА ;8 ЦИКЛОВ СДВИГА МНОЖИТЕЛЯ И СУММЫ ЧАСТИЧНЫХ ПРОИЗ-гВЕДЕНИЙ ВЛЕВО. ;ВХОДННЕ ПАРАМЕТРЫ:(СгВ»Е)-МНОЖИМОЕг(А)-МНОЖИТЕЛЬ. гВНХОДННЕ ПАРАМЕТРЫ:(BtCfHfL)-ПРОИЗВЕДЕНИЕ.ИСПОЛЬ-;ЗУЮТСЯ ВСЕ РЕГИСТРН.ГЛУЕИНА СТЕКА 12.ИСПОЛЬЗУЮТСЯ гПОДПРОГРАММН »У24А«.*У88Е1». ?ОЦЕНКА:ДЛИНА- 70 (+18 »У24А« + 17 «УвеВ!») БАЙТА» ;ВРЕМЯ-НЕ БОЛЕЕ 1264 ТАКТА (С УЧЕТОМ ПОДПРОГРАММ).
Для временного хранения промежуточных результатов в программе задействована область стека. Тестовые данные для программы УД248 приведены в табл. 1.И. Табл. 1.11. Тесты умножения формата 8-24=32 (целые двоичные числа в дополнительном коде) Представление чисел шестнадцатеричное десятичное FF-FFFFFF = 00000001 01 -FFFFFF = FFFFFFFF OF-F00000=FF100000 АА-555555 = £3555572 80-800000- 40000000 7F-7FFFFF = 3F7FFF81 (-1)-(-1) = + 1 (-1-1)-(-1)=-1 (+15) (-1048576) = -15728640 (-86) (+5592405)= -480946830 (- 128) - (-8388608) = +1073741824 (+127) - (+8388607) = +1065353089 1.3.4. ДРОБНЫЕ ЧИСЛА СО ЗНАКОМ 1.3.4.1. Умножение дробных чисел Программы, приведенные ниже, реализуют умножение дробных двоичных чисел в дополнительном коде форматов 16-16=16, 17-17=17, 24-24 = 24 на основе обращения к соответствующим подпрограммам целочисленной арифметики, рассмотренным выше. Кроме того, приводится программа умножения формата 16- 16 = 32, основанная на алгоритме Бута. Формат произведения здесь не ограничен форматом сомножителей, как в других программах умножения чисел ограниченной точности, что позволяет использовать программу и для умножения целых точных чисел. 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.0603 |
|