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

10ВЗ А6

;(В)-СТБ MAH

10В4 23

10В5 4Е

?(С)-МЛЕ MAH

10Е6 67

H>A

f(H)-nOP

10В7 1600

5СЙВИГ МАНТИССЫ ВПРАВО НА N РАЗРЯДОВ В (B»CrD)

10В9 7С

ЦИКЛ: MOV

; tA)-ПОР

lOBft 17

;CY-3HAK МАНТИССЫ

lOBB 78

lOBC IF

lOBB 47

lOBE 79

lOBF IF

lOCO 4F

lOCl 7A

10C2 IF

10C3 57

SПРОВЕРКА КОНЦА ЦИКЛА

10C4 ID

10C5 C2B910

ЦИКЛ

!ЗАЦИКЛИВАНИЕ

10C8 C9

0000

Программа ДМАН2 сохраняет последние сдвинутые разряды мантиссы с целью их использования при округлении суммы. После сложения мантисс выполняется анализ суммы на переполнение, и знак суммы заносится в cTapujHft разряд байта порядка. При сложении отрицательных мантисс вида 8000Н происходит то единственное переполнение, которое не фиксируется в модифицированном коде, но которое необходимо выявлять и устранять. Признаком такого переполнения является отрицательная сумма с нулевой мантиссой. Устранение переполнения производит программа ПМАН2:

10F1

10F1 7В 10F2 IF 10f3 47 10F4 79 10F5 IF

ORG lOFlH

ПМАН2:

гПОДПРОГРАММА УСТРАНЕНИЯ ПЕРЕПОЛНЕНИЯ ЙВУХЕАИТНОИ МАН-

,-тиссы ЧИСЛА С плававшей запятой.

рвходнне ПАРАМЕТРЫ:<ВгС>-МАНТИССАг(D)-ДОПОЛНИТЕЛЬНЫЕ ?МЛАД111ИЕ РАЗРЯДЫ МАНТИССЫ г CY-ЕИ Г ПЕРЕПОЛНЕНИЯг (HrL)-АД-SPEC ПОРЯДКА.ВЫХОДНЫЕ HAPAMETPhl: (ВгС)-НОРМАЛИЗОВАННАЯ ;МАНТИССА. (HrL)-АДРЕС ПОРЯДКА г CY=1-ПРИЗНАК ПЕРЕПОЖЕНИЯ JПОРЯДКА.ИСПОЛЬЗУЮТСЯ РЕГИСТРЫ (В.С)г(D)г (А). ;0ЦЕНКА:ЙЛИНА-18 ЕАИТгВРЕМЯ-НЕ БОЛЕЕ 93 ТАКТОВ.

;СДВИГ ВПРАВО МАНТИССЫ В (ВгСгВ) С УЧЕТОМ ПЕРЕПОЛНЕНИЯ

MOV RAR MOV HOV RAR

BrA ArC



10f6 4F

«0У

10F7 7A

10F8 IF

10F9 57

В>А

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

lOFft 7e:

ПМА2: MOV

; (А)-ПОРЯДОК

lOFB 2F

lOFC E67F

;ИСКЛЮЧЕНИЕ ЗНАКА

lOFE 37

;CY=i

lOFF C8

?ЕСЛИ ПОРЯДОК МАКСИМАЛЕН

1.1.00 34

1101 AF

?CY=0

1102 C9

0000

Программа ПМАН2 контролирует верхнюю границу порядка и в случае опасности переполнения порядка устанавливает признак переноса CY= 1, который используется для аварийного анализа в основной программе. Если в результате сложения не было переполнения мантиссы суммы, она проверяется на условие нормализации и, если необходимо, нормализуется подпрограммой НМАН2:

10DO

ЮВО 78

1081 В1

1082 С2В710 10D5 77 10В6 С9

101)7 78 10В8 АЕ ЮВ9 F8

10DA 78 ЮВВ E67F

ORG ЮВОН

«ман25

гПОДПРОГРАММА НОРМАЛИЗАЦИИ ДВУХБАЙТНОЙ МАНТИССЫ ЧИСЛА ;С плавающей ЗАПЯТОЙ.

