Changeset 57 for branches/ByteArray/Cpu.pas
- Timestamp:
- Nov 23, 2023, 10:42:57 PM (14 months ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/ByteArray/Cpu.pas
r56 r57 94 94 procedure InstructionOr; 95 95 procedure InstructionOrSize; 96 procedure InstructionAdd; 97 procedure InstructionAddSize; 98 procedure InstructionSub; 99 procedure InstructionSubSize; 96 100 procedure InitInstructions; 97 101 procedure SetRunning(AValue: Boolean); … … 541 545 RegIndex2 := ReadRegIndex; 542 546 Regs[RegIndex] := Regs[RegIndex].Copy(DataSize) or Regs[RegIndex2].Copy(DataSize); 547 end; 548 549 procedure TCpu.InstructionAdd; 550 var 551 RegIndex: TRegIndex; 552 RegIndex2: TRegIndex; 553 begin 554 RegIndex := ReadRegIndex; 555 RegIndex2 := ReadRegIndex; 556 Regs[RegIndex] := Regs[RegIndex] + Regs[RegIndex2]; 557 end; 558 559 procedure TCpu.InstructionAddSize; 560 var 561 DataSize: TBigIntSize; 562 RegIndex: TRegIndex; 563 RegIndex2: TRegIndex; 564 begin 565 DataSize := ReadSize; 566 RegIndex := ReadRegIndex; 567 RegIndex2 := ReadRegIndex; 568 Regs[RegIndex] := Regs[RegIndex].Copy(DataSize) + Regs[RegIndex2].Copy(DataSize); 569 end; 570 571 procedure TCpu.InstructionSub; 572 var 573 RegIndex: TRegIndex; 574 RegIndex2: TRegIndex; 575 begin 576 RegIndex := ReadRegIndex; 577 RegIndex2 := ReadRegIndex; 578 Regs[RegIndex] := Regs[RegIndex] - Regs[RegIndex2]; 579 end; 580 581 procedure TCpu.InstructionSubSize; 582 var 583 DataSize: TBigIntSize; 584 RegIndex: TRegIndex; 585 RegIndex2: TRegIndex; 586 begin 587 DataSize := ReadSize; 588 RegIndex := ReadRegIndex; 589 RegIndex2 := ReadRegIndex; 590 Regs[RegIndex] := Regs[RegIndex].Copy(DataSize) + Regs[RegIndex2].Copy(DataSize); 543 591 end; 544 592 … … 585 633 FInstructions[inOr] := InstructionOr; 586 634 FInstructions[inOrSize] := InstructionOrSize; 635 FInstructions[inAdd] := InstructionAdd; 636 FInstructions[inAddSize] := InstructionAddSize; 637 FInstructions[inSub] := InstructionSub; 638 FInstructions[inSubSize] := InstructionSubSize; 587 639 end; 588 640
Note:
See TracChangeset
for help on using the changeset viewer.