• 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 *  Power Resource
31 *
32 * (verify exceptions caused by the imprope use of Power Resource type objects)
33 */
34
35Name(z103, 103)
36
37PowerResource(pw00, 1, 0) {Method(m000){return (0)}}
38
39// Expected exceptions:
40//
41// 47 - AE_AML_OPERAND_TYPE
42//
43Method(m4bb,, Serialized)
44{
45	Name(ts, "m4bb")
46
47	PowerResource(pw01, 1, 0) {Method(m000){return (0)}}
48
49	Event(e000)
50
51	Name(i000, 0)
52
53	// Local Named Object
54	Method(m000, 1, Serialized)
55	{
56/* These are now caught by the compiler - Aug 2015
57		PowerResource(pw02, 1, 0) {Method(m000){return (0)}}
58
59		if (y083) {
60			Store (DerefOf(pw02), Local1)
61			CH06(arg0, 0, 47)
62		}
63*/
64	}
65
66	// Global Named Object
67	Method(m001, 1)
68	{
69/* These are now caught by the compiler - Aug 2015
70		if (y083) {
71			Store (DerefOf(pw00), Local1)
72			CH06(arg0, 1, 47)
73		}
74*/
75	}
76
77	// Local
78	Method(m002, 1, Serialized)
79	{
80		PowerResource(pw02, 1, 0) {Method(m000){return (0)}}
81
82		Event(e000)
83
84		CopyObject(pw02, Local0)
85
86		// CondRefOf
87		
88		CondRefOf(Local0, Local1)
89		CH03(ts, z103, 1, 0, 0)
90
91		// CopyObject
92
93		CopyObject(Local0, Local1)
94		CH03(ts, z103, 2, 0, 0)
95
96		// Decrement
97
98		Decrement(Local0)
99		CH06(arg0, 1, 47)
100
101		// DerefOf
102
103		Store (DerefOf(Local0), Local1)
104		CH06(arg0, 2, 47)
105
106		// FindSetLeftBit
107
108		FindSetLeftBit(Local0, Local1)
109		CH06(arg0, 4, 47)
110
111		// FindSetRightBit
112
113		FindSetRightBit(Local0, Local1)
114		CH06(arg0, 6, 47)
115
116		// FromBCD
117
118		FromBCD(Local0, Local1)
119		CH06(arg0, 8, 47)
120
121		// Increment
122
123		Increment(Local0)
124		CH06(arg0, 9, 47)
125
126		// LNot
127
128		Store (LNot(Local0), Local1)
129		CH06(arg0, 10, 47)
130
131		// Not
132
133		Not(Local0, Local1)
134		CH06(arg0, 12, 47)
135
136		// ObjectType
137
138		Store (ObjectType(Local0), Local1)
139		CH03(ts, z103, 3, 0, 0)
140
141		// RefOf
142
143		Store (RefOf(Local0), Local1)
144		CH03(ts, z103, 4, 0, 0)
145
146		// Release
147
148		Release(Local0)
149		CH06(arg0, 13, 47)
150
151		// Reset
152
153		Reset(Local0)
154		CH06(arg0, 14, 47)
155
156		// Signal
157
158		Signal(Local0)
159		CH06(arg0, 15, 47)
160
161		// SizeOf
162
163		Store (SizeOf(Local0), Local1)
164		CH06(arg0, 16, 47)
165
166		// Sleep
167
168		Sleep(Local0)
169		CH06(arg0, 17, 47)
170
171		// Stall
172
173		Stall(Local0)
174		CH06(arg0, 18, 47)
175
176		// Store
177
178		Store(Local0, Local1)
179		CH06(arg0, 19, 47)
180
181		// ToBCD
182
183		ToBCD(Local0, Local1)
184		CH06(arg0, 21, 47)
185
186		// ToBuffer
187
188		ToBuffer(Local0, Local1)
189		CH06(arg0, 23, 47)
190
191		// ToDecimalString
192
193		ToDecimalString(Local0, Local1)
194		CH06(arg0, 25, 47)
195
196		// ToHexString
197
198		ToHexString(Local0, Local1)
199		CH06(arg0, 27, 47)
200
201		// ToInteger
202
203		ToInteger(Local0, Local1)
204		CH06(arg0, 29, 47)
205
206		// Acquire
207
208		Store(Acquire(Local0, 100), Local1)
209		CH06(arg0, 30, 47)
210
211		// Add
212
213		Add(Local0, i000, Local1)
214		CH06(arg0, 33, 47)
215
216		Add(i000, Local0, Local1)
217		CH06(arg0, 34, 47)
218
219		// And
220
221		And(Local0, i000, Local1)
222		CH06(arg0, 37, 47)
223
224		And(i000, Local0, Local1)
225		CH06(arg0, 38, 47)
226
227		// Concatenate
228
229		Concatenate(Local0, i000, Local1)
230		CH06(arg0, 41, 47)
231
232		Concatenate(i000, Local0, Local1)
233		CH06(arg0, 42, 47)
234
235		// ConcatenateResTemplate
236
237		ConcatenateResTemplate(Local0, ResourceTemplate(){}, Local1)
238		CH06(arg0, 45, 47)
239
240		ConcatenateResTemplate(ResourceTemplate(){}, Local0, Local1)
241		CH06(arg0, 46, 47)
242
243		// Divide
244
245		Divide(Local0, i000, Local2)
246		CH06(arg0, 49, 47)
247
248		Divide(i000, Local0, Local2)
249		CH06(arg0, 50, 47)
250
251		Divide(Local0, i000, Local2, Local1)
252		CH06(arg0, 51, 47)
253
254		Divide(i000, Local0, Local2, Local1)
255		CH06(arg0, 52, 47)
256
257		// Fatal
258
259		Fatal(0xff, 0xffffffff, Local0)
260		CH06(arg0, 53, 47)
261
262		// Index
263
264		Index(Local0, 0, Local1)
265		CH06(arg0, 56, 47)
266
267		Index("0", Local0, Local1)
268		CH06(arg0, 57, 47)
269
270		// LEqual
271
272		Store (LEqual(Local0, i000), Local1)
273		CH06(arg0, 58, 47)
274
275		Store (LEqual(i000, Local0), Local1)
276		CH06(arg0, 59, 47)
277
278		// LGreater
279
280		Store (LGreater(Local0, i000), Local1)
281		CH06(arg0, 60, 47)
282
283		Store (LGreater(i000, Local0), Local1)
284		CH06(arg0, 61, 47)
285
286		// LGreaterEqual
287
288		Store (LGreaterEqual(Local0, i000), Local1)
289		CH06(arg0, 62, 0xff)
290
291		Store (LGreaterEqual(i000, Local0), Local1)
292		CH06(arg0, 63, 0xff)
293
294		// LLess
295
296		Store (LLess(Local0, i000), Local1)
297		CH06(arg0, 64, 47)
298
299		Store (LLess(i000, Local0), Local1)
300		CH06(arg0, 65, 47)
301
302		// LLessEqual
303
304		Store (LLessEqual(Local0, i000), Local1)
305		CH06(arg0, 66, 0xff)
306
307		Store (LLessEqual(i000, Local0), Local1)
308		CH06(arg0, 67, 0xff)
309
310		// LNotEqual
311
312		Store (LNotEqual(Local0, i000), Local1)
313		CH06(arg0, 68, 0xff)
314
315		Store (LNotEqual(i000, Local0), Local1)
316		CH06(arg0, 69, 0xff)
317
318		// LOr
319
320		Store (LOr(Local0, i000), Local1)
321		CH06(arg0, 70, 47)
322
323		Store (LOr(i000, Local0), Local1)
324		CH06(arg0, 71, 47)
325
326		// Mod
327
328		Mod(Local0, i000, Local1)
329		CH06(arg0, 74, 47)
330
331		Mod(i000, Local0, Local1)
332		CH06(arg0, 75, 47)
333
334		// Multiply
335
336		Multiply(Local0, i000, Local1)
337		CH06(arg0, 78, 47)
338
339		Multiply(i000, Local0, Local1)
340		CH06(arg0, 79, 47)
341
342		// NAnd
343
344		NAnd(Local0, i000, Local1)
345		CH06(arg0, 82, 47)
346
347		NAnd(i000, Local0, Local1)
348		CH06(arg0, 83, 47)
349
350		// NOr
351
352		NOr(Local0, i000, Local1)
353		CH06(arg0, 86, 47)
354
355		NOr(i000, Local0, Local1)
356		CH06(arg0, 87, 47)
357
358		// Or
359
360		Or(Local0, i000, Local1)
361		CH06(arg0, 90, 47)
362
363		Or(i000, Local0, Local1)
364		CH06(arg0, 91, 47)
365
366		// ShiftLeft
367
368		ShiftLeft(Local0, i000, Local1)
369		CH06(arg0, 94, 47)
370
371		ShiftLeft(i000, Local0, Local1)
372		CH06(arg0, 95, 47)
373
374		// ShiftRight
375
376		ShiftRight(Local0, i000, Local1)
377		CH06(arg0, 98, 47)
378
379		ShiftRight(i000, Local0, Local1)
380		CH06(arg0, 99, 47)
381
382		// Subtract
383
384		Subtract(Local0, i000, Local1)
385		CH06(arg0, 102, 47)
386
387		Subtract(i000, Local0, Local1)
388		CH06(arg0, 103, 47)
389
390		// ToString
391
392		ToString(Local0, 1, Local1)
393		CH06(arg0, 106, 47)
394
395		ToString(i000, Local0, Local1)
396		CH06(arg0, 107, 47)
397
398		// Wait
399
400		Store(Wait(Local0, i000), Local1)
401		CH06(arg0, 108, 47)
402
403		Store(Wait(e000, Local0), Local1)
404		CH06(arg0, 109, 47)
405
406		// XOr
407
408		XOr(Local0, i000, Local1)
409		CH06(arg0, 112, 47)
410
411		XOr(i000, Local0, Local1)
412		CH06(arg0, 113, 47)
413
414		// Mid
415
416		Mid(Local0, 1, 1, Local1)
417		CH06(arg0, 117, 47)
418
419		Mid("123", Local0, 1, Local1)
420		CH06(arg0, 118, 47)
421
422		Mid("123", 1, Local0, Local1)
423		CH06(arg0, 119, 47)
424
425		// Match
426
427		Store (Match(Local0, MTR, 0, MTR, 0, 0), Local1)
428		CH06(arg0, 120, 47)
429
430		Store (Match(Package(){1}, MTR, Local0, MTR, 0, 0), Local1)
431		CH06(arg0, 121, 47)
432
433		Store (Match(Package(){1}, MTR, 0, MTR, Local0, 0), Local1)
434		CH06(arg0, 122, 47)
435
436		Store (Match(Package(){1}, MTR, 0, MTR, 0, Local0), Local1)
437		CH06(arg0, 123, 47)
438	}
439
440	// Reference to Object
441	Method(m003, 2)
442	{
443		Store(ObjectType(arg1), Local0)
444		if (LNotEqual(Local0, 11)) {
445			err(arg0, z103, 200, 0, 0, Local0, 11)
446			return (1)
447		}
448
449		Store (DeRefOf(arg1), Local1)
450		if(LNot(SLCK)){
451			CH04(ts, 0, 47, z103, 5, 0, 0)
452		}
453
454		// CondRefOf
455		
456		CondRefOf(DeRefOf(arg1), Local1)
457		CH06(arg0, 1, 47)
458
459		// CopyObject
460
461		CopyObject(DeRefOf(arg1), Local1)
462		CH03(ts, z103, 2, 0, 0)
463
464		// Decrement
465
466		Decrement(DeRefOf(arg1))
467		CH06(arg0, 3, 47)
468
469		// DerefOf
470
471		Store (DerefOf(DeRefOf(arg1)), Local1)
472		CH06(arg0, 4, 47)
473
474		// FindSetLeftBit
475
476		FindSetLeftBit(DeRefOf(arg1), Local1)
477		CH06(arg0, 6, 47)
478
479		// FindSetRightBit
480
481		FindSetRightBit(DeRefOf(arg1), Local1)
482		CH06(arg0, 8, 47)
483
484		// FromBCD
485
486		FromBCD(DeRefOf(arg1), Local1)
487		CH06(arg0, 10, 47)
488
489		// Increment
490
491		Increment(DeRefOf(arg1))
492		CH06(arg0, 11, 47)
493
494		// LNot
495
496		Store (LNot(DeRefOf(arg1)), Local1)
497		CH06(arg0, 12, 47)
498
499		// Not
500
501		Not(DeRefOf(arg1), Local1)
502		CH06(arg0, 14, 47)
503
504		// ObjectType
505
506		Store (ObjectType(DeRefOf(arg1)), Local1)
507		CH03(ts, z103, 6, 0, 0)
508
509		// RefOf
510
511		Store (RefOf(DeRefOf(arg1)), Local1)
512		CH06(arg0, 15, 47)
513
514		// Release
515
516		// Reset
517
518		// Signal
519
520		// SizeOf
521
522		Store (SizeOf(DeRefOf(arg1)), Local1)
523		CH06(arg0, 16, 47)
524
525		// Sleep
526
527		Sleep(DeRefOf(arg1))
528		CH06(arg0, 17, 47)
529
530		// Stall
531
532		Stall(DeRefOf(arg1))
533		CH06(arg0, 18, 47)
534
535		// Store
536
537		Store(DeRefOf(arg1), Local1)
538		CH06(arg0, 19, 47)
539
540		// ToBCD
541
542		ToBCD(DeRefOf(arg1), Local1)
543		CH06(arg0, 21, 47)
544
545		// ToBuffer
546
547		ToBuffer(DeRefOf(arg1), Local1)
548		CH06(arg0, 23, 47)
549
550		// ToDecimalString
551
552		ToDecimalString(DeRefOf(arg1), Local1)
553		CH06(arg0, 25, 47)
554
555		// ToHexString
556
557		ToHexString(DeRefOf(arg1), Local1)
558		CH06(arg0, 27, 47)
559
560		// ToInteger
561
562		ToInteger(DeRefOf(arg1), Local1)
563		CH06(arg0, 29, 47)
564
565		// Acquire
566
567		// Add
568
569		Add(DeRefOf(arg1), i000, Local1)
570		CH06(arg0, 33, 47)
571
572		Add(i000, DeRefOf(arg1), Local1)
573		CH06(arg0, 34, 47)
574
575		// And
576
577		And(DeRefOf(arg1), i000, Local1)
578		CH06(arg0, 37, 47)
579
580		And(i000, DeRefOf(arg1), Local1)
581		CH06(arg0, 38, 47)
582
583		// Concatenate
584
585		Concatenate(DeRefOf(arg1), i000, Local1)
586		CH06(arg0, 41, 47)
587
588		Concatenate(i000, DeRefOf(arg1), Local1)
589		CH06(arg0, 42, 47)
590
591		// ConcatenateResTemplate
592
593		ConcatenateResTemplate(DeRefOf(arg1), ResourceTemplate(){}, Local1)
594		CH06(arg0, 45, 47)
595
596		ConcatenateResTemplate(ResourceTemplate(){}, DeRefOf(arg1), Local1)
597		CH06(arg0, 46, 47)
598
599		// Divide
600
601		Divide(DeRefOf(arg1), i000, Local2)
602		CH06(arg0, 49, 47)
603
604		Divide(i000, DeRefOf(arg1), Local2)
605		CH06(arg0, 50, 47)
606
607		Divide(DeRefOf(arg1), i000, Local2, Local1)
608		CH06(arg0, 51, 47)
609
610		Divide(i000, DeRefOf(arg1), Local2, Local1)
611		CH06(arg0, 52, 47)
612
613		// Fatal
614
615		Fatal(0xff, 0xffffffff, DeRefOf(arg1))
616		CH06(arg0, 53, 47)
617
618		// Index
619
620		Index(DeRefOf(arg1), 0, Local1)
621		CH06(arg0, 56, 47)
622
623		Index("0", DeRefOf(arg1), Local1)
624		CH06(arg0, 57, 47)
625
626		// LEqual
627
628		Store (LEqual(DeRefOf(arg1), i000), Local1)
629		CH06(arg0, 58, 47)
630
631		Store (LEqual(i000, DeRefOf(arg1)), Local1)
632		CH06(arg0, 59, 47)
633
634		// LGreater
635
636		Store (LGreater(DeRefOf(arg1), i000), Local1)
637		CH06(arg0, 60, 47)
638
639		Store (LGreater(i000, DeRefOf(arg1)), Local1)
640		CH06(arg0, 61, 47)
641
642		// LGreaterEqual
643
644		Store (LGreaterEqual(DeRefOf(arg1), i000), Local1)
645		CH06(arg0, 62, 0xff)
646
647		Store (LGreaterEqual(i000, DeRefOf(arg1)), Local1)
648		CH06(arg0, 63, 0xff)
649
650		// LLess
651
652		Store (LLess(DeRefOf(arg1), i000), Local1)
653		CH06(arg0, 64, 47)
654
655		Store (LLess(i000, DeRefOf(arg1)), Local1)
656		CH06(arg0, 65, 47)
657
658		// LLessEqual
659
660		Store (LLessEqual(DeRefOf(arg1), i000), Local1)
661		CH06(arg0, 66, 0xff)
662
663		Store (LLessEqual(i000, DeRefOf(arg1)), Local1)
664		CH06(arg0, 67, 0xff)
665
666		// LNotEqual
667
668		Store (LNotEqual(DeRefOf(arg1), i000), Local1)
669		CH06(arg0, 68, 0xff)
670
671		Store (LNotEqual(i000, DeRefOf(arg1)), Local1)
672		CH06(arg0, 69, 0xff)
673
674		// LOr
675
676		Store (LOr(DeRefOf(arg1), i000), Local1)
677		CH06(arg0, 70, 47)
678
679		Store (LOr(i000, DeRefOf(arg1)), Local1)
680		CH06(arg0, 71, 47)
681
682		// Mod
683
684		Mod(DeRefOf(arg1), i000, Local1)
685		CH06(arg0, 74, 47)
686
687		Mod(i000, DeRefOf(arg1), Local1)
688		CH06(arg0, 75, 47)
689
690		// Multiply
691
692		Multiply(DeRefOf(arg1), i000, Local1)
693		CH06(arg0, 78, 47)
694
695		Multiply(i000, DeRefOf(arg1), Local1)
696		CH06(arg0, 79, 47)
697
698		// NAnd
699
700		NAnd(DeRefOf(arg1), i000, Local1)
701		CH06(arg0, 82, 47)
702
703		NAnd(i000, DeRefOf(arg1), Local1)
704		CH06(arg0, 83, 47)
705
706		// NOr
707
708		NOr(DeRefOf(arg1), i000, Local1)
709		CH06(arg0, 86, 47)
710
711		NOr(i000, DeRefOf(arg1), Local1)
712		CH06(arg0, 87, 47)
713
714		// Or
715
716		Or(DeRefOf(arg1), i000, Local1)
717		CH06(arg0, 90, 47)
718
719		Or(i000, DeRefOf(arg1), Local1)
720		CH06(arg0, 91, 47)
721
722		// ShiftLeft
723
724		ShiftLeft(DeRefOf(arg1), i000, Local1)
725		CH06(arg0, 94, 47)
726
727		ShiftLeft(i000, DeRefOf(arg1), Local1)
728		CH06(arg0, 95, 47)
729
730		// ShiftRight
731
732		ShiftRight(DeRefOf(arg1), i000, Local1)
733		CH06(arg0, 98, 47)
734
735		ShiftRight(i000, DeRefOf(arg1), Local1)
736		CH06(arg0, 99, 47)
737
738		// Subtract
739
740		Subtract(DeRefOf(arg1), i000, Local1)
741		CH06(arg0, 102, 47)
742
743		Subtract(i000, DeRefOf(arg1), Local1)
744		CH06(arg0, 103, 47)
745
746		// ToString
747
748		ToString(DeRefOf(arg1), 1, Local1)
749		CH06(arg0, 106, 47)
750
751		ToString(i000, DeRefOf(arg1), Local1)
752		CH06(arg0, 107, 47)
753
754		// Wait
755
756		Store(Wait(e000, DeRefOf(arg1)), Local1)
757		CH06(arg0, 109, 47)
758
759		// XOr
760
761		XOr(DeRefOf(arg1), i000, Local1)
762		CH06(arg0, 112, 47)
763
764		XOr(i000, DeRefOf(arg1), Local1)
765		CH06(arg0, 113, 47)
766
767		// Mid
768
769		Mid(DeRefOf(arg1), 1, 1, Local1)
770		CH06(arg0, 117, 47)
771
772		Mid("123", DeRefOf(arg1), 1, Local1)
773		CH06(arg0, 118, 47)
774
775		Mid("123", 1, DeRefOf(arg1), Local1)
776		CH06(arg0, 119, 47)
777
778		// Match
779
780		Store (Match(DeRefOf(arg1), MTR, 0, MTR, 0, 0), Local1)
781		CH06(arg0, 120, 47)
782
783		Store (Match(Package(){1}, MTR, DeRefOf(arg1), MTR, 0, 0), Local1)
784		CH06(arg0, 121, 47)
785
786		Store (Match(Package(){1}, MTR, 0, MTR, DeRefOf(arg1), 0), Local1)
787		CH06(arg0, 122, 47)
788
789		Store (Match(Package(){1}, MTR, 0, MTR, 0, DeRefOf(arg1)), Local1)
790		CH06(arg0, 123, 47)
791
792		return (0)
793	}
794
795	// Result of Method invocation
796	Method(m004, 1, Serialized)
797	{
798		Name(i000, 0) // Label to check m000 invocations
799
800		Method(m000)
801		{
802			CopyObject(pw00, Local0)
803			Return (Local0)
804		}
805
806		// CondRefOf
807		
808		if (y601) {
809			Store (CondRefOf(m000()), Local1)
810			CH06(arg0, 0, 47)
811
812			Store (CondRefOf(m000()), Local1)
813			CH06(arg0, 1, 47)
814		}
815
816		// CopyObject
817
818		CopyObject(m000(), Local1)
819		CH03(ts, z103, 7, 0, 0)
820
821		// Decrement
822
823		Decrement(m000())
824		CH06(arg0, 2, 47)
825
826		// DerefOf
827
828		Store (DerefOf(m000()), Local1)
829		CH06(arg0, 3, 47)
830
831		// FindSetLeftBit
832
833		FindSetLeftBit(m000(), Local1)
834		CH06(arg0, 5, 47)
835
836		// FindSetRightBit
837
838		FindSetRightBit(m000(), Local1)
839		CH06(arg0, 7, 47)
840
841		// FromBCD
842
843		FromBCD(m000(), Local1)
844		CH06(arg0, 9, 47)
845
846		// Increment
847
848		Increment(m000())
849		CH06(arg0, 10, 47)
850
851		// LNot
852
853		Store (LNot(m000()), Local1)
854		CH06(arg0, 11, 47)
855
856		// Not
857
858		Not(m000(), Local1)
859		CH06(arg0, 13, 47)
860
861		// ObjectType
862        /* Nov. 2012: Method invocation as arg to ObjectType is now illegal */
863//
864//		ObjectType(m000())
865//		CH03(ts, z103, 8, 0, 0)
866
867		// RefOf
868
869		if (y601) {
870			Store (RefOf(m000()), Local1)
871			CH06(arg0, 14, 47)
872		}
873
874		// Release
875
876		Release(m000())
877		CH06(arg0, 13, 47)
878
879		// Reset
880
881		Reset(m000())
882		CH06(arg0, 14, 47)
883
884		// Signal
885
886		Signal(m000())
887		CH06(arg0, 15, 47)
888
889		// SizeOf
890
891		Store (SizeOf(m000()), Local1)
892		CH06(arg0, 16, 47)
893
894		// Sleep
895
896		Sleep(m000())
897		CH06(arg0, 17, 47)
898
899		// Stall
900
901		Stall(m000())
902		CH06(arg0, 18, 47)
903
904		// Store
905
906		Store(m000(), Local1)
907		CH06(arg0, 19, 47)
908
909		// ToBCD
910
911		ToBCD(m000(), Local1)
912		CH06(arg0, 21, 47)
913
914		// ToBuffer
915
916		ToBuffer(m000(), Local1)
917		CH06(arg0, 23, 47)
918
919		// ToDecimalString
920
921		ToDecimalString(m000(), Local1)
922		CH06(arg0, 25, 47)
923
924		// ToHexString
925
926		ToHexString(m000(), Local1)
927		CH06(arg0, 27, 47)
928
929		// ToInteger
930
931		ToInteger(m000(), Local1)
932		CH06(arg0, 29, 47)
933
934		// Acquire
935
936		Store(Acquire(m000(), 100), Local1)
937		CH06(arg0, 30, 47)
938
939		// Add
940
941		Add(m000(), i000, Local1)
942		CH06(arg0, 33, 47)
943
944		Add(i000, m000(), Local1)
945		CH06(arg0, 34, 47)
946
947		// And
948
949		And(m000(), i000, Local1)
950		CH06(arg0, 37, 47)
951
952		And(i000, m000(), Local1)
953		CH06(arg0, 38, 47)
954
955		// Concatenate
956
957		Concatenate(m000(), i000, Local1)
958		CH06(arg0, 41, 47)
959
960		Concatenate(i000, m000(), Local1)
961		CH06(arg0, 42, 47)
962
963		// ConcatenateResTemplate
964
965		ConcatenateResTemplate(m000(), ResourceTemplate(){}, Local1)
966		CH06(arg0, 45, 47)
967
968		ConcatenateResTemplate(ResourceTemplate(){}, m000(), Local1)
969		CH06(arg0, 46, 47)
970
971		// Divide
972
973		Divide(m000(), i000, Local2)
974		CH06(arg0, 49, 47)
975
976		Divide(i000, m000(), Local2)
977		CH06(arg0, 50, 47)
978
979		Divide(m000(), i000, Local2, Local1)
980		CH06(arg0, 51, 47)
981
982		Divide(i000, m000(), Local2, Local1)
983		CH06(arg0, 52, 47)
984
985		// Fatal
986
987		Fatal(0xff, 0xffffffff, m000())
988		CH06(arg0, 53, 47)
989
990		// Index
991
992		Index(m000(), 0, Local1)
993		CH06(arg0, 56, 47)
994
995		Index("0", m000(), Local1)
996		CH06(arg0, 57, 47)
997
998		// LEqual
999
1000		Store (LEqual(m000(), i000), Local1)
1001		CH06(arg0, 58, 47)
1002
1003		Store (LEqual(i000, m000()), Local1)
1004		CH06(arg0, 59, 47)
1005
1006		// LGreater
1007
1008		Store (LGreater(m000(), i000), Local1)
1009		CH06(arg0, 60, 47)
1010
1011		Store (LGreater(i000, m000()), Local1)
1012		CH06(arg0, 61, 47)
1013
1014		// LGreaterEqual
1015
1016		Store (LGreaterEqual(m000(), i000), Local1)
1017		CH06(arg0, 62, 0xff)
1018
1019		Store (LGreaterEqual(i000, m000()), Local1)
1020		CH06(arg0, 63, 0xff)
1021
1022		// LLess
1023
1024		Store (LLess(m000(), i000), Local1)
1025		CH06(arg0, 64, 47)
1026
1027		Store (LLess(i000, m000()), Local1)
1028		CH06(arg0, 65, 47)
1029
1030		// LLessEqual
1031
1032		Store (LLessEqual(m000(), i000), Local1)
1033		CH06(arg0, 66, 0xff)
1034
1035		Store (LLessEqual(i000, m000()), Local1)
1036		CH06(arg0, 67, 0xff)
1037
1038		// LNotEqual
1039
1040		Store (LNotEqual(m000(), i000), Local1)
1041		CH06(arg0, 68, 0xff)
1042
1043		Store (LNotEqual(i000, m000()), Local1)
1044		CH06(arg0, 69, 0xff)
1045
1046		// LOr
1047
1048		Store (LOr(m000(), i000), Local1)
1049		CH06(arg0, 70, 47)
1050
1051		Store (LOr(i000, m000()), Local1)
1052		CH06(arg0, 71, 47)
1053
1054		// Mod
1055
1056		Mod(m000(), i000, Local1)
1057		CH06(arg0, 74, 47)
1058
1059		Mod(i000, m000(), Local1)
1060		CH06(arg0, 75, 47)
1061
1062		// Multiply
1063
1064		Multiply(m000(), i000, Local1)
1065		CH06(arg0, 78, 47)
1066
1067		Multiply(i000, m000(), Local1)
1068		CH06(arg0, 79, 47)
1069
1070		// NAnd
1071
1072		NAnd(m000(), i000, Local1)
1073		CH06(arg0, 82, 47)
1074
1075		NAnd(i000, m000(), Local1)
1076		CH06(arg0, 83, 47)
1077
1078		// NOr
1079
1080		NOr(m000(), i000, Local1)
1081		CH06(arg0, 86, 47)
1082
1083		NOr(i000, m000(), Local1)
1084		CH06(arg0, 87, 47)
1085
1086		// Or
1087
1088		Or(m000(), i000, Local1)
1089		CH06(arg0, 90, 47)
1090
1091		Or(i000, m000(), Local1)
1092		CH06(arg0, 91, 47)
1093
1094		// ShiftLeft
1095
1096		ShiftLeft(m000(), i000, Local1)
1097		CH06(arg0, 94, 47)
1098
1099		ShiftLeft(i000, m000(), Local1)
1100		CH06(arg0, 95, 47)
1101
1102		// ShiftRight
1103
1104		ShiftRight(m000(), i000, Local1)
1105		CH06(arg0, 98, 47)
1106
1107		ShiftRight(i000, m000(), Local1)
1108		CH06(arg0, 99, 47)
1109
1110		// Subtract
1111
1112		Subtract(m000(), i000, Local1)
1113		CH06(arg0, 102, 47)
1114
1115		Subtract(i000, m000(), Local1)
1116		CH06(arg0, 103, 47)
1117
1118		// ToString
1119
1120		ToString(m000(), 1, Local1)
1121		CH06(arg0, 106, 47)
1122
1123		ToString(i000, m000(), Local1)
1124		CH06(arg0, 107, 47)
1125
1126		// Wait
1127
1128		Store(Wait(m000(), i000), Local1)
1129		CH06(arg0, 108, 47)
1130
1131		Store(Wait(e000, m000()), Local1)
1132		CH06(arg0, 109, 47)
1133
1134		// XOr
1135
1136		XOr(m000(), i000, Local1)
1137		CH06(arg0, 112, 47)
1138
1139		XOr(i000, m000(), Local1)
1140		CH06(arg0, 113, 47)
1141
1142		// Mid
1143
1144		Mid(m000(), 1, 1, Local1)
1145		CH06(arg0, 117, 47)
1146
1147		Mid("123", m000(), 1, Local1)
1148		CH06(arg0, 118, 47)
1149
1150		Mid("123", 1, m000(), Local1)
1151		CH06(arg0, 119, 47)
1152
1153		// Match
1154
1155		Store (Match(m000(), MTR, 0, MTR, 0, 0), Local1)
1156		CH06(arg0, 120, 47)
1157
1158		Store (Match(Package(){1}, MTR, m000(), MTR, 0, 0), Local1)
1159		CH06(arg0, 121, 47)
1160
1161		Store (Match(Package(){1}, MTR, 0, MTR, m000(), 0), Local1)
1162		CH06(arg0, 122, 47)
1163
1164		Store (Match(Package(){1}, MTR, 0, MTR, 0, m000()), Local1)
1165		CH06(arg0, 123, 47)
1166	}
1167
1168	// Reference to Object as Result of Method invocation
1169	Method(m005, 1, Serialized)
1170	{
1171		PowerResource(pw02, 1, 0) {Method(m000){return (0)}}
1172
1173		Name(i000, 0) // Label to check m000 invocations
1174
1175		Method(m000, 2)
1176		{
1177			Store(arg0, i000)
1178			if (LEqual(arg1, 0)) {
1179				Store(Refof(pw00), Local0)
1180			} elseif (LEqual(arg1, 1)) {
1181				Store(Refof(pw02), Local0)
1182			}
1183			Return (Local0)
1184		}
1185
1186		Method(CH00, 2)
1187		{
1188			if (LNotEqual(i000, arg1)) {
1189				err(arg0, z103, 0, 0, 0, i000, arg1)
1190			}
1191		}
1192
1193		Name(lpN0, 2)
1194		Name(lpC0, 0)
1195
1196		While (lpN0) {
1197			Multiply(3, lpC0, Local0)
1198
1199			Store(0, i000)
1200
1201			Store (DerefOf(m000(1, lpC0)), Local1)
1202			if(LNot(SLCK)){
1203				CH04(ts, 0, 47, z103, Add(9, lpC0), 0, 0)
1204			}
1205			CH00(arg0, 1)
1206
1207			Store (DerefOf(DerefOf(m000(2, lpC0))), Local1)
1208			if(LNot(SLCK)){
1209				CH06(arg0, Add(1, Local0), 47)
1210			}
1211			CH00(arg0, 2)
1212
1213			Store (Index(DerefOf(m000(3, lpC0)), 0), Local1)
1214			CH06(arg0, Add(2, Local0), 47)
1215			CH00(arg0, 3)
1216
1217			Store (Match(DerefOf(m000(4, lpC0)), MTR, 0, MTR, 0, 0), Local1)
1218			CH06(arg0, Add(3, Local0), 47)
1219			CH00(arg0, 4)
1220
1221			Decrement(lpN0)
1222			Increment(lpC0)
1223		}
1224	}
1225
1226	SET0(z103, ts, 0)
1227
1228	CH03(ts, z103, 11, 0, 0)
1229
1230	// Local Named Object
1231	m000(ts)
1232
1233	// Global Named Object
1234	m001(ts)
1235
1236	// Local
1237	m002(Concatenate(ts, "-m002"))
1238
1239	// Reference to Local Named Object
1240
1241	m003(Concatenate(ts, "-m003-RefLocName"), RefOf(pw01))
1242
1243	Store(RefOf(pw01), Local0)
1244	m003(Concatenate(ts, "-m003-RefLocName2"), Local0)
1245
1246	CondRefOf(pw01, Local0)
1247	m003(Concatenate(ts, "-m003-CondRefLocName"), Local0)
1248
1249	m003(Concatenate(ts, "-m003-RefGlobName"), RefOf(pw00))
1250
1251	Store(RefOf(pw00), Local0)
1252	m003(Concatenate(ts, "-m003-RefGlobName2"), Local0)
1253
1254	CondRefOf(pw00, Local0)
1255	m003(Concatenate(ts, "-m003-CondRefGlobName"), Local0)
1256
1257	// Reference to Object as element of Package
1258
1259	Name(pp00, Package(){pw00})
1260
1261	if (y113) {
1262		m003(Concatenate(ts, "-m003-Index"), Index(pp00, 0))
1263	}
1264
1265	Store(Index(pp00, 0), Local1)
1266	m003(Concatenate(ts, "-m003-Index2"), Local1)
1267
1268	if (y113) {
1269		m003(Concatenate(ts, "-m003-Index3"), Index(pp00, 0, Local2))
1270	}
1271
1272	Index(pp00, 0, Local3)
1273	m003(Concatenate(ts, "-m003-Index4"), Local3)
1274
1275	Store(Index(pp00, 0, Local4), Local5)
1276	m003(Concatenate(ts, "-m003-Index5"), Local5)
1277
1278	// Result of Method invocation
1279	m004(Concatenate(ts, "-m004"))
1280
1281	// Reference to Object as Result of Method invocation
1282	m005(Concatenate(ts, "-m005"))
1283
1284	RST0()
1285}
1286