virtualSoC  0.6.2
baskett
Vcsos.mm.vmmov Class Reference
+ Inheritance diagram for Vcsos.mm.vmmov:

Public Member Functions

bool ParseAndRun (ParserFactory factory)
 

Properties

string Name [get]
 
string Info [get]
 

Detailed Description

Member Function Documentation

◆ ParseAndRun()

bool Vcsos.mm.vmmov.ParseAndRun ( ParserFactory  factory)

Implements Vcsos.mm.vmoperator.

36  {
37  // 97 - 110
38  // OP(97,4) P(101,1) VAL(102 ,4) P(106,1) VAL(107, 4) 111
39  InstructionParam2 param1 = factory.getParam(4); // 101 4
40  int param1V = VM.Instance.Ram.Read32 (VM.Instance.CurrentCore.Register.ip + 5); //106
41  InstructionParam2 param2 = factory.getParam(9); // 110
42  int param2V = VM.Instance.Ram.Read32 (VM.Instance.CurrentCore.Register.ip + 10); // 111
43 
44  if (param2 == InstructionParam2.Value)
45  VM.Instance.CurrentCore.Register.Stack.Push32 (param2V);
46  else if (param2 == InstructionParam2.Register) {
47  VM.Instance.CurrentCore.Register.Stack.Push32 (VM.Instance.CurrentCore.Register.Get (factory.m_pRegisters [param2V].Name));
48  }
49  else if(param2 == InstructionParam2.Pointer)
50  VM.Instance.CurrentCore.Register.Stack.Push32 (MemoryMap.Read32(param2V));
51 
52  if (param1 == InstructionParam2.Pointer)
53  MemoryMap.Write (VM.Instance.CurrentCore.Register.Stack.Pop32 (), (uint)param1V);
54  else if (param1 == InstructionParam2.Register)
55  VM.Instance.CurrentCore.Register.Set (factory.m_pRegisters [param1V].Name, VM.Instance.CurrentCore.Register.Stack.Pop32 ());
56 
57  return true;
58  }
InstructionParam2
Typ arten eines Parameter
Definition: Instruction.cs:30

Property Documentation

◆ Info

string Vcsos.mm.vmmov.Info
get

◆ Name

string Vcsos.mm.vmmov.Name
get

The documentation for this class was generated from the following file: