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

1427 29

1428 17

1429 05 142А С32214

142D IF 142Е 57 142F 5С

1430 78

1431 С608

1433 47

1434 79

1435 В7

1436 СА4514

1439 0D 143А ЗЕОА 143С CA1D14 143F 0D

1440 ЗЕ64 1442 C31D14

1445 48

1446 45

1447 6В

1448 62

1449 78 144А 17 144В ВО 144С 23 144D С9 0000

;Н0РМАЛИЗАЦИЯ:СЙВИГ ПРОИЗВЕДЕНИЯ ВЛЕВО BAD Н ?СЛВИГ (HrL)

RAL ;СДВИГ (А)

DCR В ;УМЕНЫ11ЕНИЕ ПОРЯДКА

JMP ЦИКЛ2 гЗАЦИКЛИВАНИЕ 2

гПРОВЕРКА ОКОНЧАНИЯ ЦИКЛА 1

ПЕР8: RAR

MOV MOV MOV ABI MOV MOV ORA JZ

ПЕР9

;(DrE>-CTBrCPE ПРОИЗВЕДЕНИЯ гУВЕЛИЧЕНИЕ ПОРЯДКА НА 8

?если цикл окончен

ПОДГОТОВКА РЕГИСТРОВ К ПРОДОЛЖЕНИЮ ЦИКЛА 1

DCR С ;УМЕНЬШЕНИЕ ПОКАЗАТЕЛЯ N

HVI АгОАН г(А)-МН0ЖИТЕ.ЛЬ=10

JZ ЦИКЛ1 ;ЗАЦИКЛИВАНИЕ 1

DCR С SУМЕНЬШЕНИЕ ПОКАЗАТЕЛЯ N

MVI Аг64Н 5(А>-МН0ЖИТЕЛЬ=100

JMP ЦИКЛ1 5 ЗАЦИКЛИВАНИЕ 1

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

ПЕР9: MOV СгВ ; (С)-СМЕШЕННЫЙ ПОРЯДОК

MOV BrL :(В)-МЛЕ ПРОИЗВЕДЕНИЯ

MOV LrE ;(L)-CPE ПРОИЗВЕДЕНИЯ

MOV HrD ;(Н>,-СТЕ ПРОИЗВЕДЕНИЯ

;ОКРУГЛЕНИЕ РЕЗУЛЬТАТА ПО МЛЕ ПРОИЗВЕДЕНИЯ

MOV RAL RNC INX RET END

ArB ;(а)-МЛБ произведения

гЕСЛИ старший РАЗРЯД=0

Программа преобразует величину 10""° в двоичное число с плавающей запятой вида АЧ = Г - Лгф. Преобразование выполняется, во-первых, переводом двоично-десятичного порядка /7210 в двоичный посредством подпрограммы П108 и, во-вторых, последовательным умножением двоичного значения исходной десятичной степени на двоичное значение десятичного основания 10о=0Лб или его квадрата 10fo= 100io=64ic посредством подпрограммы У24А. С целью минимизации общего количества умножений и, следовательно, уменьшения времени работы программы ПСЮ использован табличный способ преобразования степени для mio<c5. При m>4 двоичное представление степени 10io=2710i6 используется в качестве исходного в цикле вычисления более высокой степени. Ускорение вычисления степени достигается и за счет умножения промежуточной степени на квадрат основания. В процессе возведения в степень выполняются нормали-



зация двоичной мантиссы и формирование соответствующего смещенного двоичного порядка.

Программа ПС 10 требует больших затрат времени на преобразование степени. Ее целесообразно использовать один раз для предварительного расчета двоичных эквивалентов десятичных степеней, а в программе ППЗЮ применять уже готовые табличные данные. Такой табличный выбор производит подпрограмма ПСЮА:

1450 ОЕОО

1450 79

1451 СПОООЕ

1454 4F

1455 0600

1457 216414 145А 09

1458 09 145С 09

145D 145Е 145F 1460 1461 1462 1463 1464 1468 146А 146Е 1470 1474 1476 147А 147С 1480

ORG 1450Н П108 SET ОЕООН

ПСЮА:

гПОДПРОГРАММА ПРЕОБРАЗОВАНИЯ ДЕСЯТИЧНОЙ СТЕПЕНИ lOxxN ;(М<19) В ДВОИЧНОЕ ЧИСЛО С ПЛАВАЮЩЕЙ ЗАПЯТОЙ ФОРМАТА !(8.16)=(П0Р»МАН),ГЛЕ БАЙТ ПОРЯДКА СОДЕРЖИТ «ЕЛОЧИСЛЕН-;НЫИ двоичный ПОРЯДОК СО СМЕШЕНИЕМ +40НтА 2 БАЙТА МАН-ЯЙССЫ-ДВОИЧНОЕ ДРОБНОЕ НОРМАЛИЗОВАННОЕ ЧИСЛО В ПРЯНОМ

;кодЕ.

гВХОДНОИ ПАРАМЕТР!(С)-ПРЯМОЙ ДВОИЧНО-ДЕСЯТИЧНЫИ КОД ПОКА" гЗАТЕЛЯ СТЕПЕНИ М.ВЫХОДНЫЕ ПАРАМЕТРЫ:(С)-ДВОИЧНЫЙ ПОРЯ-!ДОКт (H.L.)-ДВОИЧНАЯ МАНТИССА.ИСПОЛЬЗУЮТСЯ ВСЕ РЕГИСТРЫ. ?ГЛУБИНА СТЕКА-г.ИСПОЛЬЗУЕТСЯ ПОДПРОГРАММА!ХП108х. !0ИЕНКА:ДЛИНА-20 БАЙТ (+14 БАЙТ ПОДПРОГРАММЫ.+57 БАЙТ .-ТАБЛИЦЫ) ,ВРЕМЯ-183 ТАКТА.

цххххххххххххххххххххххххххххххххххххххххххххххххххххххх ;ПРЕОБРАЗОВАНИЕ ПОКАЗАТЕЛЯ СТЕПЕНИ N В ДВОИЧНЫЙ КОД MOV А.С

CALL. П108 f (А)-РЕЗУЛЬТАТ ПРЕОБРАЗОВАНИЯ MOV С.А ;АЛРЕСАЦИЯ РЕЗУЛЬТАТА В ТАБЛИЦЕ

MVI LXI BAD DAD DAD

Н.ТАБЛ

;(Н.Е)-АДРЕС ПОРЯДКА

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

4Е 23 56 23 5Е ЕВ С9

41800044

АООО

47С8004А

FA0O

4Е9С4051

С350

54F42458 9897

5ВВЕВС5Е ЕЕ6В

MOV INX HOV INX MOV XCHG RET ТАБЛ: DB

CM H

;(С)-ПОРЯЛОК

J(D>-CTB МАНТИССЫ

;(Е)-МЛБ МАНТИССЫ

;(Н.Е)-СТБ.МЛБ МАНТИССЫ

41Н.80Н.00Н.44Н.0А0Н.00Н 47Н.0С8Н.ООН.4АН.OFАН.ООН 4Е.Н,9СН.40Н.51Н.0СЗН.50Н 54H.0F4H.24H.58H.93H.97H 5ВН.ОВЕ.Н.ОВСН.5ЕН.0ЕЕН.6ВН



1482 62950365

I486 ВА43

1488 68E3D36C

148С 9184

148Е 6FB5E572

1492 E35D

1494 768Е1А79

1498 BlAl

149A 7CDE09

0000

62H J 95H. 03H t 65H J OB AH . 43H 68И t 0E8H г 0D3H г 6CH,91H f 84H 6FHf 0B5H f OESHf 72Hf 0E3H f SDH 76Hf8E.Hf1AHf79HfOB1HfOA1H 7CHfODE.Hf09H

В массиве ТАБЛ программы записаны двоичные эквиваленты (т", Ai%) десятичных степеней 10°, .... 10*.

После вычисления чисел Az и А" программа ППЗЮ проверяет знак Sn десятичного показателя степени и в зависимости от знака выполняет либо умножение Лг = = Л2-Л2 (знак «+»), либо деление Л2 = Л2:Л2 (знак «-») промежуточных чисел, формируя окончательный результат преобразования. Тестовые данные для программы ППЗЮ приведены в табл. 3.3.

Табл. 3.3. Числа с плавающей запятой AmAi

0,1000-

10"

3DCCCC

0,1000-10

47C7FF

0,1200-

10"

3DF5C2

0,1000-10-=

2D8637

0,1800-

10"

ЗЕВ852

0,1000-10-*

0F901D

0,1200-

419999

0,1000-10"

01EC1F

0,1000-

449FFF

0,1000- 10»

79В1 АО

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

с плавающей запятой в десятичные числа

с плавающей запятой

Программа ПДП32 выполняет обратное преобразование по отношению к программе ППЗЮ, т. е. преобразует двоичное число с плавающей запятой (но уже знаковое число, представленное в дополнительном коде) Л2 = -+-2"-Л2ф, в эквивалентное двоично-десятичное число с плавающей запятой Лю = ± Ю"" • Люф (рис. 3.2):



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