|
Главная -> Появление первого микропроцессора 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 Структура ее аналогична структуре программы СДПЗЗ, за исключением того, что переполнение мантиссы суммы проводится без применения модифицированных кодов. Такое решение для микропроцессора более экономично, требует меньше затрат памяти. Программа обращается к вспомогательным подпрограммам контроля слагаемых на нуль КОМ4 и их перемещения ПМ4, приведенным выше, к подпрограммам обмена слагаемых 0БМ4, денормализации мантиссы ДМАНЗ, устранения переполнения мантиссы суммы ПМАНЗ и ее нормализации влево НМАНЗ: 00F2 00F2 Е5 00F3 D5 00F4 С5 00F5 F5 00F6 0Е04 00F8 46 00F9 1А OOFA 77 OOFB 78 OOFC 12 OOFD 13 OOFE 23 OOFF 0D 0100 C2F800 0103 F1 0104 С1 0105 D1 0106 Е1 0107 С9 0000 ORG 0F2H 0БМ4: гПОЛПРОГРАЖЙ ОБМЕНА СОДЕРЖИМЫМ ДВУХ ЧЕТЫРЕХБАИТНЫХ НАС-;СИВ0В,РАЗМЕ1!ЕШЫХ Б НЕПЕРЕСЕКАЮЩИХСЯ ОБЛАСТЯХ ПАМЯТИ. гВХОДНЫЕ nAPAMETF1il:(B>E>-АДРЕС МАССИВА 1, <HfL>-АДРЕС гМАССИВА 2.ИСПОЛЬЗУЮТСЯ И СОХРАНЯЮТСЯ ВСЕ РЕГИСТРЩ.ГЛУ- ;бина стЕКА-е. sОЦЕНКА:ДЛИНА-22 БАЙТА>БР£МЯ-333 ТАКТА. гСОХРАНЕНИЕ РЕГИСТРОВ push н PUSH PUSH PUSH MVI PSU С»4 гСЧЕТЧИК циклов гОБМЕН ОЧЕРЕДНЫМИ БАЙТАМИ ЦИКЛ: MOV Б»М LBAX В MOV М»А MOV А»В STAX В INX В INX н гПРОВЕРКА КОНЦА ЦИКЛА BCR С JNZ ЦИКЛ гЗАЦИКЛИВАНИЕ гВОССТАНОБЛЕНИЕ РЕГИСТРОВ POP POP POP POP RET EMB PSU В D H 11Б0 ORG 11Б0Н ДМАНЗ: г»«»««»«кк«««»«»»««»»«к««х««««««к«кх»х»к»«к»ххх»»х»«»»»» гПОДПРОГР(»(МА ДЕНОРМАЛИЗАЦИИ ТРЕХЕАЙТНОЙ МАНТИССЫ ЧИСЛА гС ПЛАВАЮЩЕЙ ЗАПЯТОЙ. гВХОДНЫЕ ПАРАМЕТР*!: <А>-РАЗНОСТЬ ПОРЯДКОВ N г ОПРЕДЕЛЯЮЩАЯ гВЕЛИЧИНУ ДЕНОРМАЛИЗАЦИИ <N<23>t(HfL)-АДРЕС ЧИСЛА С ПЛА- 5-1926 гВАЮШЕЙ ЗАПЯТОЙ.ВЫХОДНЫЕ ПАРАМЕТРЫ:<BfC»B)-ДЕНОРМАЛИЗО- гВАННАЯ МАНТИССА,(Е>-ВЫДВИНУТЫЕ РАЗРЯДЫ МАНТИССЫ.ИСПОЛЬ- !ЗУЮТСЯ ВСЕ РЕГИСТРЫ,КРОМЕ L. !ОЦЕНКА!ДЛИНА-27 БАЙТ,ВРЕМЯ-(53+80n> ТАКТОВ. ;»»»»»»»»» гЗАГРУЗКА СЛАГАЕМОГО В РЕГИСТРЫ (В,СгВ)
1200 org 1200h ПМАНЗ: гПОДПРОГРАММА устранения переполнения трЕХБАЙТИОй ман- гтиссы числа с плавающей запятой. гВХОДНЫЕ параметры:(в,с,в)-мантисса,(е>-дополнительнье гМЛАДШИЕ разряды мантиссы,су-бит перепожния,<н,Е>-ад-грЕС стб мантиссы в памяти.выходные параметры:(в,с,в>-гнормализованная мантисса,<Н,Е>~адр£с стб мантиссы в па-гМЯТИ,су=1-признак переполнения порядка.используются все грегистры,сохраняются (H,L). гоценка:длина-24 байт гВРЕМЯ-НЕ более 118 тактов. г»»«»а»»хххх»«»х»«ххххх»»х*ххх»»»хх»ххкххххххккххх»ххххх гСДВИГ вправо мантиссы В (в,с,в,е> с учетом переполнения
0000
ИГФ 78 ПНЕ Е6С0 11Е0 ЕО 11Е1 78 11Е2 E63F 11Е4 Е1 11Е5 В2 11Е6 С8 11Е7 ЕЕ 11Е8 29 11Е9 ЕЕ НЕА 79 ORG ПЕОН НМАНЗ: ?ПОДПРОГРАММА НОРМАЛИЗАЦИИ ТРЕХБАИТНОИ МАНТИССЫ ЧИСЛА ?С плававшей ЗАПЯТОЙ. гВХОДНЫЕ ПАРАМЕТРЫ!(В.С.В)-НОРМАЛИЗУЕМАЯ МАНТИССА.(Е)-гМЛАДШИЕ РАЗРЯДЫ ДЕНОРМАЛИЗОВАННОЙ МАНТИССЫ.(H.L)-АДРЕС гСТЕ МАНТИССЫ В ПАМЯТИ.ВЫХОДНЫЕ ПАРАМЕТРЫ:(В.С.В)-НОРМА-гЛИЗОВАННАЯ МАНТИССА.(Е)-ДОПОЛНИТЕЛЬНЫЕ МЛАДШИЕ РАЗРЯДЫ гМАНТИССЫ.(H.L)-АДРЕС СТЕ МАНТИССЫ В ПАМЯТИ.CY=l-nPH3HAK гАНТИПЕРЕПОЛНЕНИЯ ПОРЯДКА.ИСПОЛЬЗУЮТСЯ ВСЕ РЕГИСТРЫ.СО-гХРАНЯЕТСЯ (H.L). гОЦЕНКА:ДЛИНА-4Й БАЙТ.ВРЕМЯ-НЕ БОЛЕЕ (77+141(n-1) ТАКТОВ гЫ < 23. гХХХХХХХХ«ХХ««ХХХХХХХХХХХХХХХХХ«ХХ«Х«Х»ХХХХХХ«Х)СХ«ХКХХХ« гПРОВЕРКА МАНТИССЫ НА НОЛЬ
гПРОВЕРКА явно нормализованной мантиссы:знаковый и гстарший значашии разряд различны ? ЦИКЛ: mov а.е ani осон гВЫДЕЛЕНИЕ разрядов rpo гЕСЛИ явная нормализация!(cy=0) гпроверка неявно нормализованной мантиссы mov АтВ г исключение старших разрядов ANI ORA ORA RZ 3fh С В гЕСЛИ НЕЯВНАЯ НОРМАЛИЗАЦИЯ.(CY=0) гНОРМАЛИЗАЦИЯ МАНТИССЫ:СДВИГ ВЛЕВО В (В.С.В.Е) XCHG ВАВ Н XCHG 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.529 |
|