Доставка цветов в Севастополе: 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

аналогичного перевода для целых чисел, решение данной задачи можно упростить, используя готовые средства. Переход от целого числа к дробному осуществляется путем деления целого числа на некоторую степень. Поэтому преобразование десятичной дроби в двоичную можно представить как преобразование целого десятичного числа, изображенного в виде десятичной дроби, в эквивалентное целое двоичное число и деление последнего на соответствующую десятичную степень. Этот алгоритм реализуется программой ПФ10.

Программа ПФЮ преобразует четырехразрядную десятичную дробь [0,0000; 0,9999] в эквивалентную двухбайтную двоичную дробь Л2е[0000; , FFFFH]:

ОЕСО ОЕЮ 0Б20

ОЕСО СГИООЕ

ОЕСЗ 011027 0ЕС6 СГ1200Б 0ЕС9 ЕБ OECft С9 0000

ORG ОЕСОН П1016 SET 0Е10Н Д216 SET 0Б20Н

ПФЮ:

к*»»»»»»»»»»»»»

!ПОДПРОГРАММА ПРЕОБРАЗОБАНИЯ ДВОИЧНО-ДЕСЯТИЧНОГО БЕЗЗНА-SKOBOro ЧИСЛА С ФИКСИРОВАННОЙ ПЕРЕД СТАРШИМ РАЗРЯДОМ ЗА-SПЯТОЙ ФОРМАТА 4*4 Б ДВОИЧНОЕ ЧИСЛО С ФИКСИРОВАННОЙ ЗА-;ПЯТОЙ ФОРМАТА 16.

