Доставка цветов в Севастополе: SevCvety.ru
Главная -> Появление первого микропроцессора

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



1510 1511

El С9

гВОССТАНОБЛЕНИЕ АДРЕСА

гРЕЗУЛЬТАТ=0

гВЫДЕЛЕНИЕ знака МАНТИССЫ,ПЕРЕВОД ЕЕ в ПРЯМОЙ КОД

1512

ПЕР1! PUSH

гСОХРАНЕНИЕ АДРЕСА

1513 1514 1515

г<А)-БАИТ ПОРЯДКА

гСОХРАНЕНИЕ БАЙТА ПОРЯДКА

Е680

гВЫДЕЛЕНИЕ ЗНАКА МАНТИССЫ

1517

327А15

БУФЕР

гЗАПОМИНАНИЕ ЗНАКА МАНТИССЫ

151А

151В

В>М

151С

151В

г(Б»С>-МАНТИССА

151Е

F22415

ПЕР2

гЕСЛИ ЗНАК МАНТИССЫ "+"

1521

CD5000

CALL

ДОПВ

г (В»С)-ДОПОЛНЕНИЕ МАНТИССЫ

ПРЕОБРАЗОВАНИЕ СМЕШЕННОГО ПОРЯДКА.БЫЙЕЛЕНИЕ ЕГО 31

1524

ПЕР2; MOV

г(А)-байт ПОРЯДКА

1525

E67F

гУДАЛЕНИЕ ЗНАКА МАНТИССЫ

1527

D640

гУДАЛЕНИЕ СМЕШЕНИЯ ПОРЯДКА

1529

FA3215

ПЕРЗ

гЕСЛИ ПОРЯДОК < о

152С

г(Е)-двоичный ПОРЯДОК

152D

1600

г (D)==0-3HAK ПОРЯДКА

152F

С33715

ПЕР4

гДОПОЛНЕНИЕ

ОТРИЦАТЕЛЬНОГО ПОРЯДКА

1532

ПЕРЗ! СМА

1533

1534

г(Е>-двоичный ПОРЯДОК

1535 1680

В,80Н г(В)=80-ЗНАК ПОРЯДКА

гПРЕОБРАЗОВАНИЕ ДВОИЧНОЙ МАНТИССЫ В ДЕСЯТИЧНУЮ гСДВИГ МАНТИССЫ НА 1 ДЕСЯТИЧНЫЙ РАЗРЯД ВЛЕВО

1537 D5

ПЕР4г PUSH

1538 CDDOOE

CALL

ПФ16

(a.H.L)-ДЕСЯТИЧНАЯ НАИТИСГА

153Б d1

153С cd2101

CALL

Л4СВН+1

; (В.H-L)-ДЕСЯТИЧНАЯ МАНТИССА

гПРОВЕРКА ВЕЛИЧИНЫ (НЕ 0 ?) И ЗНАКА ДВОИЧНОГО ПОРЯДКА

153F AF

1540 83

1541 СА5415

ПЕР5

гЕСЛИ ПОРЯДОК==0

1544 7А

1545 17

1546 DA4F15

пер6

гЕСЛИ ЗНАК

гУМНОЖЕНИЕ десятичной мантиссы на двоичный порядок

1549 CD8015

CALL

УФ102

г(B.H.L)-ДЕСЯТИЧНАЯ МАНТИССА

154С С35415

ПЕР5

г(d>-ДЕСЯТИЧНЫЙ ПОРЯДОК

гделение ДЕСЯТИЧНОЙ МАНТИССЫ НА ДВОИЧНЫЙ ПОРЯДОК

154F 1600

ПЕРб! MVI

1551 CDE015

CALL

дф102

г(В.H.L)-МАНТИССА.(d>-ПОРЯДОК

гОКРУГЛЕНИЕ 6-ЗНАЧНОЙ МАНТИССЫ до 4-ЗНАЧНОЙ

1554 7d

ПЕР5! MOV

A>L

г(А>-округлятор

1555 FE50

1ЬЬ7 FA6715

ПЕР7

гЕСЛИ ОКРУГЛЯТОР ( 50Н

155А 7С

155В с601

155D 27

155Е 67

1ЬЬИ 78



1560 СЕОО

1562 27

1563 47

1564 DCA015

ПМАН6

ЯВ.Н)-ДЕСЯТИЧНАЯ МАНТИССА

;ЗАПИСЬ РЕЗУЛЬТАТА В ПАМЯТЬ

1567 4С

ПЕР7г MOV

?СОХРАНЕНИЕ (Н>

1568 217В15

Н,БУФЕР+1

156В 70

; ЗАПИСЬ ЦИФР Р1Р2

156С 23

156D 71

?ЗАПИСЬ ЦИФР РЗР4

156Е 23

156F 7А

5(А)-ДЕСЯТИЧНЫЙ ПОРЯДОК СО ЗНАКОМ

1570 Е680

; ВЫДЕЛЕНИЕ ЗНАКА ПОРЯДКА

1572 77

;ЗАПИСЬ ЗНАКА па-ядкА

1573 23

1574 7А

яа>-ДЕСЯТИЧНЫЙ ПОРЯДОК СО ЗНАКОМ

1575 E67F

гУДАЛЕНИЕ ЗНАКА ПОРЯДКА

1577 77

fЗАПИСЬ ПОРЯДКА

1578 Е1

гВОССТАНОВЛЕНИЕ АДРЕСА

1579 С9

!ОБЛАСТЬ ЗАПОМИНАНИЯ

РЕЗУЛЬТАТА

157А

БУФЕР: DS

;5 байт

0000

Программа прежде всего проверяет значение преобразуемого числа и в случае равенства его нулю обнуляет область результата и заканчивает работу. Если исходное ЧИСЛО отличается от нуля, программа переводит мантиссу в прямой код и определяет модуль и знак несмещенного двоичного порядка. Далее двоичная мантисса преобразуется с помощью подпрограммы ПФ16 в эквивалентную пятиразрядную двоично-десятичную мантиссу, которая сдвигается на один десятичный разряд влево подпрограммой Л4СВН:

0120 ORG 120Н

Л4СВН:

5П0ЛПР0ГРАММА ЛЕВОГО СДВИГА ЧИСЛА В РЕГИСТРАХ (B»H.L) С SЗАПОЛНЕНИЕМ СВОБОДНЫХ РАЗРЯДОВ НУЛЯМИ. гВХОДНОИ ПАРАМЕТР:(В.НгЕ)-ИСХОДН0Е ЧИСЛО.ВЫХОДНОЙ ПАРА-гМЕТР!(ВтНтЕ)-ЧИСЛО ПОСЛЕ СДВИГОВ.ИСПОЛЬЗУЕТСЯ РЕГИСТР А ;0ЦЕНКА:ДЛИНА-11 БАИТ.ВРЕМЯ-76 ТАКТОВ.

;хххххххххххххххххххххххххххххххххххххххххххххх*хххххххх

0120 78

;<A»HrL)-исходное число

0121 29

гпервый сдвиг

0122 17

0123 29

;второй сдвиг

0124 17

0125 29

? третий сдвиг

0126 17

0127 29

г четвертый сдвиг

0128 17

0129 47

;(в,н»е)-число после сдвигов

012а с9

0000



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
Яндекс.Метрика