System Function Assigned
This procedure Processes system function Assigned
.
Procedure Func_Assigned; Far;
begin
ExpectTokenAndGetNext (Token_LeftParenthesis);
Expression^.ExpectVariableReferenceExceptProcedureOrFunction;
Case Expression^.TypeDefPtr^.BaseType of
btPointer,
btFunctionProcedure: With Expression^ do
begin
ExpectTokenAndGetNext (Token_RightParenthesis);
Expression^.Calculate;
Exclude (DataType, it32Bit);
Expression^.LoadExpressionToRegister (rAX);
Inc (Value.Word, 2);
Expression^.GenerateArithmeticInstructionWith_ACC (mod_OR_rm);
Include (UsedRegisters, urAX);
Expression^.EndIntermediateCodeSubroutine;
Expression^.SetExpressionToBooleanJump (JNE);
end;
else Error (PointerOrProceduralVariableExpected);
end;
end;