(ВХОДНОЙ ПАРАМЕТР:(ВгС)-ДВОИЧНО-ДЕСЯТИЧНОЕ ЧИСЛО (0.Р1Р2 SP3P4).ВЫХОДНОЙ ПАРАМЕТР:(HtL)-ЭКВИВАЛЕНТНОЕ ДВОИЧНОЕ (ЧИСЛО.ИСПОЛЬЗУЮТСЯ ВСЕ РЕГИСТРЫ.ГЛУБИНА СТЕКА-б.ИСПОЛЬ-(ЗУЮТСЯ ПОДПРОГРАММЫ!»П108».»П1016».»Д216»»»ДОПВ». (ОиЕНКА:ДЛИНА-11 ЕАЙТ (+102 БАЙТ ПОДПРОГРАММ)гВРЕМЯ-НЕ (БОЛЕЕ 2224 ТАКТОВ (С УЧЕТОМ ПОДПРОГРАММ).

(«К«К«К«К«««««««««««»КХХ«Х««)(««Х«ХХ«К««КК«««««КХ««Х«««««

(ДВОИЧНОЕ ПРЕОБРАЗОВАНИЕ ЧИСЛА (0.Р1Р2РЗР4)»10»»4

CALL П1016 ((HrD-OE ДВОИЧНОЕ ЧИСЛО (ДЕЛЕНИЕ двоичного «ЕЛОГО ЧИСЛА НА 10»*4=27ЮН

LXI В»2710Н (ЗАГРУЗКА КОНСТАНТЫ 10000

CALL Д216 ((ВтЕ)-ЧАСТНОЕ

XCHG ((HtL)-ЧАСТНОЕт(ВтЕ)-ОСТАТОК

С помощью подпрограммы П1016 эта программа преобразует целое десятичное число в двоичное, а затем делит последнее на степень 10o=2710i6. В соответствии с формулой (3.7) точность преобразования достаточна для сохранения точности исходной десятичной дроби. Тестовые данные для программы ПФЮ приведены в табл. 3.1.



Табл. 3.1. Дробные числа Ло-»-Л1

А,«

-4,6

0.5000

,8000

0.6666

,ААА6

0,2500

,4000

0,9960

.FEF9

0,9999

,FFF9

0,0038

,00 F9

0,5555

,8Е35

0.1250

,2000

0.3333

.5553

0,0625

.1000

3.5. преобразования дробных двоичных чисел в десятичные

Программа ПФ16 преобразует двухбайтную двоичную дробь Лг е [,0000; , FFFFH] в эквивалентную пятиразрядную десятичную дробь A\q\Q), 00000; 0,99999] по формуле (3.5):

ОЕВО 0F00

ORG оевон УФ«10 SET ОЕООН

;»»»»»»»»»»»» »»»»»»»»»»»»»»»)Ж»)(»«»«»««»»»)(»н»ж»и»»»)(»к« ;ПОЙПРОГРАММй ПРЕОБРАЗОВАНИЯ ДВОИЧНОГО БЕЗЗНАКОВОГО ЧИС-;ЛА с ФИКСИРОВАННОЙ ПЕРЕД СТАРШИМ РАЗРЯДОМ ЗАПЯТОЙ ФОР-SMATA 16 В ДВОИЧНО-ДЕСЯТИЧНОЕ ЧИСЛО С ФИКСИРОВАННОЙ ЗА-гПЯТОй <.Р1Р2РЗР4Р5> ФОРМАТА 5*4,

;ВХОДНОЙ ПАРАМЕТР:(ВгС)-ДВОИЧНОЕ ЧИСЛО.ВЫХОДНЫЕ ПАРАМЕТ-;РЫ!(АтН»и)-ЭКВИВАЛЕНТНОЕ ДВОИЧНО-ДЕСЯТИЧНОЕ ЧИСЛО.ИС-гПОЛЬЗУЮТСЯ все регистры.глубина СТЕКА-10.ИСПОЛЬЗУЮТСЯ ? ПОДПРОГРАММЫ:»УФ«10».

;оценка:ДЛИНА-38 БАЙТ (+30 БАЙТ ПОДПРОГРАММ)гБРЕМЯ-НЕ ?БОЛЕЕ 1099 ТАКТОВ.

fПОСЛЕДОВАТЕЛЬНОЕ УМНОЖЕНИЕ ИСХОДНОГО ЧИСЛА НА 10

ОЕВО CD000F

CALL

УФШО

ОЕВЗ F5

PUSH

гСОХРАНЕНИЕ ЦИФРЫ PI

0ED4 CDOOOF

CALL

УФШО

0ED7 F5

PUSH

гСОХРАНЕНИЕ ЦИФРЫ P2

0ED8 CDOOOF

CALL

УФШО

OEDB F5

PUSH

гСОХРАНЕНИЕ ЦИФРЫ РЗ

OEDC CDOOOF

CALL

УФШО

OEDF F5

PUSH

гСОХРАНЕНИЕ ЦИФРЫ Р4

ОЕЕО CDOOOF

CALL

УФШО

ОЕЕЗ 6F

г(L)-ЦИФРА Р5

!УПАКОВКА ЦИФР

РЕЗУЛЬТАТА В РЕГИСТРЫ

0ЕЕ4 Fl

гВОССТАНОБЛЕНИЕ ЦИФРЫ Р4

0ЕЕ5 07

0ЕЕ6 07

0ЕЕ7 07

ОЕЕЗ 07

0ЕЕ9 Б5

ОЕЕА 6F

г(Е)-ЦИФРЫ Р4гР5

ОЕЕВ F1

гВОССТАНОБЛЕНИЕ ЦИФРЫ РЗ



ОЕЕС 67

ОЕЕВ Fl

ОЕЕЕ 07

OEEF 07

OEFO 07

0EF1 07

0EF2 Б4

ORft

0EF3 67

H>A

0EF4 Fl

0EF5 С9

0000

S(H)-ЦИФРА РЗ ЯЮССТАНОЕЛЕНИЕ ЦИФРЫ Р2

;<H»L)-ЦИФРЫ Р2РЗР4Р5 гВОССТАНОВЛЕНИЕ ЦИФРЫ Р1 г(А)-ЦИФРА Р1

Программа выполняет последовательное умножение ИСХОДНОЙ двоичной дроби на основание десятичной системы и выделение очередной двоично-десятичной цифры с помощью подпрограммы УЦФЮ:

OF00

ORG OFOOH

УФШО:

г »»»«»»»»»»)(»»»« »»»»»»»»»»»)()(»««»«)(»)(»»««

;ПОДПРОГРАММА УМНОЖЕНИЯ ДВОИЧНОГО БЕЗЗНАКОВОГО ЧИСЛА С гФИКСИРОВАННОЙ ПЕРЕД СТАРШИМ РАЗРЯДОМ ЗАПЯТОЙ ФОРМАТА 16 гНА ОСНОВАНИЕ ДЕСЯТИЧНОЙ СИСТЕМЫ: 10.

гВХОДНОЙ ПАРАМЕТР:(В.С)-ЧИСЛО С ФЗ.ВЫХОДНЫЕ ПАРАМЕТРЫ: г(А)-ЦЕЛАЯ ЧАСТЬ ПРОИЗВЕДЕНИЯ (ДВОИЧНО-ДЕСЯТИЧНАЯ ЦИФРА) ; (ВгС)-ДРОБНАЯ ЧАСТЬ ПР0ИЗЕЕДЕНИЯ„ИСП0ЛЬЗУиТСЯ ВСЕ РЕ-

ггистры.

гОЦЕНКА:ДЛИНА-30 БАЙТ-БРЕМЯ-172 ТАКТА. г»»»»»»»»»х»»»*»»»»»«-»»»»»»-х»»»»»»к»»»»»»»»»»»«*«»»*»»»» гПОДГОТОВКА РЕГИСТРОВ

0F00 60

OF01 69

г(HгL)-чиcлo с ФЗ

0F02 50

D>B

0F03 5?

E»C

;(ВгЕ)-число с ФЗ

0F04 AF

; (А) -=0

«F05 47

B>A

0F06 4F

;(ВгС)=0

гсдвиг ЧИСЛА

С ФЗ ВЛЕВО НА 1 РАЗРЯД Б (B.HrL)

0F07 29

0F08 88

0F09 47

г(BгHгL)-ЧИCЛO с Ф3*й

гСДЕИГ ЧИСЛА

С ФЗ ВЛЕВО НА 3 РАЗРЯДА В (CiD.E)

OFOA ЕВ

ХСНС

г(Н.Е)-ЧИСЛО с ФЗ

OFOB 29

г ПЕРВЫЙ СДВИГ

OF0C 79

А»С

OFOD 17

OFOE 4F

OFOF 29

гВТОРОЙ СДВИГ

0F10 79

0F11 17

0F12 4F

0F13 29

г ТРЕТИЙ СДВИГ

0F14 79

0F15 17

0F16 4F

0F17 ЕЕ

XCHG

г(СгВгЕ)-ЧИСЛО с Ф3»8



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