Пр о ц е с с о р TMS 3 2 0C4 x
          
        
        
          
            38
          
        
        
          
            Нормализация
          
        
        
          числа с ПТ выполняется за один машинный цикл и со-
        
        
          стоит из трех шагов:
        
        
          •
        
        
          отыскивается старший значащий бит, не равный знаковому;
        
        
          •
        
        
          осуществляется левый сдвиг;
        
        
          •
        
        
          выравнивается экспонента числа.
        
        
          
            Округление
          
        
        
          осуществляет преобразование числа ПТ расширенной точ-
        
        
          ности в число ПТ одинарной точности, при этом учитывается содержимое от-
        
        
          брасываемых младших разрядов. В общем случае правило преобразования
        
        
          
            c
          
        
        
          =
        
        
          
            am
          
        
        
          ⋅
        
        
          2
        
        
          
            ae
          
        
        
          + (1
        
        
          ⋅
        
        
          2
        
        
          
            ae
          
        
        
          -
        
        
          24
        
        
          )
        
        
          
            Преобразование из ПТ в целое
          
        
        
          возможно, если число находится в диа-
        
        
          пазоне -2
        
        
          31
        
        
          ≤
        
        
          
            a
          
        
        
          ≤
        
        
          2
        
        
          31
        
        
          -1. Если 0
        
        
          ≤
        
        
          
            a
          
        
        
          < 1 , то возвращается 0, если -1
        
        
          ≤
        
        
          
            a
          
        
        
          < 0 , то
        
        
          возвращается -1.
        
        
          
            Преобразование из целого в ПТ
          
        
        
          производится за один машинный цикл
        
        
          для любых значений операндов и особенностей не имеет.
        
        
          
            Вычисление обратной величины (1/
          
        
        
          
            
              V
            
          
        
        
          
            )
          
        
        
          - специальная команда (RCPF),
        
        
          которая возвращает приближенное значение величины, обратной
        
        
          
            V
          
        
        
          , с точно-
        
        
          стью восемь двоичных разрядов мантиссы. Для увеличения точности использу-
        
        
          ется
        
        
          итерационный
        
        
          алгоритм
        
        
          Ньютона-Рафсона
        
        
          (см. п.2.6)
        
        
          
            X
          
        
        
          [
        
        
          
            n
          
        
        
          +1] =
        
        
          
            X
          
        
        
          [
        
        
          
            n
          
        
        
          ](2 -
        
        
          
            VX
          
        
        
          [
        
        
          
            n
          
        
        
          ]) , где
        
        
          
            X
          
        
        
          [
        
        
          
            n
          
        
        
          ] - значение величины, вычисленное на преды-
        
        
          дущем шаге. Первое приближение X[0] возвращается командой RCPF.
        
        
          
            Деление
          
        
        
          
            
              X
            
          
        
        
          
            /
          
        
        
          
            
              Y
            
          
        
        
          выполняется через вычисление обратной величины 1
        
        
          
            /
          
        
        
          
            Y
          
        
        
          и
        
        
          последующего умножения результата на
        
        
          
            X
          
        
        
          .
        
        
          
            Вычисление величины, обратной корню из числа (
          
        
        
          1 /
        
        
          
            V
          
        
        
          
            )
          
        
        
          - команда
        
        
          RSQRF, которая работает аналогично предыдущей. Для увеличения точности
        
        
          используется вычисление
        
        
          
            X
          
        
        
          [
        
        
          
            n
          
        
        
          +1] =
        
        
          
            X
          
        
        
          [
        
        
          
            n
          
        
        
          ](1.5 - (
        
        
          
            V
          
        
        
          /2)
        
        
          
            X
          
        
        
          [
        
        
          
            n
          
        
        
          ]
        
        
          2
        
        
          ) по методу Ньютона-
        
        
          Рафсона (см. п.2.6).
        
        
          
            
              Пример программы вычисления 1/V с точностью 32 разряда
            
          
        
        
          
            RCPF R0,R1
          
        
        
          ; R0 = V, R1 = X[0]
        
        
          
            MPYFR1,R0,R2
          
        
        
          ; R2 = V X[0]
        
        
          
            SUBRF
          
        
        
          
            2.0,R2
          
        
        
          ; R2 = 2-VX[0]
        
        
          
            MPYFR2,R1
          
        
        
          ; R1 = X[1]= X[0](2 - VX[0]) точность 16 разрядов
        
        
          
            MPYFR1,R0,R2
          
        
        
          ; R2 = VX[1]
        
        
          
            SUBRF
          
        
        
          
            2.0,R2
          
        
        
          ; R2 = 2-VX[1]
        
        
          
            MPYFR2,R1
          
        
        
          ; R1 = X[1] ( 2 - VX[1] )  точность 32 разряда
        
        
          
            1.9. Методы адресации операндов
          
        
        
          В процессоре TMS320C4x используются пять типов адресации
        
        
          операндов:
        
        
          •
        
        
          регистровая;
        
        
          •
        
        
          непосредственная;
        
        
          •
        
        
          прямая;
        
        
          •
        
        
          относительная (относительно про-
        
        
          граммного счетчика PC) .
        
        
          •
        
        
          косвенная;