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

14F4 El 14F5 CI 14F6 C9

14F7 0000

PDF POP RET

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

гОКЛАСТЬ ПАМЯТИ ПРОМЕЖУТОЧНОГО РЕЗУЛЬТАТА БУФЕР: DB 3 гЗ БАЙТА

Максимальное десятичное число, представленное в формате двоичного числа с плавающей запятой, равно Л,0 = 0,92-10 (см. § 2.1). Поэтому программа ППЗЮ прежде всего проверяет модуль десятичного порядка и переходит к дальнейшим преобразованиям в случае, если miosis (тем самым максимальное десятичное число ограничивается величиной Л10тах= 10 • 0,9999), иначе фиксируется переполнение разрядной сетки и устанавливается признак CY= 1. На следующем шаге проверяется значение десятичной мантиссы, и в случае равенства ее нулю выполнение программы заканчивается и результат преобразования обнуляется с помощью подпрограммы ОБНЗ. Если значение мантиссы Люф не равно нулю, осуществляется перевод ее в двоичную систему счисления посредством подпрограммы ПФЮН:

0F20 ОЕСО 0В20

0F20 CICOOE

0F23 7С 0F24 17 0F25 ЗЕ40 0F27 D8

0F28 Е5 0F29 ЕВ

ORG 0F20H ПФЮ BET ОЕСОН Д216 SET 0В20Н

пфюн:

гПОДПРОГРАМНА ПРЕОБРАЗОВАНИЯ ДВОИЧНО-ДЕСЯТИЧНОГО ЕЕЗЗНА-

гкового ЧИСЛА с фиксироважои перед старшим разрядом за-

гПЯТОИ ФОРМАТА <0jP1P2P3P4) В ДВОИЧНОЕ ЧИСЛО С ПЛАВАВШЕЙ гЗАПЯТОИ ФОРМАТА Шг 16) = (ПОРгМАН)тГДЕ ЕАЙТ ПОРЯДКА СО-гДЕРЖИТ ЦЕЛОЧИСЛЕННЫЙ ДВОИЧНЫЙ ПОРЯДОК СО СМЕШЕНИЕМ +40И гА ДВА еаита МАНТИССЬЬДРОЕНОЕ НОРМАЛИЗОВАННОЕ БЕЗЗНАКО-

гвоЕ ЧИСЛО.

гВХОДНОИ ПАРАМЕТР:(В»С)-ДЕСЯТИЧНАЯ МАНТИССА.ВЫХОДНЫЕ ПА-гРАМЕТРЫ: (HjL.)-ДВОИЧНАЯ MAHTHCCAt (А)-ДВОИЧНЫЙ ПОРЯДОК. гИСПОЛЬЗУЮТСЯ ВСЕ РЕГИСТРЫтГЛУБИНА СТЕКА-8.ИСП0ЛЬЗУЮТСЯ г ПОДПРОГРАММЫ: *ПЮ8»г кП 1016*г*ПФ10* f*ДОПВ». *Д216*. гОЦЕНКА:ЛЛИНА- 35 еайт (+113 БАЙТ ПОДПРОГРАММ)jВРЕМЯ-НЕ гЕОЛЕЕ 4352 ТАКТОВ (С УЧЕТОМ ПОДПРОГРАММ). г*м*х***кх«****х*»*»х«*х*«*»*к****«х»»х*»»*к******к***»» гДВОИЧНОЕ ПРЕОБРАЗОВАНИЕ ЧИСЛА 0»Р1Р2РЗР4

