Книга: Системное программное обеспечение. Лабораторный практикум
Листинг П3.9. Вычисление значений триад при свертке объектного кода
Листинг П3.9. Вычисление значений триад при свертке объектного кода
unit TrdCalc; {!!! Зависит от входного языка!!!}
interface
{ Модуль, вычисляющий значения триад при свертке операций }
uses TrdType;
{ Функция вычисления триады по значениям двух операндов }
function CalcTriad(Triad: TTriadType;
iOp1,iOp2: integer): integer;
implementation
function CalcTriad(Triad: TTriadType;
iOp1,iOp2: integer): integer;
{ Функция вычисления триады по значениям двух операндов }
begin
Result:= 0;
case Triad of
TRD_OR: Result:= (iOp1 or iOp2) and 1;
TRD_XOR: Result:= (iOp1 xor iOp2) and 1;
TRD_AND: Result:= (iOp1 and iOp2) and 1;
TRD_NOT: Result:= (not iOp1) and 1;
TRD_LT: if iOp1<iOp2 then Result:= 1
else Result:= 0;
TRD_GT: if iOp1>iOp2 then Result:= 1
else Result:= 0;
TRD_EQ: if iOp1=iOp2 then Result:= 1
else Result:= 0;
TRD_NEQ: if iOp1<>iOp2 then Result:= 1
else Result:= 0;
TRD_ADD: Result:= iOp1 + iOp2;
TRD_SUB: Result:= iOp1 – iOp2;
TRD_UMIN: Result:= – iOp2;
end;
end;
end.
- Листинг 10.1. (simpleid.c) Отображение идентификаторов пользователя и группы
- Глава 5 Агрессивные формы кода и борьба с ними
- Стиль написания исходного кода
- Листинг 15.11. Код для загрузки файла с Web-сервера
- Глава 2 Вычисление
- Анализ CIL-кода
- Установка значений спин-счетчиков
- Листинг 3.1. Конфигурационный файл lilo.conf
- Листинг 3.2. Файл настройки программы inittab
- Листинг 3.3. Файл
- Листинг 3.4. Информация о конфигурации и состоянии сети
- Листинг 4.1. Файл