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

;НИКА. (HfLJ-НАЧАЛЬНЫй №РЕС НЛССИВА-ИСТОЧНИКА.ИСПОЛЬЗУ-;ЕТСЯ РЕГИСТР Л.СОХРАНЯЮТСЯ (H.L)»(BiE). ;0llEHKAsWlHHA-15 ЕАйТгВРЕМЯ-92 ТАКТА.

00В8 7Е

A.«

00В9 12

STAX

;ПЕРЕСЛАТЬ

БАЙТ 1

ООВА 23

ООВВ 13

ООВС 7Е

ООВВ 12

STAX

;ПЕРЕСЛАТЬ

БАЙТ 2

ООВЕ 23

OOBF 13

ООСО 7Е

A»«

0ОС1 12

STAX

sПЕРЕСЛАТЬ

БАЙТ 3

00С2 2В

ООСЗ 2В

00С4 IB

00С5 IB

00С6 С9

00С7 ОЕ04 00С9 Е5 ООСА D5

ООСВ 7Е ООСС 12 ООСП 23 ООСЕ 13

OOCF 0D O0DO С2СВ00 00D3 ГЦ 00D4 Е1 OOns С9 0000

П«4!

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

;ВХОДНЫЕ ПАРАМЕТРЫ:(В»Е>-НАЧАЛЬНЫЙ АДРЕС МАССИВА-ПРИЕМ-;НИКА»(Н.и)-НАЧАЛЬНЫЙ АДРЕС МАССИВА-ИСТОЧНИКА.ИСПОЛЬЗУ-;ЮТСЯ РЕГИСТРЫ АтС,СОХРАНЯЮТСЯ (H.L)т(П»Е).ГЛУБИНА СТЕ-

;кл-4.

;ОЦЕНКА:ДЛИНА-15 БАЙТ1ВРЕМЯ-215 ТАКТОВ.

MUI С»4 гСЧЕТЧИК ЦИКЛОВ

PUSH Н

PUSH В ;ПЕРЕСЫЛКА ОЧЕРЕДНОГО БАЙТА ЦИКЛ: мои АтМ

STAX D

INX Н

INX D гПРОВЕРКА КОНЦА ЦИКЛА

ICR JNZ POP POP RET END

ЦИКЛ

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

Аналогичная подпрограмма ПМ4 используется ниже в программе СДП34 для перемещения четырехбайтного слагаемого (подпрограмма ПМ4 в отличие от бесцикловой ПМЗ организует пересылку байтов в цикле, что уменьшает длину подпрограммы). Использование подпрограмм КОМЗ и ПМЗ сущестенно сокращает среднее время выполнения программы СДПЗЗ, поскольку нулевые слагаемые достаточно часто встречаются в вычислительных процессах. При отсутствии необходимости проверки слагаемых на нуль программу СДПЗЗ можно упростить на 20



байт и ускорить на 180 тактов, исключив фрагменты проверки слагаемых.

При сложении мантисс в дополнительных кодах необходимо выявлять переполнение суммы. В программах сложения с этой целью выполнялся анализ знаков слагаемых И суммы. Другой способ, обнаружения переполнений, используемый в. данной программе, заключается в применении модифицированного дополнительного кода [13, 61]. В таком коде для представления знака используются два двоичных разряда: плюс кодируется 00, а минус- 11. Дублирование знака позволяет автоматически фиксировать переполнение: код 01 определяет переполнение положительной суммы, а код 10 - отрицательной. Исключением из этого правила является случай суммирования дополнительных кодов двух отрицательных чисел, таких, что [;]д + [У1= 11,0...0, т. е. Х+К=1 -пере полнение.

Непосредственно сложение ненулевых слагаемых начинается с формирования модифицированных кодов знаков слагаемых и их запоминания с целью последующего анализа после выполнения сложения. Далее программа определяет разность порядков: ее абсолютную величину и знак. Когда порядок первого слагаемого оказывается меньше порядка второго, слагаемые меняются местами с помощью подпрограммы ОБМЗ:

00В6

0086 С5

0087 47

0088 4Е

0089 1А ООВА 77 OODB 79 ООВС 12 OODB 13 ООВЕ 23

OODF 4Е ООЕО 1А О0Е1 77

ORG 0в6н

ОБМЗз

!подпрограмма обмена содержимым двух трехбаитных масси-;ВОВ»размешенных в непересекающихся областях памяти. ;вхойные параметры.-<BjE)-адрес массива 1, (HrL)-адрес !массива 2.используются и сохраняются все регистрыгглу-;БИНА стека-2.

;оценка:йлина-28 баит.время-180 ТАКТОЕ„

!ХХХХХХ«Х»ХХ»»ХХ«»Х»ХХ»»ХХХ»К«ХИХ»Х»Х»»Х»»»»Х»»»»Х»И»»М»

PUSH в

MOV ВгА ;сохранение (а)

;обмен первыми байтами

MOV CiM

LBAX В

MOV МгА

MOV а»с

STAX В

INX В

INX н

;обмен вторыми байтами MOV см

LBAX В MOV МгА



00Е2 79 MOV A.С

ООЕЗ 12 STAX n

00E4 13 INX n

00E5 23 INX H

JOBHEH третьими БАЙТМ1И 00E6 4E MOV CM

00E7 lA LDAX D

00E8 77 MOV MjA

00E9 79 MOV ArC

OOEA 12 STAX n

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

ООЕС 2В ГСХ Н

ООЕВ IB вех D

ООЕЕ IB вех В

OOEF 78 MOV АгВ гВОССТАНОВЛЕНИЕ (А)

00F0 С1 POP В

00F1 С9 RET

0000 ENB

Такой обмен повышает регулярность структуры программы и ее ясность, поскольку однозначно понимается, что большее слагаемое находится всегда на месте первого слагаемого. Этот прием уменьшает в дальнейшем количество проверок и длину программы. Но, с другой стороны, выполнение обмена слагаемых требует затрат и памяти, и времени. В данной программе компромисс сделан в пользу ясности.

Вычисленная разность порядков проверяется на предельное значение: Дт п = 16? При Am 16 нет необходимости продолжать программу, так как результат совпадает со слагаемым, находяш,имся на месте первого слагаемого. В противном случае производится загрузка слагаемых из памяти в регистры микропроцессора, и подпрограмма ДМАН2 выполняет, если необходимо, денор-мализацию мантиссы меньшего слагаемого:

ЮВО ORG ювон

ДМАН2:

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

гс плававшей запятой.

гВХОДНЫЕ ПАРАМЕТРЫ:(А)-РАЗНОСТЬ ПОРЯДКОВ NjОПРЕДЕЛЯВШАЯ гВЕЛИЧИНУ ДЕНОРМАЛИЗАЦИИ <N(16)г(НтЕ>-АДРЕС ЧИСЛА С ПЛА-гВАВШЕИ запятой.ВЫХОДНЫЕ ПАРАМЕТРЫ: (ВтО-ДЕНОРМАЛИЗОВАН-гНАЯ МАНТИССА»(В)-ВЫДВИНУТЫЕ РАЗРЯДЫ МАНТИССЫ.ИСПОЛЬЗУ-гВТСЯ ВСЕ РЕГИСТРЫ»КРОМЕ L.

гОЦЕНКА!ДЛИНА-25 БAИTBPEMЯ-<58+66»N> ТАКТОВ

г»»»»*»»»*»»»*»»»»*»»*»»»»»»»»»»**»***»*»х»»»х***»*»»***

гЗАГРУЗКА СЛАГАЕМОГО В РЕГИСТРЫ <Н.Б»С> ЮВО 5F MOV Е»А

10В1 7Е MOV А,М г<А>-ПОР



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