Changeset 186 for branches/virtualcpu4/UCpu.pas
- Timestamp:
- May 1, 2019, 11:39:27 PM (6 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/virtualcpu4/UCpu.pas
r184 r186 275 275 case AddrSize of 276 276 bw8: case DataSize of 277 bw8: Registers[R1].B := PByte(Memory + PByte(@Registers[R2])^)^;278 bw16: Registers[R1].W := PWord(Memory + PByte(@Registers[R2])^)^;279 bw32: Registers[R1].D := PDWord(Memory + PByte(@Registers[R2])^)^;280 bw64: Registers[R1].Q := PQWord(Memory + PByte(@Registers[R2])^)^;277 bw8: Registers[R1].B := PByte(Memory + Registers[R2].B)^; 278 bw16: Registers[R1].W := PWord(Memory + Registers[R2].B)^; 279 bw32: Registers[R1].D := PDWord(Memory + Registers[R2].B)^; 280 bw64: Registers[R1].Q := PQWord(Memory + Registers[R2].B)^; 281 281 end; 282 282 bw16: case DataSize of 283 bw8: Registers[R1].B := PByte(Memory + PWord(@Registers[R2])^)^;284 bw16: Registers[R1].W := PWord(Memory + PWord(@Registers[R2])^)^;285 bw32: Registers[R1].D := PDWord(Memory + PWord(@Registers[R2])^)^;286 bw64: Registers[R1].Q := PQWord(Memory + PWord(@Registers[R2])^)^;283 bw8: Registers[R1].B := PByte(Memory + Registers[R2].W)^; 284 bw16: Registers[R1].W := PWord(Memory + Registers[R2].W)^; 285 bw32: Registers[R1].D := PDWord(Memory + Registers[R2].W)^; 286 bw64: Registers[R1].Q := PQWord(Memory + Registers[R2].W)^; 287 287 end; 288 288 bw32: case DataSize of 289 bw8: Registers[R1].B := PByte(Memory + PDWord(@Registers[R2])^)^;290 bw16: Registers[R1].W := PWord(Memory + PDWord(@Registers[R2])^)^;291 bw32: Registers[R1].D := PDWord(Memory + PDWord(@Registers[R2])^)^;292 bw64: Registers[R1].Q := PQWord(Memory + PDWord(@Registers[R2])^)^;289 bw8: Registers[R1].B := PByte(Memory + Registers[R2].D)^; 290 bw16: Registers[R1].W := PWord(Memory + Registers[R2].D)^; 291 bw32: Registers[R1].D := PDWord(Memory + Registers[R2].D)^; 292 bw64: Registers[R1].Q := PQWord(Memory + Registers[R2].D)^; 293 293 end; 294 294 bw64: case DataSize of 295 bw8: Registers[R1].B := PByte(Memory + PQWord(@Registers[R2])^)^;296 bw16: Registers[R1].W := PWord(Memory + PQWord(@Registers[R2])^)^;297 bw32: Registers[R1].D := PDWord(Memory + PQWord(@Registers[R2])^)^;298 bw64: Registers[R1].Q := PQWord(Memory + PQWord(@Registers[R2])^)^;295 bw8: Registers[R1].B := PByte(Memory + Registers[R2].Q)^; 296 bw16: Registers[R1].W := PWord(Memory + Registers[R2].Q)^; 297 bw32: Registers[R1].D := PDWord(Memory + Registers[R2].Q)^; 298 bw64: Registers[R1].Q := PQWord(Memory + Registers[R2].Q)^; 299 299 end; 300 300 end; … … 309 309 case AddrSize of 310 310 bw8: case DataSize of 311 bw8: PByte(Memory + PByte(@Registers[R1])^)^ := Registers[R2].B;312 bw16: PWord(Memory + PByte(@Registers[R1])^)^ := Registers[R2].W;313 bw32: PDWord(Memory + PByte(@Registers[R1])^)^ := Registers[R2].D;314 bw64: PQWord(Memory + PByte(@Registers[R1])^)^ := Registers[R2].Q;311 bw8: PByte(Memory + Registers[R1].B)^ := Registers[R2].B; 312 bw16: PWord(Memory + Registers[R1].B)^ := Registers[R2].W; 313 bw32: PDWord(Memory + Registers[R1].B)^ := Registers[R2].D; 314 bw64: PQWord(Memory + Registers[R1].B)^ := Registers[R2].Q; 315 315 end; 316 316 bw16: case DataSize of 317 bw8: PByte(Memory + PWord(@Registers[R1])^)^ := Registers[R2].B;318 bw16: PWord(Memory + PWord(@Registers[R1])^)^ := Registers[R2].W;319 bw32: PDWord(Memory + PWord(@Registers[R1])^)^ := Registers[R2].D;320 bw64: PQWord(Memory + PWord(@Registers[R1])^)^ := Registers[R2].Q;317 bw8: PByte(Memory + Registers[R1].W)^ := Registers[R2].B; 318 bw16: PWord(Memory + Registers[R1].W)^ := Registers[R2].W; 319 bw32: PDWord(Memory + Registers[R1].W)^ := Registers[R2].D; 320 bw64: PQWord(Memory + Registers[R1].W)^ := Registers[R2].Q; 321 321 end; 322 322 bw32: case DataSize of 323 bw8: PByte(Memory + PDWord(@Registers[R1])^)^ := Registers[R2].B;324 bw16: PWord(Memory + PDWord(@Registers[R1])^)^ := Registers[R2].W;325 bw32: PDWord(Memory + PDWord(@Registers[R1])^)^ := Registers[R2].D;326 bw64: PQWord(Memory + PDWord(@Registers[R1])^)^ := Registers[R2].Q;323 bw8: PByte(Memory + Registers[R1].D)^ := Registers[R2].B; 324 bw16: PWord(Memory + Registers[R1].D)^ := Registers[R2].W; 325 bw32: PDWord(Memory + Registers[R1].D)^ := Registers[R2].D; 326 bw64: PQWord(Memory + Registers[R1].D)^ := Registers[R2].Q; 327 327 end; 328 328 bw64: case DataSize of 329 bw8: PByte(Memory + PQWord(@Registers[R1])^)^ := Registers[R2].B;330 bw16: PWord(Memory + PQWord(@Registers[R1])^)^ := Registers[R2].W;331 bw32: PDWord(Memory + PQWord(@Registers[R1])^)^ := Registers[R2].D;332 bw64: PQWord(Memory + PQWord(@Registers[R1])^)^ := Registers[R2].Q;329 bw8: PByte(Memory + Registers[R1].Q)^ := Registers[R2].B; 330 bw16: PWord(Memory + Registers[R1].Q)^ := Registers[R2].W; 331 bw32: PDWord(Memory + Registers[R1].Q)^ := Registers[R2].D; 332 bw64: PQWord(Memory + Registers[R1].Q)^ := Registers[R2].Q; 333 333 end; 334 334 end;
Note:
See TracChangeset
for help on using the changeset viewer.