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