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