adfun.ru
 
BIGLIB
  большущая библиотека (9812 книг), можно не только прочитать но и скачать бесплатно
 
АСТРОЛОГИЯ
  книги по астрологии
 
КРИМИНАЛ
  книги про криминал
 
ДЕТЕКТИВЫ
  детективы известных
   писателей
 
ФАНТАСТИКА
  фентези, фантастика,   фантастические повести
 
ПРИКЛЮЧЕНИЯ
  книги про приключения,   путешествия
 
ПОЛИТИКА
  книги про политиков,   репрессии
 
ПСИХОЛОГИЯ
  разнообразная литература   по психологии
 
КЛАССИКА
  классическая литература
 
КОМПЬЮТЕРНАЯ
  ЛИТЕРАТУРА
  про компютерное железо,   документация, языки   программирования
 
РЕЛИГИЯ, АТЕИЗМ
  книги про религию
 
ФИЛОСОФИЯ
  книги, которые заставляют   задуматься над   окружающим тебя миром.
 
ЭНЦИКЛОПЕДИИ
  самые интересные   энциклопедии на
   разные темы
 
МЕДИЦИНА
  медицинские книги,   методички,
   народные лечебники
 
КУЛИНАРИЯ
  рецепты тортов,   консервирование,
  все о спиртных
  напитках.
 
СТИХИ
  стихи популярных и не   очень авторов
 
ТВОРЧЕСТВО
  народное творчество,   стихи, песни и т.д.
 
ЮМОР
  анекдоты, приколы,   смешные истории
 
ЛЮБОВНЫЙ РОМАН
  мир высоких чувств и   любовных грез
 
ЭРОТИКА
  эротические рассказы,   книги о технике секса,   кама-сутра и др.




adfun.ru
Rambler's Top100 Rambler's Top100
    НА ГЛАВНУЮ
    РЕФЕРАТЫ
    ТОСТЫ
    ТЕСТЫ
    АВТО
    ДЛЯ СТУДЕНТА
    КНИГИ
    КОНТАКТ
 
Турбо С: руководство пользователя. Часть 2
Автор ""
Размер 800673 Байт
Страница 54 из 56
СКАЧАТЬ КНИГУ ЦЕЛИКОМ

             /* Восстановить установки управляющего порта */                    
              outportb(0x61, originalbits);                                     
          }                                                                     
                                                                                
          Далее необходимо написать функцию, которая установит ваш об-          

                         - 443,444 -
                                                                                
     работчик  прерывания.  Вы  передадите  ей  адрес написанной ранее          
     функции и соответствующий номер прерывания (0 ...255 или 0х00...0          
     хFF). Эта функция должна выполнить 3 действия:                             
                                                                                
          - запретить прерывания, чтобы во время модернизации  вектор-          
            ной таблицы не произошло ничего непредвиденного;                    
          - сохранить переданный адрес в соответствующем месте;                 
          - разрешить прерывания, чтобы все снова правильно работало.           
                                                                                
          Ваша подпрограмма настройки будет выглядеть так:                      
                                                                                
          void install(void interrupt (*faddr)(), int inum)                     
         {                                                                      
             setvect(inum, faddr);                                              
         }                                                                      
                                                                                
          Наконец, вам понадобится вызвать подпрограмму звукового сиг-          
     нала для того,  чтобы подвергнуть ее проверке.  Это сделает такая          
     функция:                                                                   
                                                                                
          void   testbeep(unsigned char bcount, int inum)                       
          {                                                                     
                                                                                
                                                                                
             _AH = bcount;                                                      
             geninterrupt(inum);                                                
          }                                                                     
                                                                                
          Теперь ваша функция main имеет следующий вид:                         
                                                                                
          main()                                                                
          {                                                                     
              char  ch;                                                         
                                                                                
              install(mybeep, 10);                                              
              testbeep(3, 10);                                                  
              ch = getch();                                                     
          }                                                                     
                                                                                
                                                                                
                                                                                
                                                                                
                                                                                
                                                                                
                                                                                

                         - 445,446 -
                                                                                
      Использование библиотек программ для работы с плавающей точкой            
     -----------------------------------------------------------------          
                                                                                
          В Си вы работаете с двумя типами чисел:  целыми (int, short,          
     long и т.п.) и с плавающей точкой (float,  double). Установленный          
     в вашей машине процессор легко работает с  целыми  значениями,  а          
     для работы с плавающей точкой он затрачивает больше времени и ре-          
     сурсов.                                                                    
                                                                                
          Однако, семейство процессоров iAPx86  имеет  соответствующее          
     семейство математических сопроцессоров 8087 и 80287. 8087 и 80287          
     (и тот и другой мы называем здесь сопроцессорами) - это специаль-          
     ные  арифметические процессоры,  которые могут быть установлены в          
     ваш РС.  Они выполняют команды с плавающей точкой  очень  быстро.          
     Если вы работаете с величинами,  в которых часто встречается пла-          
     вающая точка,  то вам непременно захочется работать с сопроцессо-          
     ром.   Центральный   процессор   в  вашем  РС  взаимодействует  с          
     8087/80287 посредством специальных прерываний.                             
                                                                                
          Турбо Си поможет гибко использовать программы непосредствен-          
     но для вашего РС и ваших нужд.                                             
                                                                                
                                                                                
          - Если  вы не будете  использовать значения с плавающей точ-          
     кой, сообщите об этом заранее компилятору.                                 
                                                                                
          - Если вам нужно использовать значения с  плавающей  точкой,          
     но  ваш РС не имеет арифметического сопроцессора (8087/80287), то          
     сообщите Турбо Си,  что выполнять компоновку в специальных  подп-          
     рограммах можно так же,  как если бы у вас был сопроцессор. В том          
     случае, если ваша программа работает в машине с сопроцессором, он          
     будет использоваться автоматически, и программа будет выполняться          
     очень быстро.                                                              
                                                                                
          - Если вы пишите программы для систем, которые имеют арифме-          
     тический сопроцессор,  то можете предписать компилятору Турбо  Си          
     использовать программу,   которая всегда работает с сопроцессором          
     8087/80287.                                                                
                                                                                
          В  следующих  примерах  для  ТСС и TLINK предполагается, что          
     файл TURBOC.CFG существует с корректной установкой маршрутов -L и          