CALL ПФЮ ? (HrL)-ЧАСТНОЕт (DfE>-ОСТАТОК гПРОВЕРКА;ДВОИЧНАЯ МАНТИССА НОРМАЛИЗОВАНА ?

MOV А»Н г(А)-СТБ МАНТИССЫ

MVI Ат40Н г(А)-СМЕШЕННЫЙ НУЛЕВОЙ ПОРЯДОК RC гЕСЛИ ЧИСЛО НОРМАЛИЗОВАНО

гДОПОЛНИТЕЛЬНОЕ ДЕЛЕНИЕ ОСТАТКА НА Юхх4=2710Н PUSH Н гСОХРАНЕНИЕ ЧАСТНОГО 1

XCHG г(HfL)-ОСТАТОК (ДЕЛИМОЕ)



0f2a 011027 0f2d сп200в

0f30 f:i

0F31 0640 0f33 29 0F34 ев 0F35 29 0F36 ев 0F37 n23B0F 0F3A 23 0F3B 05

0F3C 7с 0F3D 17 0F3E n2330F 0f41 78 0F42 С9 0000

LXI Вг2710Н

CALL Й216

POP Н

;НОРМАЛИЗАЦИЯ МАНТИССЫ!

МУ1 В.40Н

ЦИКЛ; BAD Н

XCHG

ПАВ Н XCHG

JNC ПЕР

INX Н

ПЕР: DCP В ;ПРОВЕРКА КОНЦА ЦИКЛА

MOV АгН

JNC ЦИКЛ

мои АгВ RET END

?(в1с)-яелитель=10000 ;(DrE)-частное 2 ;<h>L)-частное 1

сдвиг влево частного 1»частного 2

;(в)-смешенный нулевой порядок

гУЧЕТ ПЕРЕНОСА

;УМЕНЬШЕНИЕ ПОРЯДКА

!(а)-сте мантиссы ; зацикливание

;(а>-ПОРЯДОК

Программа ПФ10Н преобразует четырехразрядную десятичную мантиссу в двоичную шестнадцатиразрядную мантиссу с нулевым смещенным двоичным порядком. Если двоичная мантисса оказывается ненормализованной, программа вьшолняет ее нормализацию влево (предварительно вычислив дополнительные разряды денормализованной мантиссы) и соответствующую коррекцию двоичного порядка. В результате формируется число Л2=2"-Л2ф, которое программа ППЗЮ записывает в память, а затем переходит к двоичному преобразованию десятичной степени Ю""°.

Вычисление двоичного значения десятичной степени выполняет программа ПСЮ:

13D0 05D0 ОЕОО

ORG 13D0H У24А SET 5D0H П108 SET ОЕООН

ПСЮ:

гПОЙПРОГРАММА ПРЕОБРАЗОВАНИЯ ДЕСЯТИЧНОЙ СТЕПЕНИ lOxxN MN<58) В ДВОИЧНОЕ ЧИСЛО С ПЛАВАЮЩЕЙ ЗАПЯТОЙ ФОРМАТА Я8»16) = (П0Р»МАН).ГДЕ БАЙТ ПОРЯДКА СОДЕРЖИТ ЦЕЛОЧИСЛЕН-;ННй ДВОИЧНЫЙ ПОРЯДОК со СМЕЩЕНИЕМ +40HfA 2 БАЙТА МАН-ЯИССЫ-СТБ.МЛБ-ЛВОИЧНОЕ ДРОБНОЕ НОРМАЛИЗОВАННОЕ ЧИСЛО В

;ПРЯМОМ КОДЕ.

?ВХОДНОЙ ПАРАМЕТР! (О-ПРЯМОЙ ДВОИЧНО-ДЕСЯТИЧНЫЙ КОЙ ПО-гКАЗАТЕЛЯ СТЕПЕНИ М.ВЫХОДНЫЕ ПАРАМЕТРЫ:(С)-ДВОИЧНЫЙ ПО-!РЯйОК?(Н>Е)-ДБОИЧНАЯ МАНТИССА.ИСПОЛЬЗУЮТСЯ ВСЕ РЕГИСТРЫ ;ГЛУБИНА СТЕКА-4.ИСПОЛЬЗУЮТСЯ ПОДПРОГРАММЫ:ху24АХ,хп108х гОЦЕНКА:ДЛИНА-125 БАЙТ (+32 БАЙТА ПОДПРОГРАММ).ВРЕМЯ-НЕ 5Б0ЛЕЕ 5520 ТАКТОВ ПРИ N=18 (С УЧЕТОМ ПОДПРОГРАММ).

sxxxxxxxxkxxxkxxxxxxxxxxxxxxxxxxxxxkxxxxxxxxxxxxxxxxxxxx



13110 79 13D1 FE05 13D3 F20714

13D6 В7 13D7 C2F013

13DA 210080 13DD 0Е41 13DF С9

13Е0 FE01 13Е2 С2ЕВ13

13Е5 2100А0 13Е8 0Е44 13ЕА С9

13ЕВ FE02 13ED C2F613

13F0 Э100С8 13F3 0Е47 13F5 С9

»13F6 FE03 13F8 С20114

13FB ЭЮОЕА 13FE 0Е4А

1400 С9

1401 Э1409С 1404 0Е4Е 1406 С9

;ПР0ВЕРКАгП0КАЗАТЕ.ЛЬ СТЕПЕНИ N>4 ? MOV А.С CPI 05

JF ПЕР1 ;ЕСЛИ N>4

гПРОВЕРКА:ПОКАЗАТЕЛЬ СТЕПЕНИ N=0 ? ORA А

JNZ ПЕР2 ?ЕСЛИ N)0 ?М=0.3АНЕСЕНИЕ В РЕЗУЛЬТАТ КОНСТАНТЫ 1=(41Н»8000Н) LXI НтООООН ?МАНТИССА=0»50000 HVI С.41Н ;П0РЯД0К=1 RET

