• Home
  • History
  • Annotate
  • Line#
  • Navigate
  • Raw
  • Download
  • only in /barrelfish-2018-10-04/lib/acpica/tests/aslts/src/runtime/collections/exceptions/exc_operand/exc_operand2/
1/*
2 * Some or all of this work - Copyright (c) 2006 - 2016, Intel Corp.
3 * All rights reserved.
4 *
5 * Redistribution and use in source and binary forms, with or without modification,
6 * are permitted provided that the following conditions are met:
7 *
8 * Redistributions of source code must retain the above copyright notice,
9 * this list of conditions and the following disclaimer.
10 * Redistributions in binary form must reproduce the above copyright notice,
11 * this list of conditions and the following disclaimer in the documentation
12 * and/or other materials provided with the distribution.
13 * Neither the name of Intel Corporation nor the names of its contributors
14 * may be used to endorse or promote products derived from this software
15 * without specific prior written permission.
16 *
17 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
18 * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
19 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
20 * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
21 * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
22 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
23 * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
24 * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
25 * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
26 * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
27 */
28
29/*
30 *  Package
31 *
32 * (verify exceptions caused by the imprope use of Package type objects)
33 */
34
35Name(z096, 96)
36
37Name(p100, Package(){0x61})
38
39// Expected exceptions:
40//
41// 47 - AE_AML_OPERAND_TYPE
42// Note: Package can be used with Index
43Method(m4b4, 1, Serialized)
44{
45	Name(ts, "m4b4")
46
47	Name(p000, Package(){0x62})
48
49	Event(e000)
50
51	Name(i000, 0)
52
53	// Local Named Object
54	// ASL compiler prohibits to use Pakage
55	// Named Objects in the most of operators
56	Method(m000, 1, Serialized)
57	{
58		Name(p000, Package(){0x63})
59
60		// CondRefOf
61		
62		Store (CondRefOf(p000), Local1)
63		CH03(ts, z096, 0, 0, 0)
64
65		CondRefOf(p000, Local1)
66		CH03(ts, z096, 1, 0, 0)
67
68		// CopyObject
69
70		CopyObject(p000, Local1)
71		CH03(ts, z096, 2, 0, 0)
72
73		// Decrement
74
75		// DerefOf
76
77/* These are now caught by the compiler - Aug 2015
78
79		if (y083) {
80			Store (DerefOf(p000), Local1)
81			CH06(arg0, 0, 47)
82		}
83*/
84		// FindSetLeftBit
85
86		// FindSetRightBit
87
88		// FromBCD
89
90		// Increment
91
92		// LNot
93
94		// Not
95
96		// ObjectType
97
98		Store (ObjectType(p000), Local1)
99		CH03(ts, z096, 3, 0, 0)
100
101		// RefOf
102
103		Store (RefOf(p000), Local1)
104		CH03(ts, z096, 4, 0, 0)
105
106		// Release
107
108		// Reset
109
110		// Signal
111
112		// SizeOf
113
114		Store (SizeOf(p000), Local1)
115		CH03(ts, z096, 5, 0, 0)
116
117		// Sleep
118
119		// Stall
120
121		// Store
122
123		Store(p000, Local1)
124		CH03(ts, z096, 6, 0, 0)
125
126		// ToBCD
127
128		// ToBuffer
129
130		// ToDecimalString
131
132		// ToHexString
133
134		// ToInteger
135
136		// Acquire
137
138		// Add
139
140		// And
141
142		// Concatenate
143
144		// ConcatenateResTemplate
145
146		// Divide
147
148		// Fatal
149
150		// Index
151
152		Index(p000, 0, Local1)
153		CH03(ts, z096, 7, 0, 0)
154
155		Store (Index(p000, 0), Local1)
156		CH03(ts, z096, 8, 0, 0)
157
158		// LEqual
159
160		// LGreater
161
162		// LGreaterEqual
163
164		// LLess
165
166		// LLessEqual
167
168		// LNotEqual
169
170		// LOr
171
172		// Mod
173
174		// Multiply
175
176		// NAnd
177
178		// NOr
179
180		// Or
181
182		// ShiftLeft
183
184		// ShiftRight
185
186		// Subtract
187
188		// ToString
189
190		// Wait
191
192		// XOr
193
194		// Mid
195
196		// Match
197
198		Store (Match(p000, MTR, 0, MTR, 0, 0), Local1)
199		CH03(ts, z096, 9, 0, 0)
200	}
201
202	// Global Named Object
203	Method(m001, 1)
204	{
205		// CondRefOf
206		
207		CondRefOf(p100, Local1)
208		CH03(ts, z096, 11, 0, 0)
209
210		// CopyObject
211
212		CopyObject(p100, Local1)
213		CH03(ts, z096, 12, 0, 0)
214
215		// Decrement
216
217		// DerefOf
218/* These are now caught by the compiler - Aug 2015
219
220		if (y083) {
221			Store (DerefOf(p100), Local1)
222			CH06(arg0, 1, 47)
223		}
224*/
225		// FindSetLeftBit
226
227		// FindSetRightBit
228
229		// FromBCD
230
231		// Increment
232
233		// LNot
234
235		// Not
236
237		// ObjectType
238
239		Store (ObjectType(p100), Local1)
240		CH03(ts, z096, 13, 0, 0)
241
242		// RefOf
243
244		Store (RefOf(p100), Local1)
245		CH03(ts, z096, 14, 0, 0)
246
247		// Release
248
249		// Reset
250
251		// Signal
252
253		// SizeOf
254
255		Store (SizeOf(p100), Local1)
256		CH03(ts, z096, 15, 0, 0)
257
258		// Sleep
259
260		// Stall
261
262		// Store
263
264		Store(p100, Local1)
265		CH03(ts, z096, 16, 0, 0)
266
267		// ToBCD
268
269		// ToBuffer
270
271		// ToDecimalString
272
273		// ToHexString
274
275		// ToInteger
276
277		// Acquire
278
279		// Add
280
281		// And
282
283		// Concatenate
284
285		// ConcatenateResTemplate
286
287		// Divide
288
289		// Fatal
290
291		// Index
292
293		Store (Index(p100, 0), Local1)
294		CH03(ts, z096, 18, 0, 0)
295
296		// LEqual
297
298		// LGreater
299
300		// LGreaterEqual
301
302		// LLess
303
304		// LLessEqual
305
306		// LNotEqual
307
308		// LOr
309
310		// Mod
311
312		// Multiply
313
314		// NAnd
315
316		// NOr
317
318		// Or
319
320		// ShiftLeft
321
322		// ShiftRight
323
324		// Subtract
325
326		// ToString
327
328		// Wait
329
330		// XOr
331
332		// Mid
333
334		// Match
335
336		Store (Match(p100, MTR, 0, MTR, 0, 0), Local1)
337		CH03(ts, z096, 19, 0, 0)
338	}
339
340	// Argument
341	Method(m002, 2, Serialized)
342	{
343		Event(e000)
344
345		// CondRefOf
346		
347		CondRefOf(arg1, Local1)
348		CH03(ts, z096, 21, 0, 0)
349
350		// CopyObject
351
352		CopyObject(arg1, Local1)
353		CH03(ts, z096, 22, 0, 0)
354
355		// Decrement
356
357		Decrement(arg1)
358		CH06(arg0, 2, 47)
359
360		// DerefOf
361
362		Store (DerefOf(arg1), Local1)
363		CH06(arg0, 3, 47)
364
365		// FindSetLeftBit
366
367		FindSetLeftBit(arg1, Local1)
368		CH06(arg0, 5, 47)
369
370		// FindSetRightBit
371
372		FindSetRightBit(arg1, Local1)
373		CH06(arg0, 7, 47)
374
375		// FromBCD
376
377		FromBCD(arg1, Local1)
378		CH06(arg0, 9, 47)
379
380		// Increment
381
382		Increment(arg1)
383		CH06(arg0, 10, 47)
384
385		// LNot
386
387		Store (LNot(arg1), Local1)
388		CH06(arg0, 11, 47)
389
390		// Not
391
392		Not(arg1, Local1)
393		CH06(arg0, 13, 47)
394
395		// ObjectType
396
397		Store (ObjectType(arg1), Local1)
398		CH03(ts, z096, 23, 0, 0)
399
400		// RefOf
401
402		Store (RefOf(arg1), Local1)
403		CH03(ts, z096, 24, 0, 0)
404
405		// Release
406
407		Release(arg1)
408		CH06(arg0, 14, 47)
409
410		// Reset
411
412		Reset(arg1)
413		CH06(arg0, 15, 47)
414
415		// Signal
416
417		Signal(arg1)
418		CH06(arg0, 16, 47)
419
420		// SizeOf
421
422		Store (SizeOf(arg1), Local1)
423		CH03(ts, z096, 25, 0, 0)
424
425		// Sleep
426
427		Sleep(arg1)
428		CH06(arg0, 17, 47)
429
430		// Stall
431
432		Stall(arg1)
433		CH06(arg0, 18, 47)
434
435		// Store
436
437		Store(arg1, Local1)
438		CH03(ts, z096, 26, 0, 0)
439
440		// ToBCD
441
442		ToBCD(arg1, Local1)
443		CH06(arg0, 21, 47)
444
445		// ToBuffer
446
447		ToBuffer(arg1, Local1)
448		CH06(arg0, 23, 47)
449
450		// ToDecimalString
451
452		ToDecimalString(arg1, Local1)
453		CH06(arg0, 25, 47)
454
455		// ToHexString
456
457		ToHexString(arg1, Local1)
458		CH06(arg0, 27, 47)
459
460		// ToInteger
461
462		ToInteger(arg1, Local1)
463		CH06(arg0, 29, 47)
464
465		// Acquire
466
467		Store(Acquire(arg1, 100), Local1)
468		CH06(arg0, 30, 47)
469
470		// Add
471
472		Add(arg1, i000, Local1)
473		CH06(arg0, 33, 47)
474
475		Add(i000, arg1, Local1)
476		CH06(arg0, 34, 47)
477
478		// And
479
480		And(arg1, i000, Local1)
481		CH06(arg0, 37, 47)
482
483		And(i000, arg1, Local1)
484		CH06(arg0, 38, 47)
485
486		// Concatenate
487
488		Concatenate(arg1, i000, Local1)
489		CH06(arg0, 41, 47)
490
491		Concatenate(i000, arg1, Local1)
492		CH06(arg0, 42, 47)
493
494		// ConcatenateResTemplate
495
496		ConcatenateResTemplate(arg1, ResourceTemplate(){}, Local1)
497		CH06(arg0, 45, 47)
498
499		ConcatenateResTemplate(ResourceTemplate(){}, arg1, Local1)
500		CH06(arg0, 46, 47)
501
502		// Divide
503
504		Divide(arg1, i000, Local2)
505		CH06(arg0, 49, 47)
506
507		Divide(i000, arg1, Local2)
508		CH06(arg0, 50, 47)
509
510		Divide(arg1, i000, Local2, Local1)
511		CH06(arg0, 51, 47)
512
513		Divide(i000, arg1, Local2, Local1)
514		CH06(arg0, 52, 47)
515
516		// Fatal
517
518		Fatal(0xff, 0xffffffff, arg1)
519		CH06(arg0, 53, 47)
520
521		// Index
522
523		Index(arg1, 0, Local1)
524		CH03(ts, z096, 28, 0, 0)
525
526		Index("0", arg1, Local1)
527		CH06(arg0, 57, 47)
528
529		// LEqual
530
531		Store (LEqual(arg1, i000), Local1)
532		CH06(arg0, 58, 47)
533
534		Store (LEqual(i000, arg1), Local1)
535		CH06(arg0, 59, 47)
536
537		// LGreater
538
539		Store (LGreater(arg1, i000), Local1)
540		CH06(arg0, 60, 47)
541
542		Store (LGreater(i000, arg1), Local1)
543		CH06(arg0, 61, 47)
544
545		// LGreaterEqual
546
547		Store (LGreaterEqual(arg1, i000), Local1)
548		CH06(arg0, 62, 0xff)
549
550		Store (LGreaterEqual(i000, arg1), Local1)
551		CH06(arg0, 63, 0xff)
552
553		// LLess
554
555		Store (LLess(arg1, i000), Local1)
556		CH06(arg0, 64, 47)
557
558		Store (LLess(i000, arg1), Local1)
559		CH06(arg0, 65, 47)
560
561		// LLessEqual
562
563		Store (LLessEqual(arg1, i000), Local1)
564		CH06(arg0, 66, 0xff)
565
566		Store (LLessEqual(i000, arg1), Local1)
567		CH06(arg0, 67, 0xff)
568
569		// LNotEqual
570
571		Store (LNotEqual(arg1, i000), Local1)
572		CH06(arg0, 68, 0xff)
573
574		Store (LNotEqual(i000, arg1), Local1)
575		CH06(arg0, 69, 0xff)
576
577		// LOr
578
579		Store (LOr(arg1, i000), Local1)
580		CH06(arg0, 70, 47)
581
582		Store (LOr(i000, arg1), Local1)
583		CH06(arg0, 71, 47)
584
585		// Mod
586
587		Mod(arg1, i000, Local1)
588		CH06(arg0, 74, 47)
589
590		Mod(i000, arg1, Local1)
591		CH06(arg0, 75, 47)
592
593		// Multiply
594
595		Multiply(arg1, i000, Local1)
596		CH06(arg0, 78, 47)
597
598		Multiply(i000, arg1, Local1)
599		CH06(arg0, 79, 47)
600
601		// NAnd
602
603		NAnd(arg1, i000, Local1)
604		CH06(arg0, 82, 47)
605
606		NAnd(i000, arg1, Local1)
607		CH06(arg0, 83, 47)
608
609		// NOr
610
611		NOr(arg1, i000, Local1)
612		CH06(arg0, 86, 47)
613
614		NOr(i000, arg1, Local1)
615		CH06(arg0, 87, 47)
616
617		// Or
618
619		Or(arg1, i000, Local1)
620		CH06(arg0, 90, 47)
621
622		Or(i000, arg1, Local1)
623		CH06(arg0, 91, 47)
624
625		// ShiftLeft
626
627		ShiftLeft(arg1, i000, Local1)
628		CH06(arg0, 94, 47)
629
630		ShiftLeft(i000, arg1, Local1)
631		CH06(arg0, 95, 47)
632
633		// ShiftRight
634
635		ShiftRight(arg1, i000, Local1)
636		CH06(arg0, 98, 47)
637
638		ShiftRight(i000, arg1, Local1)
639		CH06(arg0, 99, 47)
640
641		// Subtract
642
643		Subtract(arg1, i000, Local1)
644		CH06(arg0, 102, 47)
645
646		Subtract(i000, arg1, Local1)
647		CH06(arg0, 103, 47)
648
649		// ToString
650
651		ToString(arg1, 1, Local1)
652		CH06(arg0, 106, 47)
653
654		ToString(i000, arg1, Local1)
655		CH06(arg0, 107, 47)
656
657		// Wait
658
659		Store(Wait(arg1, i000), Local1)
660		CH06(arg0, 108, 47)
661
662		Store(Wait(e000, arg1), Local1)
663		CH06(arg0, 109, 47)
664
665		// XOr
666
667		XOr(arg1, i000, Local1)
668		CH06(arg0, 112, 47)
669
670		XOr(i000, arg1, Local1)
671		CH06(arg0, 113, 47)
672
673		// Mid
674
675		Mid(arg1, 1, 1, Local1)
676		CH06(arg0, 117, 47)
677
678		Mid("123", arg1, 1, Local1)
679		CH06(arg0, 118, 47)
680
681		Mid("123", 1, arg1, Local1)
682		CH06(arg0, 119, 47)
683
684		// Match
685
686		Store (Match(arg1, MTR, 0, MTR, 0, 0), Local1)
687		CH03(ts, z096, 29, 0, 0)
688
689		Store (Match(Package(){1}, MTR, arg1, MTR, 0, 0), Local1)
690		CH06(arg0, 121, 47)
691
692		Store (Match(Package(){1}, MTR, 0, MTR, arg1, 0), Local1)
693		CH06(arg0, 122, 47)
694
695		Store (Match(Package(){1}, MTR, 0, MTR, 0, arg1), Local1)
696		CH06(arg0, 123, 47)
697	}
698
699	// Local
700	Method(m003, 1)
701	{
702		Store(Package(){0x63}, Local0)
703
704		// CondRefOf
705		
706		CondRefOf(Local0, Local1)
707		CH03(ts, z096, 31, 0, 0)
708
709		// CopyObject
710
711		CopyObject(Local0, Local1)
712		CH03(ts, z096, 32, 0, 0)
713
714		// Decrement
715
716		Decrement(Local0)
717		CH06(arg0, 1, 47)
718
719		// DerefOf
720
721		Store (DerefOf(Local0), Local1)
722		CH06(arg0, 2, 47)
723
724		// FindSetLeftBit
725
726		FindSetLeftBit(Local0, Local1)
727		CH06(arg0, 4, 47)
728
729		// FindSetRightBit
730
731		FindSetRightBit(Local0, Local1)
732		CH06(arg0, 6, 47)
733
734		// FromBCD
735
736		FromBCD(Local0, Local1)
737		CH06(arg0, 8, 47)
738
739		// Increment
740
741		Increment(Local0)
742		CH06(arg0, 9, 47)
743
744		// LNot
745
746		Store (LNot(Local0), Local1)
747		CH06(arg0, 10, 47)
748
749		// Not
750
751		Not(Local0, Local1)
752		CH06(arg0, 12, 47)
753
754		// ObjectType
755
756		Store (ObjectType(Local0), Local1)
757		CH03(ts, z096, 33, 0, 0)
758
759		// RefOf
760
761		Store (RefOf(Local0), Local1)
762		CH03(ts, z096, 34, 0, 0)
763
764		// Release
765
766		Release(Local0)
767		CH06(arg0, 13, 47)
768
769		// Reset
770
771		Reset(Local0)
772		CH06(arg0, 14, 47)
773
774		// Signal
775
776		Signal(Local0)
777		CH06(arg0, 15, 47)
778
779		// SizeOf
780
781		Store (SizeOf(Local0), Local1)
782		CH03(ts, z096, 35, 0, 0)
783
784		// Sleep
785
786		Sleep(Local0)
787		CH06(arg0, 17, 47)
788
789		// Stall
790
791		Stall(Local0)
792		CH06(arg0, 18, 47)
793
794		// Store
795
796		Store(Local0, Local1)
797		CH03(ts, z096, 36, 0, 0)
798
799		// ToBCD
800
801		ToBCD(Local0, Local1)
802		CH06(arg0, 21, 47)
803
804		// ToBuffer
805
806		ToBuffer(Local0, Local1)
807		CH06(arg0, 23, 47)
808
809		// ToDecimalString
810
811		ToDecimalString(Local0, Local1)
812		CH06(arg0, 25, 47)
813
814		// ToHexString
815
816		ToHexString(Local0, Local1)
817		CH06(arg0, 27, 47)
818
819		// ToInteger
820
821		ToInteger(Local0, Local1)
822		CH06(arg0, 29, 47)
823
824		// Acquire
825
826		Store(Acquire(Local0, 100), Local1)
827		CH06(arg0, 30, 47)
828
829		// Add
830
831		Add(i000, Local0, Local1)
832		CH06(arg0, 34, 47)
833
834		// And
835
836		And(Local0, i000, Local1)
837		CH06(arg0, 37, 47)
838
839		And(i000, Local0, Local1)
840		CH06(arg0, 38, 47)
841
842		// Concatenate
843
844		Concatenate(Local0, i000, Local1)
845		CH06(arg0, 41, 47)
846
847		Concatenate(i000, Local0, Local1)
848		CH06(arg0, 42, 47)
849
850		// ConcatenateResTemplate
851
852		ConcatenateResTemplate(Local0, ResourceTemplate(){}, Local1)
853		CH06(arg0, 45, 47)
854
855		ConcatenateResTemplate(ResourceTemplate(){}, Local0, Local1)
856		CH06(arg0, 46, 47)
857
858		// Divide
859
860		Divide(Local0, i000, Local2)
861		CH06(arg0, 49, 47)
862
863		Divide(i000, Local0, Local2)
864		CH06(arg0, 50, 47)
865
866		Divide(Local0, i000, Local2, Local1)
867		CH06(arg0, 51, 47)
868
869		Divide(i000, Local0, Local2, Local1)
870		CH06(arg0, 52, 47)
871
872		// Fatal
873
874		Fatal(0xff, 0xffffffff, Local0)
875		CH06(arg0, 53, 47)
876
877		// Index
878
879		Index(Local0, 0, Local1)
880		CH03(ts, z096, 38, 0, 0)
881
882		Index("0", Local0, Local1)
883		CH06(arg0, 57, 47)
884
885		// LEqual
886
887		Store (LEqual(Local0, i000), Local1)
888		CH06(arg0, 58, 47)
889
890		Store (LEqual(i000, Local0), Local1)
891		CH06(arg0, 59, 47)
892
893		// LGreater
894
895		Store (LGreater(Local0, i000), Local1)
896		CH06(arg0, 60, 47)
897
898		Store (LGreater(i000, Local0), Local1)
899		CH06(arg0, 61, 47)
900
901		// LGreaterEqual
902
903		Store (LGreaterEqual(Local0, i000), Local1)
904		CH06(arg0, 62, 0xff)
905
906		Store (LGreaterEqual(i000, Local0), Local1)
907		CH06(arg0, 63, 0xff)
908
909		// LLess
910
911		Store (LLess(Local0, i000), Local1)
912		CH06(arg0, 64, 47)
913
914		Store (LLess(i000, Local0), Local1)
915		CH06(arg0, 65, 47)
916
917		// LLessEqual
918
919		Store (LLessEqual(Local0, i000), Local1)
920		CH06(arg0, 66, 0xff)
921
922		Store (LLessEqual(i000, Local0), Local1)
923		CH06(arg0, 67, 0xff)
924
925		// LNotEqual
926
927		Store (LNotEqual(Local0, i000), Local1)
928		CH06(arg0, 68, 0xff)
929
930		Store (LNotEqual(i000, Local0), Local1)
931		CH06(arg0, 69, 0xff)
932
933		// LOr
934
935		Store (LOr(Local0, i000), Local1)
936		CH06(arg0, 70, 47)
937
938		Store (LOr(i000, Local0), Local1)
939		CH06(arg0, 71, 47)
940
941		// Mod
942
943		Mod(Local0, i000, Local1)
944		CH06(arg0, 74, 47)
945
946		Mod(i000, Local0, Local1)
947		CH06(arg0, 75, 47)
948
949		// Multiply
950
951		Multiply(Local0, i000, Local1)
952		CH06(arg0, 78, 47)
953
954		Multiply(i000, Local0, Local1)
955		CH06(arg0, 79, 47)
956
957		// NAnd
958
959		NAnd(Local0, i000, Local1)
960		CH06(arg0, 82, 47)
961
962		NAnd(i000, Local0, Local1)
963		CH06(arg0, 83, 47)
964
965		// NOr
966
967		NOr(Local0, i000, Local1)
968		CH06(arg0, 86, 47)
969
970		NOr(i000, Local0, Local1)
971		CH06(arg0, 87, 47)
972
973		// Or
974
975		Or(Local0, i000, Local1)
976		CH06(arg0, 90, 47)
977
978		Or(i000, Local0, Local1)
979		CH06(arg0, 91, 47)
980
981		// ShiftLeft
982
983		ShiftLeft(Local0, i000, Local1)
984		CH06(arg0, 94, 47)
985
986		ShiftLeft(i000, Local0, Local1)
987		CH06(arg0, 95, 47)
988
989		// ShiftRight
990
991		ShiftRight(Local0, i000, Local1)
992		CH06(arg0, 98, 47)
993
994		ShiftRight(i000, Local0, Local1)
995		CH06(arg0, 99, 47)
996
997		// Subtract
998
999		Subtract(Local0, i000, Local1)
1000		CH06(arg0, 102, 47)
1001
1002		Subtract(i000, Local0, Local1)
1003		CH06(arg0, 103, 47)
1004
1005		// ToString
1006
1007		ToString(Local0, 1, Local1)
1008		CH06(arg0, 106, 47)
1009
1010		ToString(i000, Local0, Local1)
1011		CH06(arg0, 107, 47)
1012
1013		// Wait
1014
1015		Store(Wait(Local0, i000), Local1)
1016		CH06(arg0, 108, 47)
1017
1018		Store(Wait(e000, Local0), Local1)
1019		CH06(arg0, 109, 47)
1020
1021		// XOr
1022
1023		XOr(Local0, i000, Local1)
1024		CH06(arg0, 112, 47)
1025
1026		XOr(i000, Local0, Local1)
1027		CH06(arg0, 113, 47)
1028
1029		// Mid
1030
1031		Mid(Local0, 1, 1, Local1)
1032		CH06(arg0, 117, 47)
1033
1034		Mid("123", Local0, 1, Local1)
1035		CH06(arg0, 118, 47)
1036
1037		Mid("123", 1, Local0, Local1)
1038		CH06(arg0, 119, 47)
1039
1040		// Match
1041
1042		Store (Match(Local0, MTR, 0, MTR, 0, 0), Local1)
1043		CH03(ts, z096, 39, 0, 0)
1044
1045		Store (Match(Package(){1}, MTR, Local0, MTR, 0, 0), Local1)
1046		CH06(arg0, 121, 47)
1047
1048		Store (Match(Package(){1}, MTR, 0, MTR, Local0, 0), Local1)
1049		CH06(arg0, 122, 47)
1050
1051		Store (Match(Package(){1}, MTR, 0, MTR, 0, Local0), Local1)
1052		CH06(arg0, 123, 47)
1053	}
1054
1055	// An element of Package
1056	Method(m004, 1, Serialized)
1057	{
1058		Name(p000, Package(){Package(){0x63}})
1059
1060		// DeRefOf(Index(Package, Ind))
1061
1062		// CondRefOf
1063		
1064		CondRefOf(DeRefOf(Index(p000, 0)), Local1)
1065		CH06(arg0, 1, 47)
1066
1067		// CopyObject
1068
1069		CopyObject(DeRefOf(Index(p000, 0)), Local1)
1070		CH03(ts, z096, 40, 0, 0)
1071
1072		// Decrement
1073
1074		Decrement(DeRefOf(Index(p000, 0)))
1075		CH06(arg0, 2, 47)
1076
1077		// DerefOf
1078
1079		Store (DerefOf(DeRefOf(Index(p000, 0))), Local1)
1080		CH06(arg0, 3, 47)
1081
1082		// FindSetLeftBit
1083
1084		FindSetLeftBit(DeRefOf(Index(p000, 0)), Local1)
1085		CH06(arg0, 5, 47)
1086
1087		// FindSetRightBit
1088
1089		FindSetRightBit(DeRefOf(Index(p000, 0)), Local1)
1090		CH06(arg0, 7, 47)
1091
1092		// FromBCD
1093
1094		FromBCD(DeRefOf(Index(p000, 0)), Local1)
1095		CH06(arg0, 9, 47)
1096
1097		// Increment
1098
1099		Increment(DeRefOf(Index(p000, 0)))
1100		CH06(arg0, 10, 47)
1101
1102		// LNot
1103
1104		Store (LNot(DeRefOf(Index(p000, 0))), Local1)
1105		CH06(arg0, 11, 47)
1106
1107		// Not
1108
1109		Not(DeRefOf(Index(p000, 0)), Local1)
1110		CH06(arg0, 13, 47)
1111
1112		// ObjectType
1113
1114		Store (ObjectType(DeRefOf(Index(p000, 0))), Local1)
1115		CH03(ts, z096, 41, 0, 0)
1116
1117		// RefOf
1118
1119		Store (RefOf(DeRefOf(Index(p000, 0))), Local1)
1120		CH06(arg0, 14, 47)
1121
1122		// Release
1123
1124		// Reset
1125
1126		// Signal
1127
1128		// SizeOf
1129
1130		Store (SizeOf(DeRefOf(Index(p000, 0))), Local1)
1131		CH03(ts, z096, 42, 0, 0)
1132
1133		// Sleep
1134
1135		Sleep(DeRefOf(Index(p000, 0)))
1136		CH06(arg0, 17, 47)
1137
1138		// Stall
1139
1140		Stall(DeRefOf(Index(p000, 0)))
1141		CH06(arg0, 18, 47)
1142
1143		// Store
1144
1145		Store(DeRefOf(Index(p000, 0)), Local1)
1146		CH03(ts, z096, 43, 0, 0)
1147
1148		// ToBCD
1149
1150		ToBCD(DeRefOf(Index(p000, 0)), Local1)
1151		CH06(arg0, 21, 47)
1152
1153		// ToBuffer
1154
1155		ToBuffer(DeRefOf(Index(p000, 0)), Local1)
1156		CH06(arg0, 23, 47)
1157
1158		// ToDecimalString
1159
1160		ToDecimalString(DeRefOf(Index(p000, 0)), Local1)
1161		CH06(arg0, 25, 47)
1162
1163		// ToHexString
1164
1165		ToHexString(DeRefOf(Index(p000, 0)), Local1)
1166		CH06(arg0, 27, 47)
1167
1168		// ToInteger
1169
1170		ToInteger(DeRefOf(Index(p000, 0)), Local1)
1171		CH06(arg0, 29, 47)
1172
1173		// Acquire
1174
1175		// Add
1176
1177		Add(DeRefOf(Index(p000, 0)), i000, Local1)
1178		CH06(arg0, 33, 47)
1179
1180		Add(i000, DeRefOf(Index(p000, 0)), Local1)
1181		CH06(arg0, 34, 47)
1182
1183		// And
1184
1185		And(DeRefOf(Index(p000, 0)), i000, Local1)
1186		CH06(arg0, 37, 47)
1187
1188		And(i000, DeRefOf(Index(p000, 0)), Local1)
1189		CH06(arg0, 38, 47)
1190
1191		// Concatenate
1192
1193		Concatenate(DeRefOf(Index(p000, 0)), i000, Local1)
1194		CH06(arg0, 41, 47)
1195
1196		Concatenate(i000, DeRefOf(Index(p000, 0)), Local1)
1197		CH06(arg0, 42, 47)
1198
1199		// ConcatenateResTemplate
1200
1201		ConcatenateResTemplate(DeRefOf(Index(p000, 0)), ResourceTemplate(){}, Local1)
1202		CH06(arg0, 45, 47)
1203
1204		ConcatenateResTemplate(ResourceTemplate(){}, DeRefOf(Index(p000, 0)), Local1)
1205		CH06(arg0, 46, 47)
1206
1207		// Divide
1208
1209		Divide(DeRefOf(Index(p000, 0)), i000, Local2)
1210		CH06(arg0, 49, 47)
1211
1212		Divide(i000, DeRefOf(Index(p000, 0)), Local2)
1213		CH06(arg0, 50, 47)
1214
1215		Divide(DeRefOf(Index(p000, 0)), i000, Local2, Local1)
1216		CH06(arg0, 51, 47)
1217
1218		Divide(i000, DeRefOf(Index(p000, 0)), Local2, Local1)
1219		CH06(arg0, 52, 47)
1220
1221		// Fatal
1222
1223		Fatal(0xff, 0xffffffff, DeRefOf(Index(p000, 0)))
1224		CH06(arg0, 53, 47)
1225
1226		// Index
1227
1228		Index(DeRefOf(Index(p000, 0)), 0, Local1)
1229		CH03(ts, z096, 45, 0, 0)
1230
1231		Index("0", DeRefOf(Index(p000, 0)), Local1)
1232		CH06(arg0, 57, 47)
1233
1234		// LEqual
1235
1236		Store (LEqual(DeRefOf(Index(p000, 0)), i000), Local1)
1237		CH06(arg0, 58, 47)
1238
1239		Store (LEqual(i000, DeRefOf(Index(p000, 0))), Local1)
1240		CH06(arg0, 59, 47)
1241
1242		// LGreater
1243
1244		Store (LGreater(DeRefOf(Index(p000, 0)), i000), Local1)
1245		CH06(arg0, 60, 47)
1246
1247		Store (LGreater(i000, DeRefOf(Index(p000, 0))), Local1)
1248		CH06(arg0, 61, 47)
1249
1250		// LGreaterEqual
1251
1252		Store (LGreaterEqual(DeRefOf(Index(p000, 0)), i000), Local1)
1253		CH06(arg0, 62, 0xff)
1254
1255		Store (LGreaterEqual(i000, DeRefOf(Index(p000, 0))), Local1)
1256		CH06(arg0, 63, 0xff)
1257
1258		// LLess
1259
1260		Store (LLess(DeRefOf(Index(p000, 0)), i000), Local1)
1261		CH06(arg0, 64, 47)
1262
1263		Store (LLess(i000, DeRefOf(Index(p000, 0))), Local1)
1264		CH06(arg0, 65, 47)
1265
1266		// LLessEqual
1267
1268		Store (LLessEqual(DeRefOf(Index(p000, 0)), i000), Local1)
1269		CH06(arg0, 66, 0xff)
1270
1271		Store (LLessEqual(i000, DeRefOf(Index(p000, 0))), Local1)
1272		CH06(arg0, 67, 0xff)
1273
1274		// LNotEqual
1275
1276		Store (LNotEqual(DeRefOf(Index(p000, 0)), i000), Local1)
1277		CH06(arg0, 68, 0xff)
1278
1279		Store (LNotEqual(i000, DeRefOf(Index(p000, 0))), Local1)
1280		CH06(arg0, 69, 0xff)
1281
1282		// LOr
1283
1284		Store (LOr(DeRefOf(Index(p000, 0)), i000), Local1)
1285		CH06(arg0, 70, 47)
1286
1287		Store (LOr(i000, DeRefOf(Index(p000, 0))), Local1)
1288		CH06(arg0, 71, 47)
1289
1290		// Mod
1291
1292		Mod(DeRefOf(Index(p000, 0)), i000, Local1)
1293		CH06(arg0, 74, 47)
1294
1295		Mod(i000, DeRefOf(Index(p000, 0)), Local1)
1296		CH06(arg0, 75, 47)
1297
1298		// Multiply
1299
1300		Multiply(DeRefOf(Index(p000, 0)), i000, Local1)
1301		CH06(arg0, 78, 47)
1302
1303		Multiply(i000, DeRefOf(Index(p000, 0)), Local1)
1304		CH06(arg0, 79, 47)
1305
1306		// NAnd
1307
1308		NAnd(DeRefOf(Index(p000, 0)), i000, Local1)
1309		CH06(arg0, 82, 47)
1310
1311		NAnd(i000, DeRefOf(Index(p000, 0)), Local1)
1312		CH06(arg0, 83, 47)
1313
1314		// NOr
1315
1316		NOr(DeRefOf(Index(p000, 0)), i000, Local1)
1317		CH06(arg0, 86, 47)
1318
1319		NOr(i000, DeRefOf(Index(p000, 0)), Local1)
1320		CH06(arg0, 87, 47)
1321
1322		// Or
1323
1324		Or(DeRefOf(Index(p000, 0)), i000, Local1)
1325		CH06(arg0, 90, 47)
1326
1327		Or(i000, DeRefOf(Index(p000, 0)), Local1)
1328		CH06(arg0, 91, 47)
1329
1330		// ShiftLeft
1331
1332		ShiftLeft(DeRefOf(Index(p000, 0)), i000, Local1)
1333		CH06(arg0, 94, 47)
1334
1335		ShiftLeft(i000, DeRefOf(Index(p000, 0)), Local1)
1336		CH06(arg0, 95, 47)
1337
1338		// ShiftRight
1339
1340		ShiftRight(DeRefOf(Index(p000, 0)), i000, Local1)
1341		CH06(arg0, 98, 47)
1342
1343		ShiftRight(i000, DeRefOf(Index(p000, 0)), Local1)
1344		CH06(arg0, 99, 47)
1345
1346		// Subtract
1347
1348		Subtract(DeRefOf(Index(p000, 0)), i000, Local1)
1349		CH06(arg0, 102, 47)
1350
1351		Subtract(i000, DeRefOf(Index(p000, 0)), Local1)
1352		CH06(arg0, 103, 47)
1353
1354		// ToString
1355
1356		ToString(DeRefOf(Index(p000, 0)), 1, Local1)
1357		CH06(arg0, 106, 47)
1358
1359		ToString(i000, DeRefOf(Index(p000, 0)), Local1)
1360		CH06(arg0, 107, 47)
1361
1362		// Wait
1363
1364		Store(Wait(e000, DeRefOf(Index(p000, 0))), Local1)
1365		CH06(arg0, 109, 47)
1366
1367		// XOr
1368
1369		XOr(DeRefOf(Index(p000, 0)), i000, Local1)
1370		CH06(arg0, 112, 47)
1371
1372		XOr(i000, DeRefOf(Index(p000, 0)), Local1)
1373		CH06(arg0, 113, 47)
1374
1375		// Mid
1376
1377		Mid(DeRefOf(Index(p000, 0)), 1, 1, Local1)
1378		CH06(arg0, 117, 47)
1379
1380		Mid("123", DeRefOf(Index(p000, 0)), 1, Local1)
1381		CH06(arg0, 118, 47)
1382
1383		Mid("123", 1, DeRefOf(Index(p000, 0)), Local1)
1384		CH06(arg0, 119, 47)
1385
1386		// Match
1387
1388		Store (Match(DeRefOf(Index(p000, 0)), MTR, 0, MTR, 0, 0), Local1)
1389		CH03(ts, z096, 46, 0, 0)
1390
1391		Store (Match(Package(){1}, MTR, DeRefOf(Index(p000, 0)), MTR, 0, 0), Local1)
1392		CH06(arg0, 121, 47)
1393
1394		Store (Match(Package(){1}, MTR, 0, MTR, DeRefOf(Index(p000, 0)), 0), Local1)
1395		CH06(arg0, 122, 47)
1396
1397		Store (Match(Package(){1}, MTR, 0, MTR, 0, DeRefOf(Index(p000, 0))), Local1)
1398		CH06(arg0, 123, 47)
1399
1400
1401		// DeRefOf(Index(Package, Ind, Dest))
1402
1403		// CondRefOf
1404		
1405		CondRefOf(DeRefOf(Index(p000, 0, Local0)), Local1)
1406		CH06(arg0, 204, 47)
1407
1408		// CopyObject
1409
1410		CopyObject(DeRefOf(Index(p000, 0, Local0)), Local1)
1411		CH03(ts, z096, 47, 0, 0)
1412
1413		// Decrement
1414
1415		Decrement(DeRefOf(Index(p000, 0, Local0)))
1416		CH06(arg0, 1, 47)
1417
1418		// DerefOf
1419
1420		Store (DerefOf(DeRefOf(Index(p000, 0, Local0))), Local1)
1421		CH06(arg0, 2, 47)
1422
1423		// FindSetLeftBit
1424
1425		FindSetLeftBit(DeRefOf(Index(p000, 0, Local0)), Local1)
1426		CH06(arg0, 4, 47)
1427
1428		// FindSetRightBit
1429
1430		FindSetRightBit(DeRefOf(Index(p000, 0, Local0)), Local1)
1431		CH06(arg0, 6, 47)
1432
1433		// FromBCD
1434
1435		FromBCD(DeRefOf(Index(p000, 0, Local0)), Local1)
1436		CH06(arg0, 8, 47)
1437
1438		// Increment
1439
1440		Increment(DeRefOf(Index(p000, 0, Local0)))
1441		CH06(arg0, 9, 47)
1442
1443		// LNot
1444
1445		Store (LNot(DeRefOf(Index(p000, 0, Local0))), Local1)
1446		CH06(arg0, 10, 47)
1447
1448		// Not
1449
1450		Not(DeRefOf(Index(p000, 0, Local0)), Local1)
1451		CH06(arg0, 12, 47)
1452
1453		// ObjectType
1454
1455		Store (ObjectType(DeRefOf(Index(p000, 0, Local0))), Local1)
1456		CH03(ts, z096, 48, 0, 0)
1457
1458		// RefOf
1459
1460		Store (RefOf(DeRefOf(Index(p000, 0, Local0))), Local1)
1461		CH06(arg0, 205, 47)
1462
1463		// Release
1464
1465		// Reset
1466
1467		// Signal
1468
1469		// SizeOf
1470
1471		Store (SizeOf(DeRefOf(Index(p000, 0, Local0))), Local1)
1472		CH03(ts, z096, 49, 0, 0)
1473
1474		// Sleep
1475
1476		Sleep(DeRefOf(Index(p000, 0, Local0)))
1477		CH06(arg0, 17, 47)
1478
1479		// Stall
1480
1481		Stall(DeRefOf(Index(p000, 0, Local0)))
1482		CH06(arg0, 18, 47)
1483
1484		// Store
1485
1486		Store(DeRefOf(Index(p000, 0, Local0)), Local1)
1487		CH03(ts, z096, 50, 0, 0)
1488
1489		// ToBCD
1490
1491		ToBCD(DeRefOf(Index(p000, 0, Local0)), Local1)
1492		CH06(arg0, 21, 47)
1493
1494		// ToBuffer
1495
1496		ToBuffer(DeRefOf(Index(p000, 0, Local0)), Local1)
1497		CH06(arg0, 23, 47)
1498
1499		// ToDecimalString
1500
1501		ToDecimalString(DeRefOf(Index(p000, 0, Local0)), Local1)
1502		CH06(arg0, 25, 47)
1503
1504		// ToHexString
1505
1506		ToHexString(DeRefOf(Index(p000, 0, Local0)), Local1)
1507		CH06(arg0, 27, 47)
1508
1509		// ToInteger
1510
1511		ToInteger(DeRefOf(Index(p000, 0, Local0)), Local1)
1512		CH06(arg0, 29, 47)
1513
1514		// Acquire
1515
1516		// Add
1517
1518		Add(DeRefOf(Index(p000, 0, Local0)), i000, Local1)
1519		CH06(arg0, 33, 47)
1520
1521		Add(i000, DeRefOf(Index(p000, 0, Local0)), Local1)
1522		CH06(arg0, 34, 47)
1523
1524		// And
1525
1526		And(DeRefOf(Index(p000, 0, Local0)), i000, Local1)
1527		CH06(arg0, 37, 47)
1528
1529		And(i000, DeRefOf(Index(p000, 0, Local0)), Local1)
1530		CH06(arg0, 38, 47)
1531
1532		// Concatenate
1533
1534		Concatenate(DeRefOf(Index(p000, 0, Local0)), i000, Local1)
1535		CH06(arg0, 41, 47)
1536
1537		Concatenate(i000, DeRefOf(Index(p000, 0, Local0)), Local1)
1538		CH06(arg0, 42, 47)
1539
1540		// ConcatenateResTemplate
1541
1542		ConcatenateResTemplate(DeRefOf(Index(p000, 0, Local0)), ResourceTemplate(){}, Local1)
1543		CH06(arg0, 45, 47)
1544
1545		ConcatenateResTemplate(ResourceTemplate(){}, DeRefOf(Index(p000, 0, Local0)), Local1)
1546		CH06(arg0, 46, 47)
1547
1548		// Divide
1549
1550		Divide(DeRefOf(Index(p000, 0, Local0)), i000, Local2)
1551		CH06(arg0, 49, 47)
1552
1553		Divide(i000, DeRefOf(Index(p000, 0, Local0)), Local2)
1554		CH06(arg0, 50, 47)
1555
1556		Divide(DeRefOf(Index(p000, 0, Local0)), i000, Local2, Local1)
1557		CH06(arg0, 51, 47)
1558
1559		Divide(i000, DeRefOf(Index(p000, 0, Local0)), Local2, Local1)
1560		CH06(arg0, 52, 47)
1561
1562		// Fatal
1563
1564		Fatal(0xff, 0xffffffff, DeRefOf(Index(p000, 0, Local0)))
1565		CH06(arg0, 53, 47)
1566
1567		// Index
1568
1569		Index(DeRefOf(Index(p000, 0, Local0)), 0, Local1)
1570		CH03(ts, z096, 52, 0, 0)
1571
1572		Index("0", DeRefOf(Index(p000, 0, Local0)), Local1)
1573		CH06(arg0, 57, 47)
1574
1575		// LEqual
1576
1577		Store (LEqual(DeRefOf(Index(p000, 0, Local0)), i000), Local1)
1578		CH06(arg0, 58, 47)
1579
1580		Store (LEqual(i000, DeRefOf(Index(p000, 0, Local0))), Local1)
1581		CH06(arg0, 59, 47)
1582
1583		// LGreater
1584
1585		Store (LGreater(DeRefOf(Index(p000, 0, Local0)), i000), Local1)
1586		CH06(arg0, 60, 47)
1587
1588		Store (LGreater(i000, DeRefOf(Index(p000, 0, Local0))), Local1)
1589		CH06(arg0, 61, 47)
1590
1591		// LGreaterEqual
1592
1593		Store (LGreaterEqual(DeRefOf(Index(p000, 0, Local0)), i000), Local1)
1594		CH06(arg0, 62, 0xff)
1595
1596		Store (LGreaterEqual(i000, DeRefOf(Index(p000, 0, Local0))), Local1)
1597		CH06(arg0, 63, 0xff)
1598
1599		// LLess
1600
1601		Store (LLess(DeRefOf(Index(p000, 0, Local0)), i000), Local1)
1602		CH06(arg0, 64, 47)
1603
1604		Store (LLess(i000, DeRefOf(Index(p000, 0, Local0))), Local1)
1605		CH06(arg0, 65, 47)
1606
1607		// LLessEqual
1608
1609		Store (LLessEqual(DeRefOf(Index(p000, 0, Local0)), i000), Local1)
1610		CH06(arg0, 66, 0xff)
1611
1612		Store (LLessEqual(i000, DeRefOf(Index(p000, 0, Local0))), Local1)
1613		CH06(arg0, 67, 0xff)
1614
1615		// LNotEqual
1616
1617		Store (LNotEqual(DeRefOf(Index(p000, 0, Local0)), i000), Local1)
1618		CH06(arg0, 68, 0xff)
1619
1620		Store (LNotEqual(i000, DeRefOf(Index(p000, 0, Local0))), Local1)
1621		CH06(arg0, 69, 0xff)
1622
1623		// LOr
1624
1625		Store (LOr(DeRefOf(Index(p000, 0, Local0)), i000), Local1)
1626		CH06(arg0, 70, 47)
1627
1628		Store (LOr(i000, DeRefOf(Index(p000, 0, Local0))), Local1)
1629		CH06(arg0, 71, 47)
1630
1631		// Mod
1632
1633		Mod(DeRefOf(Index(p000, 0, Local0)), i000, Local1)
1634		CH06(arg0, 74, 47)
1635
1636		Mod(i000, DeRefOf(Index(p000, 0, Local0)), Local1)
1637		CH06(arg0, 75, 47)
1638
1639		// Multiply
1640
1641		Multiply(DeRefOf(Index(p000, 0, Local0)), i000, Local1)
1642		CH06(arg0, 78, 47)
1643
1644		Multiply(i000, DeRefOf(Index(p000, 0, Local0)), Local1)
1645		CH06(arg0, 79, 47)
1646
1647		// NAnd
1648
1649		NAnd(DeRefOf(Index(p000, 0, Local0)), i000, Local1)
1650		CH06(arg0, 82, 47)
1651
1652		NAnd(i000, DeRefOf(Index(p000, 0, Local0)), Local1)
1653		CH06(arg0, 83, 47)
1654
1655		// NOr
1656
1657		NOr(DeRefOf(Index(p000, 0, Local0)), i000, Local1)
1658		CH06(arg0, 86, 47)
1659
1660		NOr(i000, DeRefOf(Index(p000, 0, Local0)), Local1)
1661		CH06(arg0, 87, 47)
1662
1663		// Or
1664
1665		Or(DeRefOf(Index(p000, 0, Local0)), i000, Local1)
1666		CH06(arg0, 90, 47)
1667
1668		Or(i000, DeRefOf(Index(p000, 0, Local0)), Local1)
1669		CH06(arg0, 91, 47)
1670
1671		// ShiftLeft
1672
1673		ShiftLeft(DeRefOf(Index(p000, 0, Local0)), i000, Local1)
1674		CH06(arg0, 94, 47)
1675
1676		ShiftLeft(i000, DeRefOf(Index(p000, 0, Local0)), Local1)
1677		CH06(arg0, 95, 47)
1678
1679		// ShiftRight
1680
1681		ShiftRight(DeRefOf(Index(p000, 0, Local0)), i000, Local1)
1682		CH06(arg0, 98, 47)
1683
1684		ShiftRight(i000, DeRefOf(Index(p000, 0, Local0)), Local1)
1685		CH06(arg0, 99, 47)
1686
1687		// Subtract
1688
1689		Subtract(DeRefOf(Index(p000, 0, Local0)), i000, Local1)
1690		CH06(arg0, 102, 47)
1691
1692		Subtract(i000, DeRefOf(Index(p000, 0, Local0)), Local1)
1693		CH06(arg0, 103, 47)
1694
1695		// ToString
1696
1697		ToString(DeRefOf(Index(p000, 0, Local0)), 1, Local1)
1698		CH06(arg0, 106, 47)
1699
1700		ToString(i000, DeRefOf(Index(p000, 0, Local0)), Local1)
1701		CH06(arg0, 107, 47)
1702
1703		// Wait
1704
1705		Store(Wait(e000, DeRefOf(Index(p000, 0, Local0))), Local1)
1706		CH06(arg0, 109, 47)
1707
1708		// XOr
1709
1710		XOr(DeRefOf(Index(p000, 0, Local0)), i000, Local1)
1711		CH06(arg0, 112, 47)
1712
1713		XOr(i000, DeRefOf(Index(p000, 0, Local0)), Local1)
1714		CH06(arg0, 113, 47)
1715
1716		// Mid
1717
1718		Mid(DeRefOf(Index(p000, 0, Local0)), 1, 1, Local1)
1719		CH06(arg0, 117, 47)
1720
1721		Mid("123", DeRefOf(Index(p000, 0, Local0)), 1, Local1)
1722		CH06(arg0, 118, 47)
1723
1724		Mid("123", 1, DeRefOf(Index(p000, 0, Local0)), Local1)
1725		CH06(arg0, 119, 47)
1726
1727		// Match
1728
1729		Store (Match(DeRefOf(Index(p000, 0, Local0)), MTR, 0, MTR, 0, 0), Local1)
1730		CH03(ts, z096, 53, 0, 0)
1731
1732		Store (Match(Package(){1}, MTR, DeRefOf(Index(p000, 0, Local0)), MTR, 0, 0), Local1)
1733		CH06(arg0, 121, 47)
1734
1735		Store (Match(Package(){1}, MTR, 0, MTR, DeRefOf(Index(p000, 0, Local0)), 0), Local1)
1736		CH06(arg0, 122, 47)
1737
1738		Store (Match(Package(){1}, MTR, 0, MTR, 0, DeRefOf(Index(p000, 0, Local0))), Local1)
1739		CH06(arg0, 123, 47)
1740	}
1741
1742	// Reference to Object
1743	Method(m005, 2)
1744	{
1745		Store(arg0, Debug)
1746		Store(arg1, Debug)
1747
1748		Store(ObjectType(arg1), Local0)
1749		if (LNotEqual(Local0, 4)) {
1750			err(arg0, z096, 0, 0, 0, Local0, 4)
1751			return (1)
1752		}
1753
1754		Store (DerefOf(arg1), Local1)
1755		CH03(ts, z096, 54, 0, 0)
1756
1757		// CondRefOf
1758		
1759		Store (CondRefOf(DerefOf(arg1)), Local1)
1760		CH06(arg0, 1, 47)
1761
1762		Store (CondRefOf(DerefOf(arg1), Local1), Local1)
1763		CH06(arg0, 2, 47)
1764
1765		// CopyObject
1766
1767		CopyObject(DerefOf(arg1), Local1)
1768		CH03(ts, z096, 55, 0, 0)
1769
1770		// Decrement
1771
1772		Decrement(DerefOf(arg1))
1773		CH06(arg0, 3, 47)
1774
1775		// DerefOf
1776
1777		Store (DerefOf(DerefOf(arg1)), Local1)
1778		CH06(arg0, 4, 47)
1779
1780		// FindSetLeftBit
1781
1782		FindSetLeftBit(DerefOf(arg1), Local1)
1783		CH06(arg0, 6, 47)
1784
1785		// FindSetRightBit
1786
1787		FindSetRightBit(DerefOf(arg1), Local1)
1788		CH06(arg0, 8, 47)
1789
1790		// FromBCD
1791
1792		FromBCD(DerefOf(arg1), Local1)
1793		CH06(arg0, 10, 47)
1794
1795		// Increment
1796
1797		Increment(DerefOf(arg1))
1798		CH06(arg0, 11, 47)
1799
1800		// LNot
1801
1802		Store (LNot(DerefOf(arg1)), Local1)
1803		CH06(arg0, 12, 47)
1804
1805		// Not
1806
1807		Not(DerefOf(arg1), Local1)
1808		CH06(arg0, 14, 47)
1809
1810		// ObjectType
1811
1812		Store (ObjectType(DerefOf(arg1)), Local1)
1813		CH03(ts, z096, 56, 0, 0)
1814
1815		// RefOf
1816
1817		Store (RefOf(DerefOf(arg1)), Local1)
1818		CH06(arg0, 15, 47)
1819
1820		// Release
1821
1822		// Reset
1823
1824		// Signal
1825
1826		// SizeOf
1827
1828		Store (SizeOf(DerefOf(arg1)), Local1)
1829		CH03(ts, z096, 57, 0, 0)
1830
1831		// Sleep
1832
1833		Sleep(DerefOf(arg1))
1834		CH06(arg0, 17, 47)
1835
1836		// Stall
1837
1838		Stall(DerefOf(arg1))
1839		CH06(arg0, 18, 47)
1840
1841		// Store
1842
1843		Store(DerefOf(arg1), Local1)
1844		CH03(ts, z096, 58, 0, 0)
1845
1846		// ToBCD
1847
1848		ToBCD(DerefOf(arg1), Local1)
1849		CH06(arg0, 21, 47)
1850
1851		// ToBuffer
1852
1853		ToBuffer(DerefOf(arg1), Local1)
1854		CH06(arg0, 23, 47)
1855
1856		// ToDecimalString
1857
1858		ToDecimalString(DerefOf(arg1), Local1)
1859		CH06(arg0, 25, 47)
1860
1861		// ToHexString
1862
1863		ToHexString(DerefOf(arg1), Local1)
1864		CH06(arg0, 27, 47)
1865
1866		// ToInteger
1867
1868		ToInteger(DerefOf(arg1), Local1)
1869		CH06(arg0, 29, 47)
1870
1871		// Acquire
1872
1873		// Add
1874
1875		Add(DerefOf(arg1), i000, Local1)
1876		CH06(arg0, 33, 47)
1877
1878		Add(i000, DerefOf(arg1), Local1)
1879		CH06(arg0, 34, 47)
1880
1881		// And
1882
1883		And(DerefOf(arg1), i000, Local1)
1884		CH06(arg0, 37, 47)
1885
1886		And(i000, DerefOf(arg1), Local1)
1887		CH06(arg0, 38, 47)
1888
1889		// Concatenate
1890
1891		Concatenate(DerefOf(arg1), i000, Local1)
1892		CH06(arg0, 41, 47)
1893
1894		Concatenate(i000, DerefOf(arg1), Local1)
1895		CH06(arg0, 42, 47)
1896
1897		// ConcatenateResTemplate
1898
1899		ConcatenateResTemplate(DerefOf(arg1), ResourceTemplate(){}, Local1)
1900		CH06(arg0, 45, 47)
1901
1902		ConcatenateResTemplate(ResourceTemplate(){}, DerefOf(arg1), Local1)
1903		CH06(arg0, 46, 47)
1904
1905		// Divide
1906
1907		Divide(DerefOf(arg1), i000, Local2)
1908		CH06(arg0, 49, 47)
1909
1910		Divide(i000, DerefOf(arg1), Local2)
1911		CH06(arg0, 50, 47)
1912
1913		Divide(DerefOf(arg1), i000, Local2, Local1)
1914		CH06(arg0, 51, 47)
1915
1916		Divide(i000, DerefOf(arg1), Local2, Local1)
1917		CH06(arg0, 52, 47)
1918
1919		// Fatal
1920
1921		Fatal(0xff, 0xffffffff, DerefOf(arg1))
1922		CH06(arg0, 53, 47)
1923
1924		// Index
1925
1926		Index(DerefOf(arg1), 0, Local1)
1927		CH03(ts, z096, 60, 0, 0)
1928
1929		Index("0", DerefOf(arg1), Local1)
1930		CH06(arg0, 57, 47)
1931
1932		// LEqual
1933
1934		Store (LEqual(DerefOf(arg1), i000), Local1)
1935		CH06(arg0, 58, 47)
1936
1937		Store (LEqual(i000, DerefOf(arg1)), Local1)
1938		CH06(arg0, 59, 47)
1939
1940		// LGreater
1941
1942		Store (LGreater(DerefOf(arg1), i000), Local1)
1943		CH06(arg0, 60, 47)
1944
1945		Store (LGreater(i000, DerefOf(arg1)), Local1)
1946		CH06(arg0, 61, 47)
1947
1948		// LGreaterEqual
1949
1950		Store (LGreaterEqual(DerefOf(arg1), i000), Local1)
1951		CH06(arg0, 62, 0xff)
1952
1953		Store (LGreaterEqual(i000, DerefOf(arg1)), Local1)
1954		CH06(arg0, 63, 0xff)
1955
1956		// LLess
1957
1958		Store (LLess(DerefOf(arg1), i000), Local1)
1959		CH06(arg0, 64, 47)
1960
1961		Store (LLess(i000, DerefOf(arg1)), Local1)
1962		CH06(arg0, 65, 47)
1963
1964		// LLessEqual
1965
1966		Store (LLessEqual(DerefOf(arg1), i000), Local1)
1967		CH06(arg0, 66, 0xff)
1968
1969		Store (LLessEqual(i000, DerefOf(arg1)), Local1)
1970		CH06(arg0, 67, 0xff)
1971
1972		// LNotEqual
1973
1974		Store (LNotEqual(DerefOf(arg1), i000), Local1)
1975		CH06(arg0, 68, 0xff)
1976
1977		Store (LNotEqual(i000, DerefOf(arg1)), Local1)
1978		CH06(arg0, 69, 0xff)
1979
1980		// LOr
1981
1982		Store (LOr(DerefOf(arg1), i000), Local1)
1983		CH06(arg0, 70, 47)
1984
1985		Store (LOr(i000, DerefOf(arg1)), Local1)
1986		CH06(arg0, 71, 47)
1987
1988		// Mod
1989
1990		Mod(DerefOf(arg1), i000, Local1)
1991		CH06(arg0, 74, 47)
1992
1993		Mod(i000, DerefOf(arg1), Local1)
1994		CH06(arg0, 75, 47)
1995
1996		// Multiply
1997
1998		Multiply(DerefOf(arg1), i000, Local1)
1999		CH06(arg0, 78, 47)
2000
2001		Multiply(i000, DerefOf(arg1), Local1)
2002		CH06(arg0, 79, 47)
2003
2004		// NAnd
2005
2006		NAnd(DerefOf(arg1), i000, Local1)
2007		CH06(arg0, 82, 47)
2008
2009		NAnd(i000, DerefOf(arg1), Local1)
2010		CH06(arg0, 83, 47)
2011
2012		// NOr
2013
2014		NOr(DerefOf(arg1), i000, Local1)
2015		CH06(arg0, 86, 47)
2016
2017		NOr(i000, DerefOf(arg1), Local1)
2018		CH06(arg0, 87, 47)
2019
2020		// Or
2021
2022		Or(DerefOf(arg1), i000, Local1)
2023		CH06(arg0, 90, 47)
2024
2025		Or(i000, DerefOf(arg1), Local1)
2026		CH06(arg0, 91, 47)
2027
2028		// ShiftLeft
2029
2030		ShiftLeft(DerefOf(arg1), i000, Local1)
2031		CH06(arg0, 94, 47)
2032
2033		ShiftLeft(i000, DerefOf(arg1), Local1)
2034		CH06(arg0, 95, 47)
2035
2036		// ShiftRight
2037
2038		ShiftRight(DerefOf(arg1), i000, Local1)
2039		CH06(arg0, 98, 47)
2040
2041		ShiftRight(i000, DerefOf(arg1), Local1)
2042		CH06(arg0, 99, 47)
2043
2044		// Subtract
2045
2046		Subtract(DerefOf(arg1), i000, Local1)
2047		CH06(arg0, 102, 47)
2048
2049		Subtract(i000, DerefOf(arg1), Local1)
2050		CH06(arg0, 103, 47)
2051
2052		// ToString
2053
2054		ToString(DerefOf(arg1), 1, Local1)
2055		CH06(arg0, 106, 47)
2056
2057		ToString(i000, DerefOf(arg1), Local1)
2058		CH06(arg0, 107, 47)
2059
2060		// Wait
2061
2062		Store(Wait(e000, DerefOf(arg1)), Local1)
2063		CH06(arg0, 109, 47)
2064
2065		// XOr
2066
2067		XOr(DerefOf(arg1), i000, Local1)
2068		CH06(arg0, 112, 47)
2069
2070		XOr(i000, DerefOf(arg1), Local1)
2071		CH06(arg0, 113, 47)
2072
2073		// Mid
2074
2075		Mid(DerefOf(arg1), 1, 1, Local1)
2076		CH06(arg0, 117, 47)
2077
2078		Mid("123", DerefOf(arg1), 1, Local1)
2079		CH06(arg0, 118, 47)
2080
2081		Mid("123", 1, DerefOf(arg1), Local1)
2082		CH06(arg0, 119, 47)
2083
2084		// Match
2085
2086		Store (Match(DerefOf(arg1), MTR, 0, MTR, 0, 0), Local1)
2087		CH03(ts, z096, 61, 0, 0)
2088
2089		Store (Match(Package(){1}, MTR, DerefOf(arg1), MTR, 0, 0), Local1)
2090		CH06(arg0, 121, 47)
2091
2092		Store (Match(Package(){1}, MTR, 0, MTR, DerefOf(arg1), 0), Local1)
2093		CH06(arg0, 122, 47)
2094
2095		Store (Match(Package(){1}, MTR, 0, MTR, 0, DerefOf(arg1)), Local1)
2096		CH06(arg0, 123, 47)
2097
2098		return (0)
2099	}
2100
2101	// Result of Method invocation
2102	Method(m006, 1, Serialized)
2103	{
2104		Method(m000)
2105		{
2106			// intermediate storing to force ASL compiler
2107			// not report "Invalid type (Method returns)"
2108			Store(Package(){0x63}, Local0)
2109			Return (Local0)
2110		}
2111
2112		Name(ss00, "0")
2113
2114		// CondRefOf
2115
2116		if (y601) {
2117			Store (CondRefOf(m000()), Local1)
2118			CH06(arg0, 0, 47)
2119
2120			CondRefOf(m000(), Local1)
2121			CH06(arg0, 1, 47)
2122		}
2123
2124		// CopyObject
2125
2126		CopyObject(m000(), Local1)
2127		CH03(ts, z096, 62, 0, 0)
2128
2129		// Decrement
2130
2131		Decrement(m000())
2132		CH06(arg0, 2, 47)
2133
2134		// DerefOf
2135
2136		Store (DerefOf(m000()), Local1)
2137		CH06(arg0, 3, 47)
2138
2139		// FindSetLeftBit
2140
2141		FindSetLeftBit(m000(), Local1)
2142		CH06(arg0, 5, 47)
2143
2144		// FindSetRightBit
2145
2146		FindSetRightBit(m000(), Local1)
2147		CH06(arg0, 7, 47)
2148
2149		// FromBCD
2150
2151		FromBCD(m000(), Local1)
2152		CH06(arg0, 9, 47)
2153
2154		// Increment
2155
2156		Increment(m000())
2157		CH06(arg0, 10, 47)
2158
2159		// LNot
2160
2161		Store (LNot(m000()), Local1)
2162		CH06(arg0, 11, 47)
2163
2164		// Not
2165
2166		Not(m000(), Local1)
2167		CH06(arg0, 13, 47)
2168
2169		// ObjectType
2170        /* Nov. 2012: Method invocation as arg to ObjectType is now illegal */
2171//
2172//		ObjectType(m000())
2173//		CH03(ts, z096, 63, 0, 0)
2174
2175		// RefOf
2176
2177		if (y601) {
2178			Store (RefOf(m000()), Local1)
2179			CH06(arg0, 14, 47)
2180		}
2181
2182		// Release
2183
2184		Release(m000())
2185		CH06(arg0, 13, 47)
2186
2187		// Reset
2188
2189		Reset(m000())
2190		CH06(arg0, 14, 47)
2191
2192		// Signal
2193
2194		Signal(m000())
2195		CH06(arg0, 15, 47)
2196
2197		// SizeOf
2198
2199		Store (SizeOf(m000()), Local1)
2200		CH06(arg0, 16, 47)
2201
2202		// Sleep
2203
2204		Sleep(m000())
2205		CH06(arg0, 17, 47)
2206
2207		// Stall
2208
2209		Stall(m000())
2210		CH06(arg0, 18, 47)
2211
2212		// Store
2213
2214		// ToBCD
2215
2216		ToBCD(m000(), Local1)
2217		CH06(arg0, 21, 47)
2218
2219		// ToBuffer
2220
2221		ToBuffer(m000(), Local1)
2222		CH06(arg0, 23, 47)
2223
2224		// ToDecimalString
2225
2226		ToDecimalString(m000(), Local1)
2227		CH06(arg0, 25, 47)
2228
2229		// ToHexString
2230
2231		ToHexString(m000(), Local1)
2232		CH06(arg0, 27, 47)
2233
2234		// ToInteger
2235
2236		ToInteger(m000(), Local1)
2237		CH06(arg0, 29, 47)
2238
2239		// Acquire
2240
2241		Store(Acquire(m000(), 100), Local1)
2242		CH06(arg0, 30, 47)
2243
2244		// Add
2245
2246		Add(m000(), i000, Local1)
2247		CH06(arg0, 33, 47)
2248
2249		Add(i000, m000(), Local1)
2250		CH06(arg0, 34, 47)
2251
2252		// And
2253
2254		And(m000(), i000, Local1)
2255		CH06(arg0, 37, 47)
2256
2257		And(i000, m000(), Local1)
2258		CH06(arg0, 38, 47)
2259
2260		// Concatenate
2261
2262		Concatenate(m000(), i000, Local1)
2263		CH06(arg0, 41, 47)
2264
2265		Concatenate(i000, m000(), Local1)
2266		CH06(arg0, 42, 47)
2267
2268		// ConcatenateResTemplate
2269
2270		ConcatenateResTemplate(m000(), ResourceTemplate(){}, Local1)
2271		CH06(arg0, 45, 47)
2272
2273		ConcatenateResTemplate(ResourceTemplate(){}, m000(), Local1)
2274		CH06(arg0, 46, 47)
2275
2276		// Divide
2277
2278		Divide(m000(), i000, Local2)
2279		CH06(arg0, 49, 47)
2280
2281		Divide(i000, m000(), Local2)
2282		CH06(arg0, 50, 47)
2283
2284		Divide(m000(), i000, Local2, Local1)
2285		CH06(arg0, 51, 47)
2286
2287		Divide(i000, m000(), Local2, Local1)
2288		CH06(arg0, 52, 47)
2289
2290		// Fatal
2291
2292		Fatal(0xff, 0xffffffff, m000())
2293		CH06(arg0, 53, 47)
2294
2295		// Index
2296
2297		if (y900) {
2298			Index(m000(), 0, Local1)
2299			CH03(ts, z096, 65, 0, 0)
2300
2301			Index("0", m000(), Local1)
2302			CH06(arg0, 57, 47)
2303		} else {
2304			CH03(ts, z096, 0x123, 0, 0)
2305			CH03(ts, z096, 0x127, 0, 0)
2306			Index(m000(), 0, Local1)
2307			CH04(ts, 0, 85, z094, 0x128, 0, 0) // AE_INDEX_TO_NOT_ATTACHED
2308
2309			CH03(ts, z096, 0x129, 0, 0)
2310			Index("0", m000(), Local1)
2311			CH04(ts, 0, 0xff, z094, 0x12a, 0, 0) // AE_INDEX_TO_NOT_ATTACHED
2312
2313			CH03(ts, z096, 0x129, 0, 0)
2314			Index(ss00, m000(), Local1)
2315			CH04(ts, 0, 47, z094, 0x12a, 0, 0) // AE_INDEX_TO_NOT_ATTACHED
2316		}
2317
2318		// LEqual
2319
2320		Store (LEqual(m000(), i000), Local1)
2321		CH06(arg0, 58, 47)
2322
2323		Store (LEqual(i000, m000()), Local1)
2324		CH06(arg0, 59, 47)
2325
2326		// LGreater
2327
2328		Store (LGreater(m000(), i000), Local1)
2329		CH06(arg0, 60, 47)
2330
2331		Store (LGreater(i000, m000()), Local1)
2332		CH06(arg0, 61, 47)
2333
2334		// LGreaterEqual
2335
2336		Store (LGreaterEqual(m000(), i000), Local1)
2337		CH06(arg0, 62, 0xff)
2338
2339		Store (LGreaterEqual(i000, m000()), Local1)
2340		CH06(arg0, 63, 0xff)
2341
2342		// LLess
2343
2344		Store (LLess(m000(), i000), Local1)
2345		CH06(arg0, 64, 47)
2346
2347		Store (LLess(i000, m000()), Local1)
2348		CH06(arg0, 65, 47)
2349
2350		// LLessEqual
2351
2352		Store (LLessEqual(m000(), i000), Local1)
2353		CH06(arg0, 66, 0xff)
2354
2355		Store (LLessEqual(i000, m000()), Local1)
2356		CH06(arg0, 67, 0xff)
2357
2358		// LNotEqual
2359
2360		Store (LNotEqual(m000(), i000), Local1)
2361		CH06(arg0, 68, 0xff)
2362
2363		Store (LNotEqual(i000, m000()), Local1)
2364		CH06(arg0, 69, 0xff)
2365
2366		// LOr
2367
2368		Store (LOr(m000(), i000), Local1)
2369		CH06(arg0, 70, 47)
2370
2371		Store (LOr(i000, m000()), Local1)
2372		CH06(arg0, 71, 47)
2373
2374		// Mod
2375
2376		Mod(m000(), i000, Local1)
2377		CH06(arg0, 74, 47)
2378
2379		Mod(i000, m000(), Local1)
2380		CH06(arg0, 75, 47)
2381
2382		// Multiply
2383
2384		Multiply(m000(), i000, Local1)
2385		CH06(arg0, 78, 47)
2386
2387		Multiply(i000, m000(), Local1)
2388		CH06(arg0, 79, 47)
2389
2390		// NAnd
2391
2392		NAnd(m000(), i000, Local1)
2393		CH06(arg0, 82, 47)
2394
2395		NAnd(i000, m000(), Local1)
2396		CH06(arg0, 83, 47)
2397
2398		// NOr
2399
2400		NOr(m000(), i000, Local1)
2401		CH06(arg0, 86, 47)
2402
2403		NOr(i000, m000(), Local1)
2404		CH06(arg0, 87, 47)
2405
2406		// Or
2407
2408		Or(m000(), i000, Local1)
2409		CH06(arg0, 90, 47)
2410
2411		Or(i000, m000(), Local1)
2412		CH06(arg0, 91, 47)
2413
2414		// ShiftLeft
2415
2416		ShiftLeft(m000(), i000, Local1)
2417		CH06(arg0, 94, 47)
2418
2419		ShiftLeft(i000, m000(), Local1)
2420		CH06(arg0, 95, 47)
2421
2422		// ShiftRight
2423
2424		ShiftRight(m000(), i000, Local1)
2425		CH06(arg0, 98, 47)
2426
2427		ShiftRight(i000, m000(), Local1)
2428		CH06(arg0, 99, 47)
2429
2430		// Subtract
2431
2432		Subtract(m000(), i000, Local1)
2433		CH06(arg0, 102, 47)
2434
2435		Subtract(i000, m000(), Local1)
2436		CH06(arg0, 103, 47)
2437
2438		// ToString
2439
2440		ToString(m000(), 1, Local1)
2441		CH06(arg0, 106, 47)
2442
2443		ToString(i000, m000(), Local1)
2444		CH06(arg0, 107, 47)
2445
2446		// Wait
2447
2448		Store(Wait(m000(), i000), Local1)
2449		CH06(arg0, 108, 47)
2450
2451		Store(Wait(e000, m000()), Local1)
2452		CH06(arg0, 109, 47)
2453
2454		// XOr
2455
2456		XOr(m000(), i000, Local1)
2457		CH06(arg0, 112, 47)
2458
2459		XOr(i000, m000(), Local1)
2460		CH06(arg0, 113, 47)
2461
2462		// Mid
2463
2464		Mid(m000(), 1, 1, Local1)
2465		CH06(arg0, 117, 47)
2466
2467		Mid("123", m000(), 1, Local1)
2468		CH06(arg0, 118, 47)
2469
2470		Mid("123", 1, m000(), Local1)
2471		CH06(arg0, 119, 47)
2472
2473		// Match
2474
2475		Store (Match(m000(), MTR, 0, MTR, 0, 0), Local1)
2476		CH03(ts, z096, 66, 0, 0)
2477
2478		Store (Match(Package(){1}, MTR, m000(), MTR, 0, 0), Local1)
2479		CH06(arg0, 121, 47)
2480
2481		Store (Match(Package(){1}, MTR, 0, MTR, m000(), 0), Local1)
2482		CH06(arg0, 122, 47)
2483
2484		Store (Match(Package(){1}, MTR, 0, MTR, 0, m000()), Local1)
2485		CH06(arg0, 123, 47)
2486	}
2487
2488	// Reference to Object as Result of Method invocation
2489	Method(m007, 1, Serialized)
2490	{
2491		Name(p000, Package(){0x63})
2492
2493		Name(i000, 0) // Label to check m000 invocations
2494
2495		Method(m000, 2)
2496		{
2497			Store(arg0, i000)
2498			if (LEqual(arg1, 0)) {
2499				Store(Refof(p100), Local0)
2500			} elseif (LEqual(arg1, 1)) {
2501				Store(Refof(p000), Local0)
2502			}
2503			Return (Local0)
2504		}
2505
2506		Method(CH00, 2)
2507		{
2508			if (LNotEqual(i000, arg1)) {
2509				err(arg0, z096, 0, 0, 0, i000, arg1)
2510			}
2511		}
2512
2513		Name(lpN0, 2)
2514		Name(lpC0, 0)
2515
2516		While (lpN0) {
2517			Multiply(3, lpC0, Local0)
2518
2519			Store(0, i000)
2520
2521			Store (DerefOf(m000(1, lpC0)), Local1)
2522			CH03(ts, z096, Add(67, lpC0), 0, 0)
2523			CH00(arg0, 1)
2524
2525			Store (DerefOf(DerefOf(m000(2, lpC0))), Local1)
2526			CH06(arg0, Add(1, Local0), 47)
2527			CH00(arg0, 2)
2528
2529			Store (Index(DerefOf(m000(3, lpC0)), 0), Local1)
2530			CH06(arg0, Add(2, Local0), 47)
2531			CH00(arg0, 3)
2532
2533			Store (Match(DerefOf(m000(4, lpC0)), MTR, 0, MTR, 0, 0), Local1)
2534			CH06(arg0, Add(3, Local0), 47)
2535			CH00(arg0, 4)
2536
2537			Decrement(lpN0)
2538			Increment(lpC0)
2539		}
2540	}
2541
2542	// Result of Method with checking of invocation
2543	Method(m008, 1, Serialized)
2544	{
2545		Name(i000, 0) // Label to check m000 invocations
2546
2547		Method(m000, 1)
2548		{
2549			Store(arg0, i000)
2550			Store(Package(){0x63}, Local0)
2551			Return (Local0)
2552		}
2553
2554		Method(CH00, 2)
2555		{
2556			if (LNotEqual(i000, arg1)) {
2557				err(arg0, z096, 0, 0, 0, i000, arg1)
2558			}
2559		}
2560
2561		// CondRefOf
2562		
2563		if (y601) {
2564			Store (CondRefOf(m000(1)), Local1)
2565			CH06(arg0, 1, 47)
2566			CH00(arg0, 1)
2567		}
2568
2569		Store (CondRefOf(m000(2)), Local1)
2570		CH06(arg0, 2, 47)
2571		if (y600) {
2572			CH00(arg0, 2)
2573		}
2574
2575		// DerefOf
2576
2577		Store (DerefOf(m000(3)), Local1)
2578		CH06(arg0, 3, 47)
2579		CH00(arg0, 3)
2580
2581		// RefOf
2582
2583		if (y601) {
2584			Store (RefOf(m000(4)), Local1)
2585			CH06(arg0, 4, 47)
2586			CH00(arg0, 4)
2587		}
2588
2589		// Release
2590
2591		Release(m000(5))
2592		CH06(arg0, 5, 47)
2593		if (y600) {
2594			CH00(arg0, 5)
2595		}
2596
2597		// Reset
2598
2599		Reset(m000(6))
2600		CH06(arg0, 6, 47)
2601		if (y600) {
2602			CH00(arg0, 6)
2603		}
2604
2605		// Signal
2606
2607		Signal(m000(7))
2608		CH06(arg0, 7, 47)
2609		if (y600) {
2610			CH00(arg0, 7)
2611		}
2612
2613		// Acquire
2614
2615		Store(Acquire(m000(8), 0), Local1)
2616		CH06(arg0, 8, 47)
2617		if (y600) {
2618			CH00(arg0, 8)
2619		}
2620
2621		// Index
2622
2623		CH03(ts, z094, 0x123, 0, 0)
2624		Store (Index(m000(9), 0), Local1)
2625		if (y900) {
2626			CH03(ts, z096, 69, 0, 0)
2627			CH00(arg0, 9)
2628		} else {
2629			CH04(ts, 0, 85, z094, 0x124, 0, 0) // AE_INDEX_TO_NOT_ATTACHED
2630		}
2631
2632		// Wait
2633
2634		Store(Wait(m000(10), 0), Local1)
2635		CH06(arg0, 9, 47)
2636		if (y600) {
2637			CH00(arg0, 10)
2638		}
2639
2640		// Match
2641
2642		Store (Match(m000(11), MTR, 0, MTR, 0, 0), Local1)
2643		CH03(ts, z096, 70, 0, 0)
2644		CH00(arg0, 11)
2645	}
2646
2647	SET0(z096, ts, 0)
2648
2649	CH03(ts, z096, 70, 0, 0)
2650
2651	// Local Named Object
2652	m000(ts)
2653
2654	// Global Named Object
2655	m001(ts)
2656
2657	// Argument
2658	m002(ts, Package(){0x62})
2659
2660	// Local
2661	m003(Concatenate(ts, "-m003"))
2662
2663	// An element of Package
2664	m004(Concatenate(ts, "-m004"))
2665
2666
2667	// Reference to Local Named Object
2668
2669	m005(Concatenate(ts, "-m005-RefLocName"), RefOf(p000))
2670
2671	Store(RefOf(p000), Local0)
2672	m005(Concatenate(ts, "-m005-RefLocName2"), Local0)
2673
2674	CondRefOf(p000, Local0)
2675	m005(Concatenate(ts, "-m005-CondRefLocName"), Local0)
2676
2677	m005(Concatenate(ts, "-m005-RefGlobName"), RefOf(p100))
2678
2679	Store(RefOf(p100), Local0)
2680	m005(Concatenate(ts, "-m005-RefGlobName2"), Local0)
2681
2682	CondRefOf(p100, Local0)
2683	m005(Concatenate(ts, "-m005-CondRefGlobName"), Local0)
2684
2685
2686	// Reference to Local
2687
2688	Store(Package(){0x62}, Local0)
2689
2690	m005(Concatenate(ts, "-m005-RefLocal"), RefOf(Local0))
2691
2692	Store(RefOf(Local0), Local1)
2693	m005(Concatenate(ts, "-m005-RefLocal2"), Local1)
2694
2695	CondRefOf(Local0, Local1)
2696	m005(Concatenate(ts, "-m005-CondRefLocal"), Local1)
2697
2698
2699	// Reference to Arg
2700
2701	m005(Concatenate(ts, "-m005-RefArg"), RefOf(arg0))
2702
2703	Store(RefOf(arg0), Local0)
2704	m005(Concatenate(ts, "-m005-RefArg2"), Local0)
2705
2706	CondRefOf(arg0, Local0)
2707	m005(Concatenate(ts, "-m005-CondRefArg"), Local0)
2708
2709
2710	// Index to Package
2711
2712	Name(pp00, Package(){Package(){0x62}})
2713
2714	if (y113) {
2715		m005(Concatenate(ts, "-m005-Index"), Index(pp00, 0))
2716	}
2717
2718	Store(Index(pp00, 0), Local0)
2719	m005(Concatenate(ts, "-m005-Index2"), Local0)
2720
2721	if (y113) {
2722		m005(Concatenate(ts, "-m005-Index3"), Index(pp00, 0, Local0))
2723	}
2724
2725	Index(pp00, 0, Local0)
2726	m005(Concatenate(ts, "-m005-Index4"), Local0)
2727
2728	Store(Index(pp00, 0, Local0), Local1)
2729	m005(Concatenate(ts, "-m005-Index5"), Local1)
2730
2731	// Result of Method invocation
2732	m006(Concatenate(ts, "-m006"))
2733
2734	// Reference to Object as Result of Method invocation
2735	if (y500) {
2736		m007(Concatenate(ts, "-m007"))
2737	}
2738
2739	// Result of Method with checking of invocation
2740	m008(Concatenate(ts, "-m008"))
2741
2742	RST0()
2743}
2744