|
Главная -> Появление первого микропроцессора 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 гЕСЛИ МНОЖИТЕЛЬ=0 S(A)=0 ;СОХРАНЕНИЕ МНОЖИТЕЛЯ !ЗАЦИКЛИВАНИЕ ;ВОССТАНОВЛЕНИЕ МНОЖИТЕЛЯ Программа У810 реализует точное умножение формата (2 • 4) • (2 • 4) = 4 • 4 двух десятичных двухразрядных чисел методом поочередного умножения младших (МЛЦ) и старших (СТЦ) цифр сомножителей: 08А0 0890 08F0 08А0 2600 08А2 08А4 08А5 08А6 08А7 08А8 08А9 08АА 08АС 08AD 08АЕ 08AF 08В0 08В1 3EF0 3EF0 ORG 8A0H У410 SET 890H C4410 SET 8F0H У810! SПОДПРОГРАММА ДЕСЯТИЧНОГО УМНОЖЕНИЯ 2-РАЗРЯДНЫХ БЕЗ-гЗНАКОВЫХ ДВОИЧНО-ДЕСЯТИЧНЫХ (КОД 8421)ЧИСЕЛ ФОРМАТА 8. !ВХОДНЫЕ ПАРАМЕТРЫ!(С)-МНОЖИТЕЛЬ»(Е)-МНОЖИМОЕ.ВЫХОДНОИ гПАРАМЕТР:(Н»Е)-ДВОИЧНО-ДЕСЯТИЧНОЕ ПРОИЗВЕДЕНИЕ.ИСПОЛЬ-?ЗУЮТСЯ ВСЕ РЕГИСТРЫгГЛУБИНА СТЕКА-6.ИСПОЛЬЗУЮТСЯ ПОД-гПРАГРАММЫ: »У410».»С4410». ;ОЦЕНКА:ДЛИНА-54 (+37 БАЙТА ПОДПРОГРАММ) БАЙТА.ВРЕМЯ-г-НЕ БОЛЕЕ 1543 ТАКТОВ (С УЧЕТОМ ПОДПРОГРАММ). MUI НгО ;ОБНУЛЕНИЕ СУММЫ ЧП !ВЫДЕЛЕНИЕ СТАРШИХ ЦИФР СТЦ СОМНОЖИТЕЛЕЙ HVI ANA RRC RRC RRC RRC HOU HVI ANA RRC RRC RRC RRC HOU A.OFOH E B>A AjOFOH ?(A)-HACKA HA СТЦ ;(D)-CTm ННОЖИМОГО ;(A)-МАСКА HA СТЦ !(В)-СТЦ2 МНОЖИТЕЛЯ 08B2 3E0F 08B4 A3 ;ВЫДЕЛЕНИЕ МЛАДШИХ ЦИФР МЛЦ СОННОЖИТЕЛЕй HUI A.OFH (А)-МАСКА НА МЛЦ ANA Е
Программа У810 o6paLuaeTCH к подпрограмме У410 и вспомогательной программе сложения СЧП и ЧП - программе С4410: 08F0 ORG 8F0H С4410г 5 ПОДПРОГРАММА ДЕСЯТИЧНОГО СЛОЖЕНИЯ 4- И 2-РАЗРЯДН11Х гВЕЗЗНАКОВЫХ ДВОИЧНО-ДЕСЯТИЧНЫХ (КОД 8421) ЧИСЕЛ СО ;СДВИГОМ ВТОРОГО СЛАГАЕМОГО НА ТЕТРАДУ ВЛЕВО. гВХОДНЫЕ ПАРАМЕТРЫ! (А)-2-РАЗРЯДНОЕ СЛАГАЕМОЕ, (HrD-г-4-РАЗРЯДНОЕ СЛАГАЕМОЕ.ВЫХОДНОЙ ПАРАМЕТР!(H»L)-ДBO-гИЧНО-ДЕСЯТИЧНАЯ СУММА.ИСПОЛЬЗУЮТСЯ РЕГИСТРЫ (А)г(С). гОЦЕНКА!ДЛИНА-21 ВАйТ,БРЕМЯ-107 ТАКТОВ. гК»»»»)»)»*)»»)!»)»*»»»»»)»»»»)»)»»»»»»»*»»»»»»*»»»»»»»»»»»»»)!»»
;ДВОИЧНО-ДЕСЯТИЧНОЕ СЛОЖЕНИЕ СТЦ С СУММОЙ ЧП 08FF 78 мои АгВ f.(A)-CTU 0900 8С ABC Н 0901 27 ВАА 0902 67 мои HfA 0903 С1 POP В 0904 С9 RET 0000 ENB Сравнивая быстродействие и затраты памяти программы У810 с аналогичной по точности программой двоичного умножения У88А1, можно заметить трехкратное преимущество последней по быстродействию и пятикратное по экономии памяти. Быстродействие программ десятичного умножения можно существенно повысить (увеличив затраты памяти) за счет применения табличных методов умножения [20]. 1.5. ДЕЛЕНИЕ ДВОИЧНЫХ ЧИСЕЛ 1.5.1. МЁТОЛИКА ДЕЛЕНИЯ Деление - операция, обратная умножению: нахождение одного из сомножителей (частного) по произведению (делимому) и второму сомножителю (делителю). С другой стороны, операцию деления можно рассматривать как умножение делимого на величину, обратную делителю. В связи с этим для чисел ограниченной точности граничная относительная ошибка деления определяется выражением (1.18), и, следовательно, значность частного не может быть больше значности наименее точного из делимых чисел. Очевидно, что если делимое и делитель представляются м-разрядными дробными числами, то частное также не должно содержать более п разрядов. Произведение точных целых м-разрядных чисел имеет разрядность 2м. Поэтому при делении таких чисел примем разрядности делимого и делителя соответственно 2п и п. Как отмечалось в § 1.1, множество целых чисел незамкнуто относительно операции деления, т. е. частное может быть не только точным целым числом, но и конечной или бесконечной дробью (правильной или неправильной), т. е. числом ограниченной точности. В связи с этим разрядность частного при делении целых чисел определяется необходимой точностью его вычисления и может превышать разрядность делимого или делителя. На практике деление целых чисел выполняется как деление с остатком: находятся целое неполное точное частное 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.0146 |
|