;ПРОВЕРКА:ПОКАЗАТЕЛЬ СТЕПЕНИ N=1 ? ПЕР2: CPI 01

ли ПЕРЗ ;ЕСЛИ N>1 ?N=1.ЗАНЕСЕНИЕ В РЕЗУЛЬТАТ КОНСТАНТЫ 10=(44Н»АОООН)

LXI НтОАОООН 5НАНТИССА=0.62500

MVI С-44Н ;П0РЯЙ0К=4

гПРОВЕРКА:ПОКАЗАТЕЛЬ СТЕПЕНИ N=2 ? ПЕРЗ: CPI 2

JNZ ПЕР4 ;ЕСЛИ N)2 ;N=2.ЗАНЕСЕНИЕ В РЕЗУЛЬТАТ КОНСТАНТЫ 100=<47Н»С80ОН>

LXI НтОС800Н ;МАНТИССА=0»78125

MVI Cf47H гП0РЯД0К=7

гПРОВЕРКА:ПОКАЗАТЕЛЬ СТЕПЕНИ N=3 ? ПЕР4: CPI 3

JNZ ПЕР5 ;ЕСЛИ N=4 гN=3.ЗАНЕСЕНИЕ В РЕЗУЛЬТАТ КОНСТАНТЫ 1000=MAHrFAOOH)

LXI HtOFAOOH !МАНТИССА=0»97656

MVI Cj4AH ?П0РЯД0К=10

fN=4.3AHECEHHE В РЕЗУЛЬТАТ КОНСТАНТЫ 10000=(4ЕНг9С40Н) ПЕРЗ: LXI H.9C40H ;МАНТИССА=0»61035

MVI С»4ЕН :П0РЯД0К=14

JПРЕОБРАЗОВАНИЕ ПОКАЗАТЕЛЯ СТЕПЕНИ N В ДВОИЧНЫЙ КОЛ» гПОДГОТОВКА регистров к циклу ВОЗВЕДЕНИЯ в СТЕПЕНЬ

1407 СВОООЕ

ПЕР1!

CALL

П108

!(A)-РЕЗУЛЬТАТ ПРЕОБРАЗОВАНИЯ

140А D605

140С 4F

C>A

;(С)-ПОКАЗАТЕЛЬ <N-5)

140D С21514

ПЕР6

гЕСЛИ (N-5))0

1410 ЗЕОА

ArOAH

;(А)-МН0ЖИТЕЛЬ=10

1412 С31814

ПЕР7

1415 ОВ

ПЕРб:

;<С)-ПОКАЗАТЕЛЬ (N-6)

1416 ЗЕ64

A»64H

г(А)-МН0ЖИТЕЛЬ=100

1418 111027

ПЕР7:

Df2710H

;<В1Е)-МН0ЖИМ0Е=10000

141В 0650

BfSOH

г(В)-СМЕНЕННЫЙ ПОРЯДОК <40Н+10Н)

;цикл возведения в степень умножением на 10 или 100

141d с5 цикл1: push в

141е cdd005 call у24а j(a.h.l)=пр0изведение

1421 с1 pop в

1422 17 цикл2: ral

1423 da2d14 jc пер8 ."если число нормализовано 1426 IF rar



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