Changeset 52 for branches/ByteArray/Cpu.pas
- Timestamp:
- Nov 16, 2023, 2:01:59 PM (6 months ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/ByteArray/Cpu.pas
r50 r52 101 101 IO: TChannel; 102 102 function Read(Size: TBigIntSize): TBigInt; 103 function ReadSize: TBigIntSize; 103 104 function ReadRegIndex: TRegIndex; 104 105 procedure Write(Size: TBigIntSize; Value: TBigInt); … … 173 174 DataSize: TBigIntSize; 174 175 begin 175 DataSize := Read (SizeOf(TBigIntSize));176 DataSize := ReadSize; 176 177 RegIndex := ReadRegIndex; 177 178 Regs[RegIndex] := Read(DataSize); … … 194 195 RegIndex2: TRegIndex; 195 196 begin 196 DataSize := Read (SizeOf(TBigIntSize));197 DataSize := ReadSize; 197 198 RegIndex := ReadRegIndex; 198 199 RegIndex2 := ReadRegIndex; … … 217 218 RegIndex: TRegIndex; 218 219 begin 219 DataSize := Read (SizeOf(TBigIntSize));220 DataSize := ReadSize; 220 221 AddressSize := Read(SizeOf(TBigIntSize)); 221 222 RegIndex := ReadRegIndex; … … 241 242 RegIndex: TRegIndex; 242 243 begin 243 DataSize := Read (SizeOf(TBigIntSize));244 DataSize := ReadSize; 244 245 AddressSize := Read(SizeOf(TBigIntSize)); 245 246 Address := Read(AddressSize); … … 279 280 AddressSize: TBigIntSize; 280 281 begin 281 DataSize := Read (SizeOf(TBigIntSize));282 DataSize := ReadSize; 282 283 AddressSize := Read(SizeOf(TBigIntSize)); 283 284 RegIndex := ReadRegIndex; … … 305 306 AddressSize: TBigIntSize; 306 307 begin 307 DataSize := Read (SizeOf(TBigIntSize));308 DataSize := ReadSize; 308 309 AddressSize := Read(SizeOf(TBigIntSize)); 309 310 RegIndex := ReadRegIndex; … … 322 323 AddressSize: TBigIntSize; 323 324 begin 324 AddressSize := Read (SizeOf(TBigIntSize));325 AddressSize := ReadSize; 325 326 PC := PC + Read(AddressSize); 326 327 end; … … 336 337 AddressSize: TBigIntSize; 337 338 begin 338 AddressSize := Read (SizeOf(TBigIntSize));339 AddressSize := ReadSize; 339 340 Push(PC, AddressSize); 340 341 PC := Read(AddressSize); … … 350 351 AddressSize: TBigIntSize; 351 352 begin 352 AddressSize := Read (SizeOf(TBigIntSize));353 AddressSize := ReadSize; 353 354 PC := Pop(AddressSize); 354 355 end; … … 367 368 RegIndex: TRegIndex; 368 369 begin 369 DataSize := Read (SizeOf(TBigIntSize));370 DataSize := ReadSize; 370 371 RegIndex := ReadRegIndex; 371 372 Push(Regs[RegIndex], DataSize); … … 385 386 RegIndex: TRegIndex; 386 387 begin 387 DataSize := Read (SizeOf(TBigIntSize));388 DataSize := ReadSize; 388 389 RegIndex := ReadRegIndex; 389 390 Regs[RegIndex] := Pop(DataSize); … … 406 407 DataSize: TBigIntSize; 407 408 begin 408 DataSize := Read (SizeOf(TBigIntSize));409 DataSize := ReadSize; 409 410 RegIndex := ReadRegIndex; 410 411 RegIndex2 := ReadRegIndex; … … 428 429 DataSize: TBigIntSize; 429 430 begin 430 DataSize := Read (SizeOf(TBigIntSize));431 DataSize := ReadSize; 431 432 RegIndex := ReadRegIndex; 432 433 RegIndex2 := ReadRegIndex; … … 447 448 DataSize: TBigIntSize; 448 449 begin 449 DataSize := Read (SizeOf(TBigIntSize));450 DataSize := ReadSize; 450 451 RegIndex := ReadRegIndex; 451 452 Regs[RegIndex] := Regs[RegIndex].Copy(DataSize) + 1; … … 465 466 DataSize: TBigIntSize; 466 467 begin 467 DataSize := Read (SizeOf(TBigIntSize));468 DataSize := ReadSize; 468 469 RegIndex := ReadRegIndex; 469 470 Regs[RegIndex] := Regs[RegIndex].Copy(DataSize) - 1; … … 519 520 Result := Memory.Read(PC, Size); 520 521 PC := PC + Size; 522 end; 523 524 function TCpu.ReadSize: TBigIntSize; 525 begin 526 Result := Read(SizeOf(TBigIntSize)); 521 527 end; 522 528
Note:
See TracChangeset
for help on using the changeset viewer.