• 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 *  Processor
31 *
32 * (verify exceptions caused by the imprope use of Processor type objects)
33 */
34
35Name(z104, 104)
36
37Processor(pr10, 0, 0xFFFFFFFF, 0) {}
38
39// Expected exceptions:
40//
41// 47 - AE_AML_OPERAND_TYPE
42//
43Method(m4bc,, Serialized)
44{
45	Name(ts, "m4bc")
46
47	Processor(prc1, 0, 0xFFFFFFFF, 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
58		Processor(prc2, 0, 0xFFFFFFFF, 0) {}
59
60		if (y083) {
61			Store (DerefOf(prc2), Local1)
62			CH06(arg0, 0, 47)
63		}
64*/
65	}
66
67	// Global Named Object
68	Method(m001, 1)
69	{
70/* These are now caught by the compiler - Aug 2015
71
72		if (y083) {
73			Store (DerefOf(pr10), Local1)
74			CH06(arg0, 1, 47)
75		}
76*/
77	}
78
79	// Local
80	Method(m002, 1, Serialized)
81	{
82		Processor(prc2, 0, 0xFFFFFFFF, 0) {}
83
84		Event(e000)
85
86		CopyObject(prc2, Local0)
87
88		// CondRefOf
89		
90		CondRefOf(Local0, Local1)
91		CH03(ts, z104, 1, 0, 0)
92
93		// CopyObject
94
95		CopyObject(Local0, Local1)
96		CH03(ts, z104, 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, z104, 3, 0, 0)
142
143		// RefOf
144
145		Store (RefOf(Local0), Local1)
146		CH03(ts, z104, 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, 12)) {
447			err(arg0, z104, 200, 0, 0, Local0, 12)
448			return (1)
449		}
450
451		Store (DeRefOf(arg1), Local1)
452		if(LNot(SLCK)){
453			CH04(ts, 0, 47, z104, 5, 0, 0)
454		}
455
456		// CondRefOf
457		
458		CondRefOf(DeRefOf(arg1), Local1)
459		CH06(arg0, 1, 47)
460
461		// CopyObject
462
463		CopyObject(DeRefOf(arg1), Local1)
464		CH03(ts, z104, 2, 0, 0)
465
466		// Decrement
467
468		Decrement(DeRefOf(arg1))
469		CH06(arg0, 3, 47)
470
471		// DerefOf
472
473		Store (DerefOf(DeRefOf(arg1)), Local1)
474		CH06(arg0, 4, 47)
475
476		// FindSetLeftBit
477
478		FindSetLeftBit(DeRefOf(arg1), Local1)
479		CH06(arg0, 6, 47)
480
481		// FindSetRightBit
482
483		FindSetRightBit(DeRefOf(arg1), Local1)
484		CH06(arg0, 8, 47)
485
486		// FromBCD
487
488		FromBCD(DeRefOf(arg1), Local1)
489		CH06(arg0, 10, 47)
490
491		// Increment
492
493		Increment(DeRefOf(arg1))
494		CH06(arg0, 11, 47)
495
496		// LNot
497
498		Store (LNot(DeRefOf(arg1)), Local1)
499		CH06(arg0, 12, 47)
500
501		// Not
502
503		Not(DeRefOf(arg1), Local1)
504		CH06(arg0, 14, 47)
505
506		// ObjectType
507
508		Store (ObjectType(DeRefOf(arg1)), Local1)
509		CH03(ts, z104, 6, 0, 0)
510
511		// RefOf
512
513		Store (RefOf(DeRefOf(arg1)), Local1)
514		CH06(arg0, 15, 47)
515
516		// Release
517
518		// Reset
519
520		// Signal
521
522		// SizeOf
523
524		Store (SizeOf(DeRefOf(arg1)), Local1)
525		CH06(arg0, 16, 47)
526
527		// Sleep
528
529		Sleep(DeRefOf(arg1))
530		CH06(arg0, 17, 47)
531
532		// Stall
533
534		Stall(DeRefOf(arg1))
535		CH06(arg0, 18, 47)
536
537		// Store
538
539		Store(DeRefOf(arg1), Local1)
540		CH06(arg0, 19, 47)
541
542		// ToBCD
543
544		ToBCD(DeRefOf(arg1), Local1)
545		CH06(arg0, 21, 47)
546
547		// ToBuffer
548
549		ToBuffer(DeRefOf(arg1), Local1)
550		CH06(arg0, 23, 47)
551
552		// ToDecimalString
553
554		ToDecimalString(DeRefOf(arg1), Local1)
555		CH06(arg0, 25, 47)
556
557		// ToHexString
558
559		ToHexString(DeRefOf(arg1), Local1)
560		CH06(arg0, 27, 47)
561
562		// ToInteger
563
564		ToInteger(DeRefOf(arg1), Local1)
565		CH06(arg0, 29, 47)
566
567		// Acquire
568
569		// Add
570
571		Add(DeRefOf(arg1), i000, Local1)
572		CH06(arg0, 33, 47)
573
574		Add(i000, DeRefOf(arg1), Local1)
575		CH06(arg0, 34, 47)
576
577		// And
578
579		And(DeRefOf(arg1), i000, Local1)
580		CH06(arg0, 37, 47)
581
582		And(i000, DeRefOf(arg1), Local1)
583		CH06(arg0, 38, 47)
584
585		// Concatenate
586
587		Concatenate(DeRefOf(arg1), i000, Local1)
588		CH06(arg0, 41, 47)
589
590		Concatenate(i000, DeRefOf(arg1), Local1)
591		CH06(arg0, 42, 47)
592
593		// ConcatenateResTemplate
594
595		ConcatenateResTemplate(DeRefOf(arg1), ResourceTemplate(){}, Local1)
596		CH06(arg0, 45, 47)
597
598		ConcatenateResTemplate(ResourceTemplate(){}, DeRefOf(arg1), Local1)
599		CH06(arg0, 46, 47)
600
601		// Divide
602
603		Divide(DeRefOf(arg1), i000, Local2)
604		CH06(arg0, 49, 47)
605
606		Divide(i000, DeRefOf(arg1), Local2)
607		CH06(arg0, 50, 47)
608
609		Divide(DeRefOf(arg1), i000, Local2, Local1)
610		CH06(arg0, 51, 47)
611
612		Divide(i000, DeRefOf(arg1), Local2, Local1)
613		CH06(arg0, 52, 47)
614
615		// Fatal
616
617		Fatal(0xff, 0xffffffff, DeRefOf(arg1))
618		CH06(arg0, 53, 47)
619
620		// Index
621
622		Index(DeRefOf(arg1), 0, Local1)
623		CH06(arg0, 56, 47)
624
625		Index("0", DeRefOf(arg1), Local1)
626		CH06(arg0, 57, 47)
627
628		// LEqual
629
630		Store (LEqual(DeRefOf(arg1), i000), Local1)
631		CH06(arg0, 58, 47)
632
633		Store (LEqual(i000, DeRefOf(arg1)), Local1)
634		CH06(arg0, 59, 47)
635
636		// LGreater
637
638		Store (LGreater(DeRefOf(arg1), i000), Local1)
639		CH06(arg0, 60, 47)
640
641		Store (LGreater(i000, DeRefOf(arg1)), Local1)
642		CH06(arg0, 61, 47)
643
644		// LGreaterEqual
645
646		Store (LGreaterEqual(DeRefOf(arg1), i000), Local1)
647		CH06(arg0, 62, 0xff)
648
649		Store (LGreaterEqual(i000, DeRefOf(arg1)), Local1)
650		CH06(arg0, 63, 0xff)
651
652		// LLess
653
654		Store (LLess(DeRefOf(arg1), i000), Local1)
655		CH06(arg0, 64, 47)
656
657		Store (LLess(i000, DeRefOf(arg1)), Local1)
658		CH06(arg0, 65, 47)
659
660		// LLessEqual
661
662		Store (LLessEqual(DeRefOf(arg1), i000), Local1)
663		CH06(arg0, 66, 0xff)
664
665		Store (LLessEqual(i000, DeRefOf(arg1)), Local1)
666		CH06(arg0, 67, 0xff)
667
668		// LNotEqual
669
670		Store (LNotEqual(DeRefOf(arg1), i000), Local1)
671		CH06(arg0, 68, 0xff)
672
673		Store (LNotEqual(i000, DeRefOf(arg1)), Local1)
674		CH06(arg0, 69, 0xff)
675
676		// LOr
677
678		Store (LOr(DeRefOf(arg1), i000), Local1)
679		CH06(arg0, 70, 47)
680
681		Store (LOr(i000, DeRefOf(arg1)), Local1)
682		CH06(arg0, 71, 47)
683
684		// Mod
685
686		Mod(DeRefOf(arg1), i000, Local1)
687		CH06(arg0, 74, 47)
688
689		Mod(i000, DeRefOf(arg1), Local1)
690		CH06(arg0, 75, 47)
691
692		// Multiply
693
694		Multiply(DeRefOf(arg1), i000, Local1)
695		CH06(arg0, 78, 47)
696
697		Multiply(i000, DeRefOf(arg1), Local1)
698		CH06(arg0, 79, 47)
699
700		// NAnd
701
702		NAnd(DeRefOf(arg1), i000, Local1)
703		CH06(arg0, 82, 47)
704
705		NAnd(i000, DeRefOf(arg1), Local1)
706		CH06(arg0, 83, 47)
707
708		// NOr
709
710		NOr(DeRefOf(arg1), i000, Local1)
711		CH06(arg0, 86, 47)
712
713		NOr(i000, DeRefOf(arg1), Local1)
714		CH06(arg0, 87, 47)
715
716		// Or
717
718		Or(DeRefOf(arg1), i000, Local1)
719		CH06(arg0, 90, 47)
720
721		Or(i000, DeRefOf(arg1), Local1)
722		CH06(arg0, 91, 47)
723
724		// ShiftLeft
725
726		ShiftLeft(DeRefOf(arg1), i000, Local1)
727		CH06(arg0, 94, 47)
728
729		ShiftLeft(i000, DeRefOf(arg1), Local1)
730		CH06(arg0, 95, 47)
731
732		// ShiftRight
733
734		ShiftRight(DeRefOf(arg1), i000, Local1)
735		CH06(arg0, 98, 47)
736
737		ShiftRight(i000, DeRefOf(arg1), Local1)
738		CH06(arg0, 99, 47)
739
740		// Subtract
741
742		Subtract(DeRefOf(arg1), i000, Local1)
743		CH06(arg0, 102, 47)
744
745		Subtract(i000, DeRefOf(arg1), Local1)
746		CH06(arg0, 103, 47)
747
748		// ToString
749
750		ToString(DeRefOf(arg1), 1, Local1)
751		CH06(arg0, 106, 47)
752
753		ToString(i000, DeRefOf(arg1), Local1)
754		CH06(arg0, 107, 47)
755
756		// Wait
757
758		Store(Wait(e000, DeRefOf(arg1)), Local1)
759		CH06(arg0, 109, 47)
760
761		// XOr
762
763		XOr(DeRefOf(arg1), i000, Local1)
764		CH06(arg0, 112, 47)
765
766		XOr(i000, DeRefOf(arg1), Local1)
767		CH06(arg0, 113, 47)
768
769		// Mid
770
771		Mid(DeRefOf(arg1), 1, 1, Local1)
772		CH06(arg0, 117, 47)
773
774		Mid("123", DeRefOf(arg1), 1, Local1)
775		CH06(arg0, 118, 47)
776
777		Mid("123", 1, DeRefOf(arg1), Local1)
778		CH06(arg0, 119, 47)
779
780		// Match
781
782		Store (Match(DeRefOf(arg1), MTR, 0, MTR, 0, 0), Local1)
783		CH06(arg0, 120, 47)
784
785		Store (Match(Package(){1}, MTR, DeRefOf(arg1), MTR, 0, 0), Local1)
786		CH06(arg0, 121, 47)
787
788		Store (Match(Package(){1}, MTR, 0, MTR, DeRefOf(arg1), 0), Local1)
789		CH06(arg0, 122, 47)
790
791		Store (Match(Package(){1}, MTR, 0, MTR, 0, DeRefOf(arg1)), Local1)
792		CH06(arg0, 123, 47)
793
794		return (0)
795	}
796
797	// Result of Method invocation
798	Method(m004, 1, Serialized)
799	{
800		Name(i000, 0) // Label to check m000 invocations
801
802		Method(m000)
803		{
804			CopyObject(pr10, Local0)
805			Return (Local0)
806		}
807
808		// CondRefOf
809		
810		if (y601) {
811			Store (CondRefOf(m000()), Local1)
812			CH06(arg0, 0, 47)
813
814			Store (CondRefOf(m000(), Local1), Local1)
815			CH06(arg0, 1, 47)
816		}
817
818		// CopyObject
819
820		CopyObject(m000(), Local1)
821		CH03(ts, z104, 7, 0, 0)
822
823		// Decrement
824
825		Decrement(m000())
826		CH06(arg0, 2, 47)
827
828		// DerefOf
829
830		Store (DerefOf(m000()), Local1)
831		CH06(arg0, 3, 47)
832
833		// FindSetLeftBit
834
835		FindSetLeftBit(m000(), Local1)
836		CH06(arg0, 5, 47)
837
838		// FindSetRightBit
839
840		FindSetRightBit(m000(), Local1)
841		CH06(arg0, 7, 47)
842
843		// FromBCD
844
845		FromBCD(m000(), Local1)
846		CH06(arg0, 9, 47)
847
848		// Increment
849
850		Increment(m000())
851		CH06(arg0, 10, 47)
852
853		// LNot
854
855		Store (LNot(m000()), Local1)
856		CH06(arg0, 11, 47)
857
858		// Not
859
860		Not(m000(), Local1)
861		CH06(arg0, 13, 47)
862
863		// ObjectType
864        /* Nov. 2012: Method invocation as arg to ObjectType is now illegal */
865//
866//		ObjectType(m000())
867//		CH03(ts, z104, 8, 0, 0)
868
869		// RefOf
870
871		if (y601) {
872			Store (RefOf(m000()), Local1)
873			CH06(arg0, 14, 47)
874		}
875
876		// Release
877
878		Release(m000())
879		CH06(arg0, 13, 47)
880
881		// Reset
882
883		Reset(m000())
884		CH06(arg0, 14, 47)
885
886		// Signal
887
888		Signal(m000())
889		CH06(arg0, 15, 47)
890
891		// SizeOf
892
893		Store (SizeOf(m000()), Local1)
894		CH06(arg0, 16, 47)
895
896		// Sleep
897
898		Sleep(m000())
899		CH06(arg0, 17, 47)
900
901		// Stall
902
903		Stall(m000())
904		CH06(arg0, 18, 47)
905
906		// Store
907
908		Store(m000(), Local1)
909		CH06(arg0, 19, 47)
910
911		// ToBCD
912
913		ToBCD(m000(), Local1)
914		CH06(arg0, 21, 47)
915
916		// ToBuffer
917
918		ToBuffer(m000(), Local1)
919		CH06(arg0, 23, 47)
920
921		// ToDecimalString
922
923		ToDecimalString(m000(), Local1)
924		CH06(arg0, 25, 47)
925
926		// ToHexString
927
928		ToHexString(m000(), Local1)
929		CH06(arg0, 27, 47)
930
931		// ToInteger
932
933		ToInteger(m000(), Local1)
934		CH06(arg0, 29, 47)
935
936		// Acquire
937
938		Store(Acquire(m000(), 100), Local1)
939		CH06(arg0, 30, 47)
940
941		// Add
942
943		Add(m000(), i000, Local1)
944		CH06(arg0, 33, 47)
945
946		Add(i000, m000(), Local1)
947		CH06(arg0, 34, 47)
948
949		// And
950
951		And(m000(), i000, Local1)
952		CH06(arg0, 37, 47)
953
954		And(i000, m000(), Local1)
955		CH06(arg0, 38, 47)
956
957		// Concatenate
958
959		Concatenate(m000(), i000, Local1)
960		CH06(arg0, 41, 47)
961
962		Concatenate(i000, m000(), Local1)
963		CH06(arg0, 42, 47)
964
965		// ConcatenateResTemplate
966
967		ConcatenateResTemplate(m000(), ResourceTemplate(){}, Local1)
968		CH06(arg0, 45, 47)
969
970		ConcatenateResTemplate(ResourceTemplate(){}, m000(), Local1)
971		CH06(arg0, 46, 47)
972
973		// Divide
974
975		Divide(m000(), i000, Local2)
976		CH06(arg0, 49, 47)
977
978		Divide(i000, m000(), Local2)
979		CH06(arg0, 50, 47)
980
981		Divide(m000(), i000, Local2, Local1)
982		CH06(arg0, 51, 47)
983
984		Divide(i000, m000(), Local2, Local1)
985		CH06(arg0, 52, 47)
986
987		// Fatal
988
989		Fatal(0xff, 0xffffffff, m000())
990		CH06(arg0, 53, 47)
991
992		// Index
993
994		Index(m000(), 0, Local1)
995		CH06(arg0, 56, 47)
996
997		Index("0", m000(), Local1)
998		CH06(arg0, 57, 47)
999
1000		// LEqual
1001
1002		Store (LEqual(m000(), i000), Local1)
1003		CH06(arg0, 58, 47)
1004
1005		Store (LEqual(i000, m000()), Local1)
1006		CH06(arg0, 59, 47)
1007
1008		// LGreater
1009
1010		Store (LGreater(m000(), i000), Local1)
1011		CH06(arg0, 60, 47)
1012
1013		Store (LGreater(i000, m000()), Local1)
1014		CH06(arg0, 61, 47)
1015
1016		// LGreaterEqual
1017
1018		Store (LGreaterEqual(m000(), i000), Local1)
1019		CH06(arg0, 62, 0xff)
1020
1021		Store (LGreaterEqual(i000, m000()), Local1)
1022		CH06(arg0, 63, 0xff)
1023
1024		// LLess
1025
1026		Store (LLess(m000(), i000), Local1)
1027		CH06(arg0, 64, 47)
1028
1029		Store (LLess(i000, m000()), Local1)
1030		CH06(arg0, 65, 47)
1031
1032		// LLessEqual
1033
1034		Store (LLessEqual(m000(), i000), Local1)
1035		CH06(arg0, 66, 0xff)
1036
1037		Store (LLessEqual(i000, m000()), Local1)
1038		CH06(arg0, 67, 0xff)
1039
1040		// LNotEqual
1041
1042		Store (LNotEqual(m000(), i000), Local1)
1043		CH06(arg0, 68, 0xff)
1044
1045		Store (LNotEqual(i000, m000()), Local1)
1046		CH06(arg0, 69, 0xff)
1047
1048		// LOr
1049
1050		Store (LOr(m000(), i000), Local1)
1051		CH06(arg0, 70, 47)
1052
1053		Store (LOr(i000, m000()), Local1)
1054		CH06(arg0, 71, 47)
1055
1056		// Mod
1057
1058		Mod(m000(), i000, Local1)
1059		CH06(arg0, 74, 47)
1060
1061		Mod(i000, m000(), Local1)
1062		CH06(arg0, 75, 47)
1063
1064		// Multiply
1065
1066		Multiply(m000(), i000, Local1)
1067		CH06(arg0, 78, 47)
1068
1069		Multiply(i000, m000(), Local1)
1070		CH06(arg0, 79, 47)
1071
1072		// NAnd
1073
1074		NAnd(m000(), i000, Local1)
1075		CH06(arg0, 82, 47)
1076
1077		NAnd(i000, m000(), Local1)
1078		CH06(arg0, 83, 47)
1079
1080		// NOr
1081
1082		NOr(m000(), i000, Local1)
1083		CH06(arg0, 86, 47)
1084
1085		NOr(i000, m000(), Local1)
1086		CH06(arg0, 87, 47)
1087
1088		// Or
1089
1090		Or(m000(), i000, Local1)
1091		CH06(arg0, 90, 47)
1092
1093		Or(i000, m000(), Local1)
1094		CH06(arg0, 91, 47)
1095
1096		// ShiftLeft
1097
1098		ShiftLeft(m000(), i000, Local1)
1099		CH06(arg0, 94, 47)
1100
1101		ShiftLeft(i000, m000(), Local1)
1102		CH06(arg0, 95, 47)
1103
1104		// ShiftRight
1105
1106		ShiftRight(m000(), i000, Local1)
1107		CH06(arg0, 98, 47)
1108
1109		ShiftRight(i000, m000(), Local1)
1110		CH06(arg0, 99, 47)
1111
1112		// Subtract
1113
1114		Subtract(m000(), i000, Local1)
1115		CH06(arg0, 102, 47)
1116
1117		Subtract(i000, m000(), Local1)
1118		CH06(arg0, 103, 47)
1119
1120		// ToString
1121
1122		ToString(m000(), 1, Local1)
1123		CH06(arg0, 106, 47)
1124
1125		ToString(i000, m000(), Local1)
1126		CH06(arg0, 107, 47)
1127
1128		// Wait
1129
1130		Store(Wait(m000(), i000), Local1)
1131		CH06(arg0, 108, 47)
1132
1133		Store(Wait(e000, m000()), Local1)
1134		CH06(arg0, 109, 47)
1135
1136		// XOr
1137
1138		XOr(m000(), i000, Local1)
1139		CH06(arg0, 112, 47)
1140
1141		XOr(i000, m000(), Local1)
1142		CH06(arg0, 113, 47)
1143
1144		// Mid
1145
1146		Mid(m000(), 1, 1, Local1)
1147		CH06(arg0, 117, 47)
1148
1149		Mid("123", m000(), 1, Local1)
1150		CH06(arg0, 118, 47)
1151
1152		Mid("123", 1, m000(), Local1)
1153		CH06(arg0, 119, 47)
1154
1155		// Match
1156
1157		Store (Match(m000(), MTR, 0, MTR, 0, 0), Local1)
1158		CH06(arg0, 120, 47)
1159
1160		Store (Match(Package(){1}, MTR, m000(), MTR, 0, 0), Local1)
1161		CH06(arg0, 121, 47)
1162
1163		Store (Match(Package(){1}, MTR, 0, MTR, m000(), 0), Local1)
1164		CH06(arg0, 122, 47)
1165
1166		Store (Match(Package(){1}, MTR, 0, MTR, 0, m000()), Local1)
1167		CH06(arg0, 123, 47)
1168	}
1169
1170	// Reference to Object as Result of Method invocation
1171	Method(m005, 1, Serialized)
1172	{
1173		Processor(prc2, 0, 0xFFFFFFFF, 0) {}
1174
1175		Name(i000, 0) // Label to check m000 invocations
1176
1177		Method(m000, 2)
1178		{
1179			Store(arg0, i000)
1180			if (LEqual(arg1, 0)) {
1181				Store(Refof(pr10), Local0)
1182			} elseif (LEqual(arg1, 1)) {
1183				Store(Refof(prc2), Local0)
1184			}
1185			Return (Local0)
1186		}
1187
1188		Method(CH00, 2)
1189		{
1190			if (LNotEqual(i000, arg1)) {
1191				err(arg0, z104, 0, 0, 0, i000, arg1)
1192			}
1193		}
1194
1195		Name(lpN0, 2)
1196		Name(lpC0, 0)
1197
1198		While (lpN0) {
1199			Multiply(3, lpC0, Local0)
1200
1201			Store(0, i000)
1202
1203			Store (DerefOf(m000(1, lpC0)), Local1)
1204			if(LNot(SLCK)){
1205				CH04(ts, 0, 47, z104, Add(9, lpC0), 0, 0)
1206			}
1207			CH00(arg0, 1)
1208
1209			Store (DerefOf(DerefOf(m000(2, lpC0))), Local1)
1210			if(LNot(slck)){
1211				CH06(arg0, Add(1, Local0), 47)
1212			}
1213			CH00(arg0, 2)
1214
1215			Store (Index(DerefOf(m000(3, lpC0)), 0), Local1)
1216			CH06(arg0, Add(2, Local0), 47)
1217			CH00(arg0, 3)
1218
1219			Store (Match(DerefOf(m000(4, lpC0)), MTR, 0, MTR, 0, 0), Local1)
1220			CH06(arg0, Add(3, Local0), 47)
1221			CH00(arg0, 4)
1222
1223			Decrement(lpN0)
1224			Increment(lpC0)
1225		}
1226	}
1227
1228	SET0(z104, ts, 0)
1229
1230	CH03(ts, z104, 11, 0, 0)
1231
1232	// Local Named Object
1233	m000(ts)
1234
1235	// Global Named Object
1236	m001(ts)
1237
1238	// Local
1239	m002(Concatenate(ts, "-m002"))
1240
1241	// Reference to Local Named Object
1242
1243	m003(Concatenate(ts, "-m003-RefLocName"), RefOf(prc1))
1244
1245	Store(RefOf(prc1), Local0)
1246	m003(Concatenate(ts, "-m003-RefLocName2"), Local0)
1247
1248	CondRefOf(prc1, Local0)
1249	m003(Concatenate(ts, "-m003-CondRefLocName"), Local0)
1250
1251	m003(Concatenate(ts, "-m003-RefGlobName"), RefOf(pr10))
1252
1253	Store(RefOf(pr10), Local0)
1254	m003(Concatenate(ts, "-m003-RefGlobName2"), Local0)
1255
1256	CondRefOf(pr10, Local0)
1257	m003(Concatenate(ts, "-m003-CondRefGlobName"), Local0)
1258
1259	// Reference to Object as element of Package
1260
1261	Name(pp00, Package(){pr10})
1262
1263	if (y113) {
1264		m003(Concatenate(ts, "-m003-Index"), Index(pp00, 0))
1265	}
1266
1267	Store(Index(pp00, 0), Local1)
1268	m003(Concatenate(ts, "-m003-Index2"), Local1)
1269
1270	if (y113) {
1271		m003(Concatenate(ts, "-m003-Index3"), Index(pp00, 0, Local2))
1272	}
1273
1274	Index(pp00, 0, Local3)
1275	m003(Concatenate(ts, "-m003-Index4"), Local3)
1276
1277	Store(Index(pp00, 0, Local4), Local5)
1278	m003(Concatenate(ts, "-m003-Index5"), Local5)
1279
1280	// Result of Method invocation
1281	m004(Concatenate(ts, "-m004"))
1282
1283	// Reference to Object as Result of Method invocation
1284	m005(Concatenate(ts, "-m005"))
1285
1286	RST0()
1287}
1288