This procedure processes system functions CSeg, DSeg, SSeg and SPtr.
It generates code to load CPU register to AX and sets expression to LongInt type.
Procedure Func_Registers; Far;
begin
GenerateInstruction_TwoBytes (Lo (FuncParameter), Hi (FuncParameter));
With Expression^ do
begin
Expression^.EndIntermediateCodeSubroutine;
Location := elRegister;
DataType := [itUnsigned, it16Bit];
UsedRegisters := [urAX];
LocationData.Register := rAX;
TypeDefPtr := Ptr (SystemUnitSegment, LongInt_TypeOffset);
end;
end;
|