コード例 #1
0
        public override void Visit(Store node)
        {
            IoLocation value       = thread.Pop();
            IoLocation destination = thread.Pop();

            destination.Write(value.Read());
            thread.Push(destination);
        }
コード例 #2
0
        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);
        }
コード例 #3
0
 public void Push(IoLocation location)
 {
     stack.Push(location);
 }
コード例 #4
0
 public void Push(IoLocation node)
 {
     stack.Push(node);
 }