• 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 *  Operation Region
31 *
32 * (verify exceptions caused by the imprope use of Operation Region type objects)
33 */
34
35Name(z102, 102)
36
37OperationRegion(opr9, SystemMemory, 0x100, 0x100)
38
39// Expected exceptions:
40//
41// 47 - AE_AML_OPERAND_TYPE
42//
43Method(m4ba,, Serialized)
44{
45	Name(ts, "m4ba")
46
47	OperationRegion(opr1, SystemMemory, 0x100, 0x100)
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
58		OperationRegion(opr2, SystemMemory, 0x100, 0x100)
59
60		Store (DerefOf(opr2), Local1)
61		CH06(arg0, 0, 47)
62*/
63	}
64
65	// Global Named Object
66	Method(m001, 1)
67	{
68/* These are now caught by the compiler - Aug 2015
69		if (y083) {
70			Store (DerefOf(opr9), Local1)
71			CH06(arg0, 1, 47)
72		}
73*/
74	}
75
76	// Local
77	Method(m002, 1, Serialized)
78	{
79		OperationRegion(opr2, SystemMemory, 0x100, 0x100)
80
81		Event(e000)
82
83		CopyObject(opr2, Local0)
84
85		// CondRefOf
86		
87		Store (CondRefOf(Local0), Local1)
88		CH03(ts, z102, 0, 0, 0)
89
90		CondRefOf(Local0, Local1)
91		CH03(ts, z102, 1, 0, 0)
92
93		// CopyObject
94
95		CopyObject(Local0, Local1)
96		CH03(ts, z102, 2, 0, 0)
97
98		// Decrement
99
100		Decrement(Local0)
101		CH06(arg0, 1, 47)
102
103		// DerefOf
104
105		Store (DerefOf(Local0), Local1)
106		CH06(arg0, 2, 47)
107
108		// FindSetLeftBit
109
110		FindSetLeftBit(Local0, Local1)
111		CH06(arg0, 4, 47)
112
113		// FindSetRightBit
114
115		FindSetRightBit(Local0, Local1)
116		CH06(arg0, 6, 47)
117
118		// FromBCD
119
120		FromBCD(Local0, Local1)
121		CH06(arg0, 8, 47)
122
123		// Increment
124
125		Increment(Local0)
126		CH06(arg0, 9, 47)
127
128		// LNot
129
130		Store (LNot(Local0), Local1)
131		CH06(arg0, 10, 47)
132
133		// Not
134
135		Not(Local0, Local1)
136		CH06(arg0, 12, 47)
137
138		// ObjectType
139
140		Store (ObjectType(Local0), Local1)
141		CH03(ts, z102, 3, 0, 0)
142
143		// RefOf
144
145		Store (RefOf(Local0), Local1)
146		CH03(ts, z102, 4, 0, 0)
147
148		// Release
149
150		Release(Local0)
151		CH06(arg0, 13, 47)
152
153		// Reset
154
155		Reset(Local0)
156		CH06(arg0, 14, 47)
157
158		// Signal
159
160		Signal(Local0)
161		CH06(arg0, 15, 47)
162
163		// SizeOf
164
165		Store (SizeOf(Local0), Local1)
166		CH06(arg0, 16, 47)
167
168		// Sleep
169
170		Sleep(Local0)
171		CH06(arg0, 17, 47)
172
173		// Stall
174
175		Stall(Local0)
176		CH06(arg0, 18, 47)
177
178		// Store
179
180		Store(Local0, Local1)
181		CH06(arg0, 19, 47)
182
183		// ToBCD
184
185		ToBCD(Local0, Local1)
186		CH06(arg0, 21, 47)
187
188		// ToBuffer
189
190		ToBuffer(Local0, Local1)
191		CH06(arg0, 23, 47)
192
193		// ToDecimalString
194
195		ToDecimalString(Local0, Local1)
196		CH06(arg0, 25, 47)
197
198		// ToHexString
199
200		ToHexString(Local0, Local1)
201		CH06(arg0, 27, 47)
202
203		// ToInteger
204
205		ToInteger(Local0, Local1)
206		CH06(arg0, 29, 47)
207
208		// Acquire
209
210		Store(Acquire(Local0, 100), Local1)
211		CH06(arg0, 30, 47)
212
213		// Add
214
215		Add(Local0, i000, Local1)
216		CH06(arg0, 33, 47)
217
218		Add(i000, Local0, Local1)
219		CH06(arg0, 34, 47)
220
221		// And
222
223		And(Local0, i000, Local1)
224		CH06(arg0, 37, 47)
225
226		And(i000, Local0, Local1)
227		CH06(arg0, 38, 47)
228
229		// Concatenate
230
231		Concatenate(Local0, i000, Local1)
232		CH06(arg0, 41, 47)
233
234		Concatenate(i000, Local0, Local1)
235		CH06(arg0, 42, 47)
236
237		// ConcatenateResTemplate
238
239		ConcatenateResTemplate(Local0, ResourceTemplate(){}, Local1)
240		CH06(arg0, 45, 47)
241
242		ConcatenateResTemplate(ResourceTemplate(){}, Local0, Local1)
243		CH06(arg0, 46, 47)
244
245		// Divide
246
247		Divide(Local0, i000, Local2)
248		CH06(arg0, 49, 47)
249
250		Divide(i000, Local0, Local2)
251		CH06(arg0, 50, 47)
252
253		Divide(Local0, i000, Local2, Local1)
254		CH06(arg0, 51, 47)
255
256		Divide(i000, Local0, Local2, Local1)
257		CH06(arg0, 52, 47)
258
259		// Fatal
260
261		Fatal(0xff, 0xffffffff, Local0)
262		CH06(arg0, 53, 47)
263
264		// Index
265
266		Index(Local0, 0, Local1)
267		CH06(arg0, 56, 47)
268
269		Index("0", Local0, Local1)
270		CH06(arg0, 57, 47)
271
272		// LEqual
273
274		Store (LEqual(Local0, i000), Local1)
275		CH06(arg0, 58, 47)
276
277		Store (LEqual(i000, Local0), Local1)
278		CH06(arg0, 59, 47)
279
280		// LGreater
281
282		Store (LGreater(Local0, i000), Local1)
283		CH06(arg0, 60, 47)
284
285		Store (LGreater(i000, Local0), Local1)
286		CH06(arg0, 61, 47)
287
288		// LGreaterEqual
289
290		Store (LGreaterEqual(Local0, i000), Local1)
291		CH06(arg0, 62, 0xff)
292
293		Store (LGreaterEqual(i000, Local0), Local1)
294		CH06(arg0, 63, 0xff)
295
296		// LLess
297
298		Store (LLess(Local0, i000), Local1)
299		CH06(arg0, 64, 47)
300
301		Store (LLess(i000, Local0), Local1)
302		CH06(arg0, 65, 47)
303
304		// LLessEqual
305
306		Store (LLessEqual(Local0, i000), Local1)
307		CH06(arg0, 66, 0xff)
308
309		Store (LLessEqual(i000, Local0), Local1)
310		CH06(arg0, 67, 0xff)
311
312		// LNotEqual
313
314		Store (LNotEqual(Local0, i000), Local1)
315		CH06(arg0, 68, 0xff)
316
317		Store (LNotEqual(i000, Local0), Local1)
318		CH06(arg0, 69, 0xff)
319
320		// LOr
321
322		Store (LOr(Local0, i000), Local1)
323		CH06(arg0, 70, 47)
324
325		Store (LOr(i000, Local0), Local1)
326		CH06(arg0, 71, 47)
327
328		// Mod
329
330		Mod(Local0, i000, Local1)
331		CH06(arg0, 74, 47)
332
333		Mod(i000, Local0, Local1)
334		CH06(arg0, 75, 47)
335
336		// Multiply
337
338		Multiply(Local0, i000, Local1)
339		CH06(arg0, 78, 47)
340
341		Multiply(i000, Local0, Local1)
342		CH06(arg0, 79, 47)
343
344		// NAnd
345
346		NAnd(Local0, i000, Local1)
347		CH06(arg0, 82, 47)
348
349		NAnd(i000, Local0, Local1)
350		CH06(arg0, 83, 47)
351
352		// NOr
353
354		NOr(Local0, i000, Local1)
355		CH06(arg0, 86, 47)
356
357		NOr(i000, Local0, Local1)
358		CH06(arg0, 87, 47)
359
360		// Or
361
362		Or(Local0, i000, Local1)
363		CH06(arg0, 90, 47)
364
365		Or(i000, Local0, Local1)
366		CH06(arg0, 91, 47)
367
368		// ShiftLeft
369
370		ShiftLeft(Local0, i000, Local1)
371		CH06(arg0, 94, 47)
372
373		ShiftLeft(i000, Local0, Local1)
374		CH06(arg0, 95, 47)
375
376		// ShiftRight
377
378		ShiftRight(Local0, i000, Local1)
379		CH06(arg0, 98, 47)
380
381		ShiftRight(i000, Local0, Local1)
382		CH06(arg0, 99, 47)
383
384		// Subtract
385
386		Subtract(Local0, i000, Local1)
387		CH06(arg0, 102, 47)
388
389		Subtract(i000, Local0, Local1)
390		CH06(arg0, 103, 47)
391
392		// ToString
393
394		ToString(Local0, 1, Local1)
395		CH06(arg0, 106, 47)
396
397		ToString(i000, Local0, Local1)
398		CH06(arg0, 107, 47)
399
400		// Wait
401
402		Store(Wait(Local0, i000), Local1)
403		CH06(arg0, 108, 47)
404
405		Store(Wait(e000, Local0), Local1)
406		CH06(arg0, 109, 47)
407
408		// XOr
409
410		XOr(Local0, i000, Local1)
411		CH06(arg0, 112, 47)
412
413		XOr(i000, Local0, Local1)
414		CH06(arg0, 113, 47)
415
416		// Mid
417
418		Mid(Local0, 1, 1, Local1)
419		CH06(arg0, 117, 47)
420
421		Mid("123", Local0, 1, Local1)
422		CH06(arg0, 118, 47)
423
424		Mid("123", 1, Local0, Local1)
425		CH06(arg0, 119, 47)
426
427		// Match
428
429		Store (Match(Local0, MTR, 0, MTR, 0, 0), Local1)
430		CH06(arg0, 120, 47)
431
432		Store (Match(Package(){1}, MTR, Local0, MTR, 0, 0), Local1)
433		CH06(arg0, 121, 47)
434
435		Store (Match(Package(){1}, MTR, 0, MTR, Local0, 0), Local1)
436		CH06(arg0, 122, 47)
437
438		Store (Match(Package(){1}, MTR, 0, MTR, 0, Local0), Local1)
439		CH06(arg0, 123, 47)
440	}
441
442	// Reference to Object
443	Method(m003, 2)
444	{
445		Store(ObjectType(arg1), Local0)
446		if (LNotEqual(Local0, 10)) {
447			err(arg0, z102, 200, 0, 0, Local0, 10)
448			return (1)
449		}
450
451		Store (DeRefOf(arg1), Local1)
452		CH03(ts, z102, 5, 0, 0)
453
454		// CondRefOf
455		
456		CondRefOf(DeRefOf(arg1), Local1)
457		CH06(arg0, 1, 47)
458
459		// CopyObject
460
461		CopyObject(DeRefOf(arg1), Local1)
462		CH06(arg0, 2, 47)
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, z102, 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(opr9, Local0)
803			Return (Local0)
804		}
805
806		// CondRefOf
807		
808		CondRefOf(m000(), Local1)
809		CH06(arg0, 1, 47)
810
811		// CopyObject
812
813		CopyObject(m000(), Local1)
814		CH03(ts, z102, 7, 0, 0)
815
816		// Decrement
817
818		Decrement(m000())
819		CH06(arg0, 2, 47)
820
821		// DerefOf
822
823		Store (DerefOf(m000()), Local1)
824		CH06(arg0, 3, 47)
825
826		// FindSetLeftBit
827
828		FindSetLeftBit(m000(), Local1)
829		CH06(arg0, 5, 47)
830
831		// FindSetRightBit
832
833		FindSetRightBit(m000(), Local1)
834		CH06(arg0, 7, 47)
835
836		// FromBCD
837
838		FromBCD(m000(), Local1)
839		CH06(arg0, 9, 47)
840
841		// Increment
842
843		Increment(m000())
844		CH06(arg0, 10, 47)
845
846		// LNot
847
848		Store (LNot(m000()), Local1)
849		CH06(arg0, 11, 47)
850
851		// Not
852
853		Not(m000(), Local1)
854		CH06(arg0, 13, 47)
855
856		// ObjectType
857        /* Nov. 2012: Method invocation as arg to ObjectType is now illegal */
858//
859//		ObjectType(m000())
860//		CH03(ts, z102, 8, 0, 0)
861
862		// RefOf
863
864		Store (RefOf(m000()), Local1)
865		CH06(arg0, 14, 47)
866
867		// Release
868
869		Release(m000())
870		CH06(arg0, 13, 47)
871
872		// Reset
873
874		Reset(m000())
875		CH06(arg0, 14, 47)
876
877		// Signal
878
879		Signal(m000())
880		CH06(arg0, 15, 47)
881
882		// SizeOf
883
884		Store (SizeOf(m000()), Local1)
885		CH06(arg0, 16, 47)
886
887		// Sleep
888
889		Sleep(m000())
890		CH06(arg0, 17, 47)
891
892		// Stall
893
894		Stall(m000())
895		CH06(arg0, 18, 47)
896
897		// Store
898
899		Store(m000(), Local1)
900		CH06(arg0, 19, 47)
901
902		// ToBCD
903
904		ToBCD(m000(), Local1)
905		CH06(arg0, 21, 47)
906
907		// ToBuffer
908
909		ToBuffer(m000(), Local1)
910		CH06(arg0, 23, 47)
911
912		// ToDecimalString
913
914		ToDecimalString(m000(), Local1)
915		CH06(arg0, 25, 47)
916
917		// ToHexString
918
919		ToHexString(m000(), Local1)
920		CH06(arg0, 27, 47)
921
922		// ToInteger
923
924		ToInteger(m000(), Local1)
925		CH06(arg0, 29, 47)
926
927		// Acquire
928
929		Store(Acquire(m000(), 100), Local1)
930		CH06(arg0, 30, 47)
931
932		// Add
933
934		Add(m000(), i000, Local1)
935		CH06(arg0, 33, 47)
936
937		Add(i000, m000(), Local1)
938		CH06(arg0, 34, 47)
939
940		// And
941
942		And(m000(), i000, Local1)
943		CH06(arg0, 37, 47)
944
945		And(i000, m000(), Local1)
946		CH06(arg0, 38, 47)
947
948		// Concatenate
949
950		Concatenate(m000(), i000, Local1)
951		CH06(arg0, 41, 47)
952
953		Concatenate(i000, m000(), Local1)
954		CH06(arg0, 42, 47)
955
956		// ConcatenateResTemplate
957
958		ConcatenateResTemplate(m000(), ResourceTemplate(){}, Local1)
959		CH06(arg0, 45, 47)
960
961		ConcatenateResTemplate(ResourceTemplate(){}, m000(), Local1)
962		CH06(arg0, 46, 47)
963
964		// Divide
965
966		Divide(m000(), i000, Local2)
967		CH06(arg0, 49, 47)
968
969		Divide(i000, m000(), Local2)
970		CH06(arg0, 50, 47)
971
972		Divide(m000(), i000, Local2, Local1)
973		CH06(arg0, 51, 47)
974
975		Divide(i000, m000(), Local2, Local1)
976		CH06(arg0, 52, 47)
977
978		// Fatal
979
980		Fatal(0xff, 0xffffffff, m000())
981		CH06(arg0, 53, 47)
982
983		// Index
984
985		Index(m000(), 0, Local1)
986		CH06(arg0, 56, 47)
987
988		Index("0", m000(), Local1)
989		CH06(arg0, 57, 47)
990
991		// LEqual
992
993		Store (LEqual(m000(), i000), Local1)
994		CH06(arg0, 58, 47)
995
996		Store (LEqual(i000, m000()), Local1)
997		CH06(arg0, 59, 47)
998
999		// LGreater
1000
1001		Store (LGreater(m000(), i000), Local1)
1002		CH06(arg0, 60, 47)
1003
1004		Store (LGreater(i000, m000()), Local1)
1005		CH06(arg0, 61, 47)
1006
1007		// LGreaterEqual
1008
1009		Store (LGreaterEqual(m000(), i000), Local1)
1010		CH06(arg0, 62, 0xff)
1011
1012		Store (LGreaterEqual(i000, m000()), Local1)
1013		CH06(arg0, 63, 0xff)
1014
1015		// LLess
1016
1017		Store (LLess(m000(), i000), Local1)
1018		CH06(arg0, 64, 47)
1019
1020		Store (LLess(i000, m000()), Local1)
1021		CH06(arg0, 65, 47)
1022
1023		// LLessEqual
1024
1025		Store (LLessEqual(m000(), i000), Local1)
1026		CH06(arg0, 66, 0xff)
1027
1028		Store (LLessEqual(i000, m000()), Local1)
1029		CH06(arg0, 67, 0xff)
1030
1031		// LNotEqual
1032
1033		Store (LNotEqual(m000(), i000), Local1)
1034		CH06(arg0, 68, 0xff)
1035
1036		Store (LNotEqual(i000, m000()), Local1)
1037		CH06(arg0, 69, 0xff)
1038
1039		// LOr
1040
1041		Store (LOr(m000(), i000), Local1)
1042		CH06(arg0, 70, 47)
1043
1044		Store (LOr(i000, m000()), Local1)
1045		CH06(arg0, 71, 47)
1046
1047		// Mod
1048
1049		Mod(m000(), i000, Local1)
1050		CH06(arg0, 74, 47)
1051
1052		Mod(i000, m000(), Local1)
1053		CH06(arg0, 75, 47)
1054
1055		// Multiply
1056
1057		Multiply(m000(), i000, Local1)
1058		CH06(arg0, 78, 47)
1059
1060		Multiply(i000, m000(), Local1)
1061		CH06(arg0, 79, 47)
1062
1063		// NAnd
1064
1065		NAnd(m000(), i000, Local1)
1066		CH06(arg0, 82, 47)
1067
1068		NAnd(i000, m000(), Local1)
1069		CH06(arg0, 83, 47)
1070
1071		// NOr
1072
1073		NOr(m000(), i000, Local1)
1074		CH06(arg0, 86, 47)
1075
1076		NOr(i000, m000(), Local1)
1077		CH06(arg0, 87, 47)
1078
1079		// Or
1080
1081		Or(m000(), i000, Local1)
1082		CH06(arg0, 90, 47)
1083
1084		Or(i000, m000(), Local1)
1085		CH06(arg0, 91, 47)
1086
1087		// ShiftLeft
1088
1089		ShiftLeft(m000(), i000, Local1)
1090		CH06(arg0, 94, 47)
1091
1092		ShiftLeft(i000, m000(), Local1)
1093		CH06(arg0, 95, 47)
1094
1095		// ShiftRight
1096
1097		ShiftRight(m000(), i000, Local1)
1098		CH06(arg0, 98, 47)
1099
1100		ShiftRight(i000, m000(), Local1)
1101		CH06(arg0, 99, 47)
1102
1103		// Subtract
1104
1105		Subtract(m000(), i000, Local1)
1106		CH06(arg0, 102, 47)
1107
1108		Subtract(i000, m000(), Local1)
1109		CH06(arg0, 103, 47)
1110
1111		// ToString
1112
1113		ToString(m000(), 1, Local1)
1114		CH06(arg0, 106, 47)
1115
1116		ToString(i000, m000(), Local1)
1117		CH06(arg0, 107, 47)
1118
1119		// Wait
1120
1121		Store(Wait(m000(), i000), Local1)
1122		CH06(arg0, 108, 47)
1123
1124		Store(Wait(e000, m000()), Local1)
1125		CH06(arg0, 109, 47)
1126
1127		// XOr
1128
1129		XOr(m000(), i000, Local1)
1130		CH06(arg0, 112, 47)
1131
1132		XOr(i000, m000(), Local1)
1133		CH06(arg0, 113, 47)
1134
1135		// Mid
1136
1137		Mid(m000(), 1, 1, Local1)
1138		CH06(arg0, 117, 47)
1139
1140		Mid("123", m000(), 1, Local1)
1141		CH06(arg0, 118, 47)
1142
1143		Mid("123", 1, m000(), Local1)
1144		CH06(arg0, 119, 47)
1145
1146		// Match
1147
1148		Store (Match(m000(), MTR, 0, MTR, 0, 0), Local1)
1149		CH06(arg0, 120, 47)
1150
1151		Store (Match(Package(){1}, MTR, m000(), MTR, 0, 0), Local1)
1152		CH06(arg0, 121, 47)
1153
1154		Store (Match(Package(){1}, MTR, 0, MTR, m000(), 0), Local1)
1155		CH06(arg0, 122, 47)
1156
1157		Store (Match(Package(){1}, MTR, 0, MTR, 0, m000()), Local1)
1158		CH06(arg0, 123, 47)
1159	}
1160
1161	// Reference to Object as Result of Method invocation
1162	Method(m005, 1, Serialized)
1163	{
1164		OperationRegion(opr2, SystemMemory, 0x100, 0x100)
1165
1166		Name(i000, 0) // Label to check m000 invocations
1167
1168		Method(m000, 2)
1169		{
1170			Store(arg0, i000)
1171			if (LEqual(arg1, 0)) {
1172				Store(Refof(opr9), Local0)
1173			} elseif (LEqual(arg1, 1)) {
1174				Store(Refof(opr2), Local0)
1175			}
1176			Return (Local0)
1177		}
1178
1179		Method(CH00, 2)
1180		{
1181			if (LNotEqual(i000, arg1)) {
1182				err(arg0, z102, 0, 0, 0, i000, arg1)
1183			}
1184		}
1185
1186		Name(lpN0, 2)
1187		Name(lpC0, 0)
1188
1189		While (lpN0) {
1190			Multiply(3, lpC0, Local0)
1191
1192			Store(0, i000)
1193
1194			Store (DerefOf(m000(1, lpC0)), Local1)
1195			CH03(ts, z102, Add(9, lpC0), 0, 0)
1196			CH00(arg0, 1)
1197
1198			Store (DerefOf(DerefOf(m000(2, lpC0))), Local1)
1199			CH06(arg0, Add(1, Local0), 47)
1200			CH00(arg0, 2)
1201
1202			Store (Index(DerefOf(m000(3, lpC0)), 0), Local1)
1203			CH06(arg0, Add(2, Local0), 47)
1204			CH00(arg0, 3)
1205
1206			Store (Match(DerefOf(m000(4, lpC0)), MTR, 0, MTR, 0, 0), Local1)
1207			CH06(arg0, Add(3, Local0), 47)
1208			CH00(arg0, 4)
1209
1210			Decrement(lpN0)
1211			Increment(lpC0)
1212		}
1213	}
1214
1215	CH03(ts, z102, 11, 0, 0)
1216
1217	// Local Named Object
1218	m000(ts)
1219
1220	// Global Named Object
1221	m001(ts)
1222
1223	// Local
1224	m002(Concatenate(ts, "-m002"))
1225
1226	// Reference to Local Named Object
1227
1228	m003(Concatenate(ts, "-m003-RefLocName"), RefOf(opr1))
1229
1230	Store(RefOf(opr1), Local0)
1231	m003(Concatenate(ts, "-m003-RefLocName2"), Local0)
1232
1233	CondRefOf(opr1, Local0)
1234	m003(Concatenate(ts, "-m003-CondRefLocName"), Local0)
1235
1236	m003(Concatenate(ts, "-m003-RefGlobName"), RefOf(opr9))
1237
1238	Store(RefOf(opr9), Local0)
1239	m003(Concatenate(ts, "-m003-RefGlobName2"), Local0)
1240
1241	CondRefOf(opr9, Local0)
1242	m003(Concatenate(ts, "-m003-CondRefGlobName"), Local0)
1243
1244	// Reference to Object as element of Package
1245
1246	Name(pp00, Package(){opr9})
1247
1248	if (y113) {
1249		m003(Concatenate(ts, "-m003-Index"), Index(pp00, 0))
1250	}
1251
1252	Store(Index(pp00, 0), Local1)
1253	m003(Concatenate(ts, "-m003-Index2"), Local1)
1254
1255	if (y113) {
1256		m003(Concatenate(ts, "-m003-Index3"), Index(pp00, 0, Local2))
1257	}
1258
1259	Index(pp00, 0, Local3)
1260	m003(Concatenate(ts, "-m003-Index4"), Local3)
1261
1262	Store(Index(pp00, 0, Local4), Local5)
1263	m003(Concatenate(ts, "-m003-Index5"), Local5)
1264
1265	// Result of Method invocation
1266	m004(Concatenate(ts, "-m004"))
1267
1268	// Reference to Object as Result of Method invocation
1269	m005(Concatenate(ts, "-m005"))
1270}
1271