Ignore:
Timestamp:
Nov 23, 2023, 10:42:57 PM (6 months ago)
Author:
chronos
Message:
  • Added: Settings form.
  • Added: Configurable theme and interface language.
  • Modified: Improved user interface.
  • Added: Allow to select what should be visible as main start up form.
File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/ByteArray/Cpu.pas

    r56 r57  
    9494    procedure InstructionOr;
    9595    procedure InstructionOrSize;
     96    procedure InstructionAdd;
     97    procedure InstructionAddSize;
     98    procedure InstructionSub;
     99    procedure InstructionSubSize;
    96100    procedure InitInstructions;
    97101    procedure SetRunning(AValue: Boolean);
     
    541545  RegIndex2 := ReadRegIndex;
    542546  Regs[RegIndex] := Regs[RegIndex].Copy(DataSize) or Regs[RegIndex2].Copy(DataSize);
     547end;
     548
     549procedure TCpu.InstructionAdd;
     550var
     551  RegIndex: TRegIndex;
     552  RegIndex2: TRegIndex;
     553begin
     554  RegIndex := ReadRegIndex;
     555  RegIndex2 := ReadRegIndex;
     556  Regs[RegIndex] := Regs[RegIndex] + Regs[RegIndex2];
     557end;
     558
     559procedure TCpu.InstructionAddSize;
     560var
     561  DataSize: TBigIntSize;
     562  RegIndex: TRegIndex;
     563  RegIndex2: TRegIndex;
     564begin
     565  DataSize := ReadSize;
     566  RegIndex := ReadRegIndex;
     567  RegIndex2 := ReadRegIndex;
     568  Regs[RegIndex] := Regs[RegIndex].Copy(DataSize) + Regs[RegIndex2].Copy(DataSize);
     569end;
     570
     571procedure TCpu.InstructionSub;
     572var
     573  RegIndex: TRegIndex;
     574  RegIndex2: TRegIndex;
     575begin
     576  RegIndex := ReadRegIndex;
     577  RegIndex2 := ReadRegIndex;
     578  Regs[RegIndex] := Regs[RegIndex] - Regs[RegIndex2];
     579end;
     580
     581procedure TCpu.InstructionSubSize;
     582var
     583  DataSize: TBigIntSize;
     584  RegIndex: TRegIndex;
     585  RegIndex2: TRegIndex;
     586begin
     587  DataSize := ReadSize;
     588  RegIndex := ReadRegIndex;
     589  RegIndex2 := ReadRegIndex;
     590  Regs[RegIndex] := Regs[RegIndex].Copy(DataSize) + Regs[RegIndex2].Copy(DataSize);
    543591end;
    544592
     
    585633  FInstructions[inOr] := InstructionOr;
    586634  FInstructions[inOrSize] := InstructionOrSize;
     635  FInstructions[inAdd] := InstructionAdd;
     636  FInstructions[inAddSize] := InstructionAddSize;
     637  FInstructions[inSub] := InstructionSub;
     638  FInstructions[inSubSize] := InstructionSubSize;
    587639end;
    588640
Note: See TracChangeset for help on using the changeset viewer.