-I и что библиотека и начальные объектные файлы сохранены в под- каталоге, именуемом LIB. - 447,448 - Эмуляция микросхемы 8087/80287 ----------------------------------------------------------------- Предположим, что вы хотите использовать величины с плавающей точкой или вы имеете программу, использующую величины с плавающей точкой, но ваш компьютер не имеет арифметического сопроцессора, то будет ли выполняться ваша программа? Успокойтесь, Турбо Си по- может в этой ситуации. В соответствии с опцией эмуляции компилятор будет генериро- вать программу так, как если бы 8087/80287 в РС был, но программа будет выполнять компоновку в библиотеке эмуляции (EMU.LIB). При выполнении программа будет использовать 8087/80287, если он есть; в противном случае программа будет использовать специальное прог- раммное обеспечение для 8087/80287 - эмулятор. Библиотека эмуляции работает так: - когда ваша программа начинает выполняться, то начальная Си-программа определяет, есть ли 8087/80287 или нет; - если сопроцессор есть, то программа при помощи специальных прерываний для 8087/80287 разрешит использование микросхемы 8087/80287 для программы пользователя. - если сопроцессора нет, то программа останавливает прерыва- ния и переходит к эмуляционным подпрограммам. Пусть вы модифицировали RATIO.C таким образом: main() { float a,b,ratio; printf(" Введите два значения: "); scanf("%f %f",%a,%b); ratio = a/b; printf("Результат деления будет %0.2f\n",ratio); } Если вы используете ТС (версию пользовательского интерфей- са), то нужно выйти в меню Options, выбрать Compiler, выбрать Code generation и затем выбирать элемент Floating-point до тех - 449,450 - пор, пока на следующем поле не прочтете Emulation. Когда вы ком- пилируете и компонуете свою программу, Турбо Си автоматически вы- бирает для нее соответствующие опции и библиотеки. Если вы используете ТСС (автономный компилятор), то команд- ная строка будет выглядеть следующим образом: tcc -mX ratio Если вы выполняете компоновку результирующей программы с ко- мандной строки, то должны точно определить как соответствующую математическую библиотеку (зависящую от размера модели), так и файл EMU.LIB. Опция эмуляции (-f) устанавливается по умолчанию, так что не нужно задавать ее, если ваш файл TURBOC.CFG не включа- ет один из переключателей плавающей точки (-f- или -f87). Вызов TLINK будет выглядеть так: tlink lib\c0X ratio, ratio, ratio, lib\emu.lib lib\mathX.lib lib\cX.lib где X - буква, обозначающая соответствующую модель библиотеки. Замечание: команда tlink записывается на одной строке. Также помните, что порядок библиотек очень важен. - 451,452 -


Страницы : 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


adfun.ru









Форум раскрутка сайта и интернет-реклама
реклама - рекламное агентство -
Интернет PR агентство чат и форум
волчат знакомства - сайт знакомств
бесплатные компьютерные игры
фото знакомства
новые стеклопакеты -
качественное остекление балконов
портал - пластиковые окна -
закажите окна пвх в Москве

частная стоматология в Москве:
надежная стоматологическая клиника
протезирование зубов и
отбеливание зубов в стоматологии
Музыка - скачать mp3 музыка
каталог партнерские программы
ручной бесплатный обмен ссылками цифровые камеры цифровые фотоаппараты -
цифровые видеокамеры

театры - заказ билетов в театр -
магазин - продажа компьютеров
в Москве форум Испания - жилье -
недвижимость в испании

турфирма - испания туры
Переводы - бюро переводов
Законы - закон о товарных знаках,
Грузовые перевозки. АсМАП. Дальнобой закон о рекламе
Интернет казино
реклама на форуме и контекстная реклама
на Яндексе Баннерная сеть и
интернет каталог сайтов Holiday.Ru
Форумы политика, лучшие анекдоты
знакомства.