Press enter to see results or esc to cancel.

System Functions for CPU Registers

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;