Навигация
Оглавление
Встроенный ассемблер

Пользователю предоставляется возможность делать вставки на встроенном ассемблере в исходный текст на языке Delphi.

К встроенному ассемблеру можно обратиться с помощью зарезервированного слова asm, за которым следуют команды ассемблера и слово end:

asm
<оператор ассемблера>
...
<оператор ассемблера>
end;

На одной строке можно поместить несколько операторов ассемблера, разделенных двоеточием. Если каждый оператор размещен на отдельной строке, двоеточие не ставится.

В языке Delphi имеется возможность не только делать ассемблерные вставки, но писать процедуры и функции полностью на ассемблере. В этом случае тело подпрограммы ограничивается словами asm и end (а не begin и end), между которыми помещаются инструкции ассемблера. Перед словом asm могут располагаться объявления локальных констант, типов, и переменных. Например, вот как могут быть реализованы функции вычисления минимального и максимального значения из двух целых чисел:

function Min(A, B: Integer): Integer; register;
asm
CMP EDX, EAX
JGE @@1
MOV EAX, EDX
@@1:
end;

function Max(A, B: Integer): Integer; register;
asm
CMP EDX, EAX
JLE @@1
MOV EAX, EDX
@@1:
end;

Обращение к этим функциям имеет привычный вид:
Writeln(Min(10, 20));
Writeln(Max(10, 20));

 

Сайт создан в системе uCoz