public override void Visit(Store node) { IoLocation value = thread.Pop(); IoLocation destination = thread.Pop(); destination.Write(value.Read()); thread.Push(destination); }
public override void Visit(MethodCall node) { IoLocation methodLocation = thread.Pop(); Method method = methodLocation.Read().GetAsMethod(); AcpiObject.AcpiObject[] args = new AcpiObject.AcpiObject[method.ArgCount]; for (int i = 0; i < method.ArgCount; i++) { args[i] = thread.Pop().Read(); } thread.InvokeMethod(method, args); }