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;
 
 
 
© 2017 Turbo Pascal | Privacy Policy