|
Главная -> Появление первого микропроцессора 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 1500 0090 ООАС ОЕСО 0050 0120 1580 15Е0 15А0 1500 CD9000 1503 С21215 1506 Е5 1507 217A15 150А 3600 150С 23 150II CDACOO ORG 1500H комз SET 90h 0eh4 BET OACH ПФ16 SET OEDOH ДОПВ SET 50H л4свн SET 120H уф102 BET i580H дф102 SET 15E0H пман6 SET 15A0H ПДП32: ?подп№ГРАММА преобразования 3-баитного двоичного ЧИСЛА ;В дополнительном КОДЕ С плавающей запятой ФОРМАТА (8. ;16>-ШОР.ман) в 3-еаитное двоично-десятичное ЧИСЛО С гПЛАВАЮЩЕИ запятой в пряном коде формата ((+-0fPlP2P3F4J( ;х10»ХС+-м)).ГДЕ БАЙТ двоичного порядка содержит БИТ зна- гкА мантиссы и целочисленный двоичный порядок со СМЕЩЕ- ;НИЕМ +40Н.А 2 байта МАНТИССН-ДРОБНОЕ дв0ич1-ЮЕ нормали-;30ванн0е число в дополнительном КОДЕ?двоично-десятичное ?число содержит байт знака ЧИСЛА.2 ЕАИТА двоично-десятич- ;нои мантиссы,байт знака порядка и байт двухзначного ;порядка N. гВХОДНОИ параметр:(Н,е>-адрес двоичного числа.результат 5размещается В области памяти "буфер".используются все ;регистры,сохраняются <HrL).глубина стека-10„исп0льзуют-5ся ПОДПРОГРАММЫ:«КОНЗХ,хДОПВх,хПФ16х,хл4сбнх,хУФ102х. ; хДФ102х,»ПМАН6х, хуфшо». гОЦЕНКА:длина-122 еаит (+254 еаит подпрограмм),ВРЕНЯ-НЕ ;БОЛЕЕ (2105+1679хк) ТАКТОВтГДЕ К-двоичныи порядок. ;ххххххххххххххххххххххх»ххххххххххххххххх»ххххххххххххх гПРОВЕРКА исходного числа НА но.% CALL КОМЗ ;2==1,ЕСЛИ ЧИСЛО=0 JNZ ПЕР1 ;ЕСЛИ число не О ;обнуление результата В буфере PUSH н гСОХРАНЕНИЕ адреса LXI н.ЕУФЕР MVI MfO ;обнуление 1-го БАЙТА INX Н CALL 0БН4 ; обнуление 4 еаит -1 J 1 J 4ф Стд) J-1- -J 1 L I I-I-L J-I-L. /77. Puc. 3.2. Форматы двоичного Аг и десятичного Л10 чисел в программе перевода ПДП32
1535 1680 В,80Н г(В)=80-ЗНАК ПОРЯДКА гПРЕОБРАЗОВАНИЕ ДВОИЧНОЙ МАНТИССЫ В ДЕСЯТИЧНУЮ гСДВИГ МАНТИССЫ НА 1 ДЕСЯТИЧНЫЙ РАЗРЯД ВЛЕВО
Программа прежде всего проверяет значение преобразуемого числа и в случае равенства его нулю обнуляет область результата и заканчивает работу. Если исходное ЧИСЛО отличается от нуля, программа переводит мантиссу в прямой код и определяет модуль и знак несмещенного двоичного порядка. Далее двоичная мантисса преобразуется с помощью подпрограммы ПФ16 в эквивалентную пятиразрядную двоично-десятичную мантиссу, которая сдвигается на один десятичный разряд влево подпрограммой Л4СВН: 0120 ORG 120Н Л4СВН: 5П0ЛПР0ГРАММА ЛЕВОГО СДВИГА ЧИСЛА В РЕГИСТРАХ (B»H.L) С SЗАПОЛНЕНИЕМ СВОБОДНЫХ РАЗРЯДОВ НУЛЯМИ. гВХОДНОИ ПАРАМЕТР:(В.НгЕ)-ИСХОДН0Е ЧИСЛО.ВЫХОДНОЙ ПАРА-гМЕТР!(ВтНтЕ)-ЧИСЛО ПОСЛЕ СДВИГОВ.ИСПОЛЬЗУЕТСЯ РЕГИСТР А ;0ЦЕНКА:ДЛИНА-11 БАИТ.ВРЕМЯ-76 ТАКТОВ. ;хххххххххххххххххххххххххххххххххххххххххххххх*хххххххх
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.0088 |
|