5.1. О чем это?

На верх  Назад  Вперёд

Free Pascal поддерживает новые инструкции MMX (Multi-Media extensions – мультимедийные расширения) процессоров Intel. Основная идея MMX – это обработка большого количества данных в одной инструкции. Например, процессор может сложить одновременно 4 слова. Для реализации этого эффекта, язык Pascal должен быть расширен. Так, Free Pascal позволяет складывать, например, два массива array[0..3] of word, если поддержка MMX включена. Операция выполняется с помощью модуля MMX, который позволяет людям без знания ассемблера использовать преимущества расширений MMX.

Пример:

uses
  MMX;{ подключить некоторые предопределённые типы данных }
const
  { tmmxword = array[0..3] of word;, объявлено при помощи модуля MMX }
  w1 : tmmxword = (111, 123, 432, 4356);
  w2 : tmmxword = (4213, 63456, 756, 4);
var
  w3 : tmmxword;
  l: longint;
begin
  if is_mmx_cpu then { is_mmx_cpu экспортировано из модуля mmx }
    begin
{$mmx+} { включить поддержку mmx }
        w3:=w1+w2;
{$mmx-}
    end
  else
    begin
        for i:=0 to 3 do
        w3[i]:=w1[i]+w2[i];
    end;
end.