гВХОДНЫЕ ПАРАМЕТРЫ:(В,С)-НОРМАЛИЗУЕМАЯ МАНТИССА»(В>-гМЛАДШИЕ РАЗРЯДН ДЕНОРМАЛИЗОВАННОИ МАНТИССЫ» (H»L.)-АДРЕС ;ПОРЯДКА.ВЫХОДНЫЕ ПАРАМЕТРЫ:(В»С>-НОРМАЛИЗОВАННАЯ МАН-гТИССА»(В)-ДОПОЛНИТЕЛЬНЫЕ МЛАДШИЕ РАЗРЯДЫ МАНТИССЫ» г(Н»Ь>-АДРЕС ПОРЯДКА. CY=l-nPH3IIAK АНТИПЕРЕПОЛНЕНИЯ ПО-гРЯДКА.ИСПОЛЬЗУЮТСЯ ВСЕ РЕГИСТРЫгКРОМЕ (Е>,СОХРАНЯЕТСЯ

г(Н»Е>.

гОЦЕНКА:ДЛИНА-33 БАЙТА»ВРЕМЯ-НЕ БОЛЕЕ (57+122*(N-1)> гTAKT0Б»N<16

г»»»»»мик«кккк»»кккк»к»*ккккк*кккк»к*к»ккх»кккккккк»кккк гПРОВЕРКА МАНТИССЫ НА НОЛЬ

MOV ORA jnz MOV RET

A»B

ЦИКЛ M»A

г(А>-СТБ МАН

гЕСЛИ не ноль гобнуление порядка гЕСЛИ mah=0»(cy=0) гПРОВЕРКА явно нормализованной мантиссы!3HAK0Bbf,1 и

гстАРШИй значащий разряд различны ?

ЦИКЛ: mov а»в г(а>-стб МАН

xra м

rm гЕСЛИ явная нормализация»(cy=0>

гПРОВЕРКА неявно нормализованной мантиссы mov А.в

ani 7FH sисключение старшего разряда



lom Bl ORA с

jOic C8 RZ ;ЕСЛИ НЕЯВНАЯ НОРМАЛИЗАЦИЯ.<CY=0> гНОРИАЛИЗАЦИЯ МАНТИССЫгСЙВИГ ВЛЕВО Б <B.CfD>

10DF 7А мои АгВ

10Е0 17 RAL

10Е1 57 MOV В.А

10Е2 79 MOV А.С

10ЕЗ 17 RAL

10Е4 4F MOV С.А

10Е5 78 MOV AfB

10Е6 17 RAL

10Е7 47 MOV В.А

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

10Е8 7Е MOV А.М ;<А)-ПОРЯДОК

10Е9 E67F ANI 7FH 5ИСКЛЮЧЕНИЕ ЗНАКА

10ЕВ 37 STC ;CY=1

10ЕС С8 RZ ;ЕСЛИ порядок МИНИМАЛЕН

ЮЕП 35 BCR М

10ЕЕ СЗВ710 JMP ЦИКЛ ;ЗАЦИКЛИВАНИЕ

0000 END

Программа НМАН2 проверяет условие нормализации мантиссы, представленной в дополнительном коде (в этом случае наличие единицы в старшем цифровом разряде мантиссы еще не свидетельствует о ее нормализованно-сти), и при нормализации влево контролирует порядок суммы на антипереполнение, устанавливая признак переноса CY= 1 при антипереполнении (порядок суммы равен нулю). В заключение сложения выполняются симметричное округление суммы, устранение, если необходимо, переполнения мантиссы после округления и ее запись в память на место первого слагаемого. Заметим, что симметричное округление по первой отбрасываемой цифре денормализованной мантиссы (в случае, если не было нормализации вправо), реализованное в программе, эффективно лишь при сложении чисел с одинаковыми знаками, поскольку только в этом случае знак отбрасываемой цифры совпадает со знаком суммы, и, следовательно, округление выполняется верно, иначе ошибка округления превысит ошибку несимметричного округления. Если такая ситуация нежелательна с точки зрения использования программы в системе, можно либо усложнить процесс симметричного округления в программе, введя анализ знака ошибки, либо упростить программу, исключив это округление.

Набор положительных и отрицательных чисел, представленных в формате (8,16), приведен в табл. 2.3. Эти числа можно использовать для тестовой проверки программы СДПЗЗ (в рамках представленного множества).



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