summaryrefslogtreecommitdiff
path: root/tests/aslts/src/runtime/common/conversion/rtest.asl
diff options
context:
space:
mode:
Diffstat (limited to 'tests/aslts/src/runtime/common/conversion/rtest.asl')
-rw-r--r--tests/aslts/src/runtime/common/conversion/rtest.asl1414
1 files changed, 1414 insertions, 0 deletions
diff --git a/tests/aslts/src/runtime/common/conversion/rtest.asl b/tests/aslts/src/runtime/common/conversion/rtest.asl
new file mode 100644
index 000000000..2b5c685b8
--- /dev/null
+++ b/tests/aslts/src/runtime/common/conversion/rtest.asl
@@ -0,0 +1,1414 @@
+/*
+ * Copyright (c) 2006, Intel Corp.
+ * Copyright (C) 2006, Valery Podrezov <valery.a.podrezov@intel.com>
+ * Copyright (C) 2006, Fiodor Suietov <fiodor.f.suietov@intel.com>
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without modification,
+ * are permitted provided that the following conditions are met:
+ *
+ * Redistributions of source code must retain the above copyright notice,
+ * this list of conditions and the following disclaimer.
+ * Redistributions in binary form must reproduce the above copyright notice,
+ * this list of conditions and the following disclaimer in the documentation
+ * and/or other materials provided with the distribution.
+ * Neither the name of Intel Corporation nor the names of its contributors
+ * may be used to endorse or promote products derived from this software
+ * without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
+ * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
+ * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+ * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
+ * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
+ * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+/*
+ ============================
+ !!!!!!!!!!!!!!!!!!!!!!!!!!!!
+ IT IS IN PROGRESS !!!!!!!!!!
+ !!!!!!!!!!!!!!!!!!!!!!!!!!!!
+ ============================
+*/
+
+// Implicit Result Object Conversion, complex test
+
+Name(z067, 67)
+
+// Integers
+Name(ii00, 0)
+Name(ii10, 0)
+
+// Strings
+Name(ss00, "")
+Name(ss10, "!@#$%^&*()_+=-[]{}")
+
+// Buffers
+Name(bb00, Buffer(1) {})
+Name(bb80, Buffer(1) {})
+// Inside 32-bit Integer
+Name(bb01, Buffer(3) {})
+Name(bb81, Buffer(3) {})
+// 32-bit Integer
+Name(bb02, Buffer(4) {})
+Name(bb82, Buffer(4) {})
+// Inside 64-bit Integer
+Name(bb03, Buffer(5) {})
+Name(bb83, Buffer(5) {})
+// Inside 64-bit Integer
+Name(bb04, Buffer(8) {})
+Name(bb84, Buffer(8) {})
+// Size exceeding result
+Name(bb05, Buffer(20) {})
+Name(bb85, Buffer(20) {})
+
+// Buffer Fields
+Name(bbff, Buffer(160) {})
+CreateField(bbff, 5, 27, bf00)
+CreateField(bbff, 32, 47, bf01)
+CreateField(bbff, 79, 27, bf10)
+CreateField(bbff, 106, 47, bf11)
+// Incomplete last byte
+CreateField(bbff, 153, 111, bf02)
+CreateField(bbff, 264, 111, bf12)
+// Incomplete extra byte
+CreateField(bbff, 375, 119, bf03)
+CreateField(bbff, 494, 119, bf13)
+// Size exceeding result
+CreateField(bbff, 654, 160, bf04)
+CreateField(bbff, 814, 160, bf14)
+// 32-bit Integer
+CreateField(bbff, 974, 32, bf05)
+CreateField(bbff, 1006, 32, bf15)
+// 64-bit Integer
+CreateField(bbff, 1038, 64, bf06)
+CreateField(bbff, 1102, 64, bf16)
+
+// Set all bytes of Buffer bbff to 0xff
+Method(m565)
+{
+ Name(lpN0, 160)
+ Name(lpC0, 0)
+
+ While (lpN0) {
+
+ Store(0xff, Index(bbff, lpC0))
+
+ Decrement(lpN0)
+ Increment(lpC0)
+ }
+}
+
+// Acquire (mux, wrd) => Boolean
+Method(m500, 1)
+{
+ Name(ts, "m500")
+ ts00(ts)
+
+ Mutex(mt00, 0)
+ Name(b000, Buffer() {0x00})
+
+ Store(Acquire(mt00, 0), ii10)
+ m4c0(ts, ii10, ZERO, ZERO)
+
+ Store(Acquire(mt00, 0x0010), ss10)
+ m4c0(ts, ss10, "0000000000000000", "00000000")
+
+ Store(Acquire(mt00, 0x0020), bb80)
+ m4c0(ts, bb80, b000, b000)
+}
+
+// Add (int, int, Result) => Integer
+Method(m501, 1)
+{
+ Name(ts, "m501")
+ ts00(ts)
+
+ Name(b000, Buffer() {0x63})
+ Name(b001, Buffer() {0x63})
+ Name(b002, Buffer() {0x10,0x11,0x12,0x13,0x14,0x15,0x16,0x17,
+ 0x18,0x19,0x1a,0x1b,0x1c,0x1d,0x1e,0x1f})
+ Name(b003, Buffer() {0x20,0x21,0x22,0x23,0x24,0x25,0x26,0x27,
+ 0x28,0x29,0x2a,0x2b,0x2c,0x2d,0x2e,0x2f})
+ Name(b004, Buffer() {0x63,0xF4,0x9C,0x52,0x13,0xCF,0x8A,0,0,0,0,0,0,0,0,0})
+ Name(b005, Buffer() {0x63,0xF4,0x9C,0x52,0,0,0,0,0,0,0,0,0,0,0,0})
+
+ // Integers
+ Store(Add(0x123456789abcda, 0x789abcda023789, ii00), ii10)
+ m4c0(ts, ii00, 0x008ACF13529CF463, 0x529CF463)
+ m4c0(ts, ii10, 0x008ACF13529CF463, 0x529CF463)
+
+ // Strings
+ Store(Add(0x123456789abcda, 0x789abcda023789, ss00), ss10)
+ m4c0(ts, ss00, "008ACF13529CF463", "529CF463")
+ m4c0(ts, ss10, "008ACF13529CF463", "529CF463")
+
+ // Buffers smaller than result
+ Store(Add(0x123456789abcda, 0x789abcda023789, bb00), bb80)
+ m4c0(ts, bb00, b000, b001)
+ m4c0(ts, bb80, b000, b001)
+
+ // Buffers greater than result
+ Store(Add(0x123456789abcda, 0x789abcda023789, b002), b003)
+ m4c0(ts, b002, b004, b005)
+ m4c0(ts, b003, b004, b005)
+
+ // Set fields (their source buffer) to zero
+
+// Store(bbff, Debug)
+
+ m565()
+ Store(Add(0x123456789abcda, 0x789abcda023789, bf00), bf10)
+ m4c0(ts, bf00, b004, b005)
+ m4c0(ts, bf10, b004, b005)
+
+// !!! check the contents of bbff !!!!!!!!!
+
+// Store(bbff, Debug)
+}
+
+// And (int, int, Result) => Integer
+Method(m502, 1)
+{
+ Name(ts, "m502")
+ ts00(ts)
+}
+
+// Concatenate ({int|str|buf}, {int|str|buf}, Result) => ComputationalData
+Method(m503, 1)
+{
+ m563()
+ m564()
+}
+
+Method(m563)
+{
+ Name(ts, "m503,s+s")
+
+ // s+s -->> s -->> all combinations of Result and ComputationalData
+
+ // Result 64-bit, 32-bit, ComputationalData 64-bit, 32-bit
+ Name(p000, Package() {
+
+ // ============= With Result
+
+ 0x00ABCDEF12345678, 0x12345678, 0x00ABCDEF12345678, 0x12345678,
+ 0x00ABCDEF12345678, 0x12345678, "abcdef12345678", "abcdef12345678",
+ 0x00ABCDEF12345678, 0x12345678, Buffer() {0x61}, Buffer() {0x61},
+ 0x00ABCDEF12345678, 0x12345678, 0x04636261, 0x04636261,
+ 0x00ABCDEF12345678, 0x12345678, 0x0000666564636261,
+ Buffer() {0x61,0x62,0x63,0x64,0x65,0x66},
+ "abcdef12345678", "abcdef12345678", 0x00ABCDEF12345678, 0x12345678,
+ "abcdef12345678", "abcdef12345678", "abcdef12345678", "abcdef12345678",
+ "abcdef12345678", "abcdef12345678", Buffer() {0x61}, Buffer() {0x61},
+ "abcdef12345678", "abcdef12345678", 0x04636261, 0x04636261,
+ "abcdef12345678", "abcdef12345678", 0x0000666564636261,
+ Buffer() {0x61,0x62,0x63,0x64,0x65,0x66},
+ Buffer() {0x61}, Buffer() {0x61}, 0x00ABCDEF12345678, 0x12345678,
+ Buffer() {0x61}, Buffer() {0x61}, "abcdef12345678", "abcdef12345678",
+ Buffer() {0x61}, Buffer() {0x61}, Buffer() {0x61}, Buffer() {0x61},
+ Buffer() {0x61}, Buffer() {0x61}, 0x04636261, 0x04636261,
+ Buffer() {0x61}, Buffer() {0x61}, 0x0000666564636261,
+ Buffer() {0x61,0x62,0x63,0x64,0x65,0x66},
+ 0x0000000004636261, 0x04636261, 0x00ABCDEF12345678, 0x12345678,
+ 0x0000000004636261, 0x04636261, "abcdef12345678", "abcdef12345678",
+ 0x0000000004636261, 0x04636261, Buffer() {0x61}, Buffer() {0x61},
+ 0x0000000004636261, 0x04636261, 0x0000000004636261, 0x04636261,
+ 0x0000000004636261, 0x04636261, 0x0000666564636261,
+ Buffer() {0x61,0x62,0x63,0x64,0x65,0x66},
+ 0x0000666564636261, Buffer() {0x61,0x62,0x63,0x64,0x65,0x66},
+ 0x00ABCDEF12345678, 0x12345678,
+ 0x0000666564636261, Buffer() {0x61,0x62,0x63,0x64,0x65,0x66},
+ "abcdef12345678", "abcdef12345678",
+ 0x0000666564636261, Buffer() {0x61,0x62,0x63,0x64,0x65,0x66},
+ Buffer() {0x61}, Buffer() {0x61},
+ 0x0000666564636261, Buffer() {0x61,0x62,0x63,0x64,0x65,0x66},
+ 0x0000000004636261, 0x04636261,
+ 0x0000666564636261, Buffer() {0x61,0x62,0x63,0x64,0x65,0x66},
+ 0x0000666564636261, Buffer() {0x61,0x62,0x63,0x64,0x65,0x66},
+
+ // ============= Result omited
+
+ 0,0, 0x00ABCDEF12345678, 0x12345678,
+ 0,0, "abcdef12345678", "abcdef12345678",
+ 0,0, Buffer() {0x61}, Buffer() {0x61},
+ 0,0, 0x04636261, 0x04636261,
+ 0,0, 0x0000666564636261, Buffer() {0x61,0x62,0x63,0x64,0x65,0x66},
+
+ // ============= Store omited
+
+ 0x00ABCDEF12345678, 0x12345678, 0,0,
+ "abcdef12345678", "abcdef12345678", 0,0,
+ Buffer() {0x61}, Buffer() {0x61}, 0,0,
+ 0x04636261, 0x04636261, 0,0,
+ 0x0000666564636261, Buffer() {0x61,0x62,0x63,0x64,0x65,0x66}, 0,0,
+
+ // ============= Particular additional cases
+
+ Buffer() {0x61,0x62,0x63,0x64,0x65,0x66,0x31,0x32,
+ 0x33,0x34,0x35,0x36,0x37,0x38},
+ Buffer() {0x61,0x62,0x63,0x64,0x65,0x66,0x31,0x32,
+ 0x33,0x34,0x35,0x36,0x37,0x38},
+ Buffer() {0x61,0x62,0x63,0x64,0x65,0x66,0x31,0x32,
+ 0x33,0x34,0x35,0x36,0x37,0x38},
+ Buffer() {0x61,0x62,0x63,0x64,0x65,0x66,0x31,0x32,
+ 0x33,0x34,0x35,0x36,0x37,0x38},
+ Buffer() {0x61,0x62,0x63,0x64,0x65,0x66,0x31,0x32,
+ 0x33,0x34,0x35,0x36,0x37,0x38,0x00},
+ Buffer() {0x61,0x62,0x63,0x64,0x65,0x66,0x31,0x32,
+ 0x33,0x34,0x35,0x36,0x37,0x38,0x00},
+ Buffer() {0x61,0x62,0x63,0x64,0x65,0x66,0x31,0x32,
+ 0x33,0x34,0x35,0x36,0x37,0x38,0x00},
+ Buffer() {0x61,0x62,0x63,0x64,0x65,0x66,0x31,0x32,
+ 0x33,0x34,0x35,0x36,0x37,0x38,0x00},
+ Buffer() {0x61,0x62,0x63,0x64,0x65,0x66,0x31,0x32,
+ 0x33,0x34,0x35,0x36,0x37,0x38,0x00,0x00,
+ 0x00,0x00,0x00,0x00},
+ Buffer() {0x61,0x62,0x63,0x64,0x65,0x66,0x31,0x32,
+ 0x33,0x34,0x35,0x36,0x37,0x38,0x00,0x00,
+ 0x00,0x00,0x00,0x00},
+ Buffer() {0x61,0x62,0x63,0x64,0x65,0x66,0x31,0x32,
+ 0x33,0x34,0x35,0x36,0x37,0x38,0x00,0x00,
+ 0x00,0x00,0x00,0x00},
+ Buffer() {0x61,0x62,0x63,0x64,0x65,0x66,0x31,0x32,
+ 0x33,0x34,0x35,0x36,0x37,0x38,0x00,0x00,
+ 0x00,0x00,0x00,0x00},
+ Buffer() {0x61,0x62,0x63}, Buffer() {0x61,0x62,0x63},
+ Buffer() {0x61,0x62,0x63}, Buffer() {0x61,0x62,0x63},
+ Buffer() {0x61,0x62,0x63,0x64}, Buffer() {0x61,0x62,0x63,0x64},
+ Buffer() {0x61,0x62,0x63,0x64}, Buffer() {0x61,0x62,0x63,0x64},
+
+ Buffer() {0x61,0x62,0x63,0x64,0x65}, Buffer() {0x61,0x62,0x63,0x64,0x65},
+ Buffer() {0x61,0x62,0x63,0x64,0x65}, Buffer() {0x61,0x62,0x63,0x64,0x65},
+
+ Buffer() {0x61,0x62,0x63,0x64,0x65,0x66,0x31,0x32},
+ Buffer() {0x61,0x62,0x63,0x64,0x65,0x66,0x31,0x32},
+ Buffer() {0x61,0x62,0x63,0x64,0x65,0x66,0x31,0x32},
+ Buffer() {0x61,0x62,0x63,0x64,0x65,0x66,0x31,0x32},
+ Buffer() {0x61,0x62,0x63,0x64,0x65,0x66,0x31,0x32,
+ 0x33,0x34,0x35,0x36,0x37,0x38,0x00,0x00,
+ 0x00,0x00,0x00,0x00},
+ Buffer() {0x61,0x62,0x63,0x64,0x65,0x66,0x31,0x32,
+ 0x33,0x34,0x35,0x36,0x37,0x38,0x00,0x00,
+ 0x00,0x00,0x00,0x00},
+ Buffer() {0x61,0x62,0x63,0x64,0x65,0x66,0x31,0x32,
+ 0x33,0x34,0x35,0x36,0x37,0x38,0x00,0x00,
+ 0x00,0x00,0x00,0x00},
+ Buffer() {0x61,0x62,0x63,0x64,0x65,0x66,0x31,0x32,
+ 0x33,0x34,0x35,0x36,0x37,0x38,0x00,0x00,
+ 0x00,0x00,0x00,0x00},
+ })
+
+ Store("abcdef", Local0)
+ Store("12345678", Local1)
+
+ m562(ts, Local0, Local1, p000)
+
+ // Source values are not corrupted
+
+ Store(ObjectType(Local0), Local2)
+ if (LNotEqual(Local2, 2)) {
+ err(ts, z067, 0, 0, 0, Local2, 2)
+ } elseif (LNotEqual(Local0, "abcdef")) {
+ err(ts, z067, 1, 0, 0, Local0, "abcdef")
+ }
+
+ Store(ObjectType(Local1), Local2)
+ if (LNotEqual(Local2, 2)) {
+ err(ts, z067, 2, 0, 0, Local2, 2)
+ } elseif (LNotEqual(Local1, "12345678")) {
+ err(ts, z067, 3, 0, 0, Local1, "12345678")
+ }
+}
+
+Method(m564)
+{
+ Name(ts, "m503,b+b")
+
+ // b+b -->> b -->> all combinations of Result and ComputationalData
+
+ // Result 64-bit, 32-bit, ComputationalData 64-bit, 32-bit
+ Name(p000, Package() {
+
+ // ============= With Result
+
+ // i,i
+ 0x3231666564636261, 0x64636261, 0x3231666564636261, 0x64636261,
+ // i,s
+ 0x3231666564636261, 0x64636261,
+ "61 62 63 64 65 66 31 32 33 34 35 36 37 38",
+ "61 62 63 64 65 66 31 32 33 34 35 36 37 38",
+ // i,b
+ 0x3231666564636261, 0x64636261, Buffer() {0x61}, Buffer() {0x61},
+ // i,bf(i,i)
+ 0x3231666564636261, 0x64636261, 0x04636261, 0x04636261,
+ // i,bf(i,b)
+ 0x3231666564636261, 0x64636261,
+ 0x0000666564636261,
+ Buffer() {0x61,0x62,0x63,0x64,0x65,0x66},
+ // s,i
+ "61 62 63 64 65 66 31 32 33 34 35 36 37 38",
+ "61 62 63 64 65 66 31 32 33 34 35 36 37 38",
+ 0x3231666564636261, 0x64636261,
+ // s,s
+ "61 62 63 64 65 66 31 32 33 34 35 36 37 38",
+ "61 62 63 64 65 66 31 32 33 34 35 36 37 38",
+ "61 62 63 64 65 66 31 32 33 34 35 36 37 38",
+ "61 62 63 64 65 66 31 32 33 34 35 36 37 38",
+ // s,b
+ "61 62 63 64 65 66 31 32 33 34 35 36 37 38",
+ "61 62 63 64 65 66 31 32 33 34 35 36 37 38",
+ Buffer() {0x61},
+ Buffer() {0x61},
+ // s,bf(i,i)
+ "61 62 63 64 65 66 31 32 33 34 35 36 37 38",
+ "61 62 63 64 65 66 31 32 33 34 35 36 37 38",
+ 0x0000000004636261,
+ 0x04636261,
+ // s,bf(i,b)
+ "61 62 63 64 65 66 31 32 33 34 35 36 37 38",
+ "61 62 63 64 65 66 31 32 33 34 35 36 37 38",
+ 0x0000666564636261,
+ Buffer() {0x61,0x62,0x63,0x64,0x65,0x66},
+ // b,i
+ Buffer() {0x61}, Buffer() {0x61}, 0x3231666564636261, 0x64636261,
+ // b,s
+ Buffer() {0x61}, Buffer() {0x61},
+ "61 62 63 64 65 66 31 32 33 34 35 36 37 38",
+ "61 62 63 64 65 66 31 32 33 34 35 36 37 38",
+ // b,b
+ Buffer() {0x61}, Buffer() {0x61}, Buffer() {0x61}, Buffer() {0x61},
+ // b,bf(i,i)
+ Buffer() {0x61}, Buffer() {0x61}, 0x04636261, 0x04636261,
+ // b,bf(i,b)
+ Buffer() {0x61}, Buffer() {0x61}, 0x0000666564636261,
+ Buffer() {0x61,0x62,0x63,0x64,0x65,0x66},
+ // bf(i,i),i
+ 0x0000000004636261, 0x04636261, 0x3231666564636261, 0x64636261,
+ // bf(i,i),s
+ 0x0000000004636261, 0x04636261,
+ "61 62 63 64 65 66 31 32 33 34 35 36 37 38",
+ "61 62 63 64 65 66 31 32 33 34 35 36 37 38",
+ // bf(i,i),b
+ 0x0000000004636261, 0x04636261, Buffer() {0x61}, Buffer() {0x61},
+ // bf(i,i),bf(i,i)
+ 0x0000000004636261, 0x04636261, 0x0000000004636261, 0x04636261,
+ // bf(i,i),bf(i,b)
+ 0x0000000004636261, 0x04636261, 0x0000666564636261,
+ Buffer() {0x61,0x62,0x63,0x64,0x65,0x66},
+ // bf(i,b),i
+ 0x0000666564636261, Buffer() {0x61,0x62,0x63,0x64,0x65,0x66},
+ 0x3231666564636261, 0x64636261,
+ // bf(i,b),s
+ 0x0000666564636261, Buffer() {0x61,0x62,0x63,0x64,0x65,0x66},
+ "61 62 63 64 65 66 31 32 33 34 35 36 37 38",
+ "61 62 63 64 65 66 31 32 33 34 35 36 37 38",
+ // bf(i,b),b
+ 0x0000666564636261, Buffer() {0x61,0x62,0x63,0x64,0x65,0x66},
+ Buffer() {0x61}, Buffer() {0x61},
+ // bf(i,b),bf(i,i)
+ 0x0000666564636261, Buffer() {0x61,0x62,0x63,0x64,0x65,0x66},
+ 0x0000000004636261, 0x04636261,
+ // bf(i,b),bf(i,b)
+ 0x0000666564636261, Buffer() {0x61,0x62,0x63,0x64,0x65,0x66},
+ 0x0000666564636261, Buffer() {0x61,0x62,0x63,0x64,0x65,0x66},
+
+ // ============= Result omited
+
+ // ,i
+ 0,0, 0x3231666564636261, 0x64636261,
+ // ,s
+ 0,0, "61 62 63 64 65 66 31 32 33 34 35 36 37 38",
+ "61 62 63 64 65 66 31 32 33 34 35 36 37 38",
+ // ,b
+ 0,0, Buffer() {0x61}, Buffer() {0x61},
+ // ,bf(i,i)
+ 0,0, 0x04636261, 0x04636261,
+ // b,bf(i,b)
+ 0,0, 0x0000666564636261, Buffer() {0x61,0x62,0x63,0x64,0x65,0x66},
+
+ // ============= Store omited
+
+ // i,
+ 0x3231666564636261, 0x64636261, 0,0,
+ // s,
+ "61 62 63 64 65 66 31 32 33 34 35 36 37 38",
+ "61 62 63 64 65 66 31 32 33 34 35 36 37 38",
+ 0,0,
+ // b,
+ Buffer() {0x61}, Buffer() {0x61}, 0,0,
+ // bf(i,i),
+ 0x04636261, 0x04636261, 0,0,
+ // bf(i,b),
+ 0x0000666564636261, Buffer() {0x61,0x62,0x63,0x64,0x65,0x66}, 0,0,
+
+ // ============= Particular additional cases
+
+ // Buffer Field, incomplete last byte
+ Buffer() {0x61,0x62,0x63,0x64,0x65,0x66,0x31,0x32,
+ 0x33,0x34,0x35,0x36,0x37,0x38},
+ Buffer() {0x61,0x62,0x63,0x64,0x65,0x66,0x31,0x32,
+ 0x33,0x34,0x35,0x36,0x37,0x38},
+ Buffer() {0x61,0x62,0x63,0x64,0x65,0x66,0x31,0x32,
+ 0x33,0x34,0x35,0x36,0x37,0x38},
+ Buffer() {0x61,0x62,0x63,0x64,0x65,0x66,0x31,0x32,
+ 0x33,0x34,0x35,0x36,0x37,0x38},
+ // Buffer Field, incomplete extra byte
+ Buffer() {0x61,0x62,0x63,0x64,0x65,0x66,0x31,0x32,
+ 0x33,0x34,0x35,0x36,0x37,0x38,0x00},
+ Buffer() {0x61,0x62,0x63,0x64,0x65,0x66,0x31,0x32,
+ 0x33,0x34,0x35,0x36,0x37,0x38,0x00},
+ Buffer() {0x61,0x62,0x63,0x64,0x65,0x66,0x31,0x32,
+ 0x33,0x34,0x35,0x36,0x37,0x38,0x00},
+ Buffer() {0x61,0x62,0x63,0x64,0x65,0x66,0x31,0x32,
+ 0x33,0x34,0x35,0x36,0x37,0x38,0x00},
+ // Buffer Field, size exceeding result
+ Buffer() {0x61,0x62,0x63,0x64,0x65,0x66,0x31,0x32,
+ 0x33,0x34,0x35,0x36,0x37,0x38,0x00,0x00,
+ 0x00,0x00,0x00,0x00},
+ Buffer() {0x61,0x62,0x63,0x64,0x65,0x66,0x31,0x32,
+ 0x33,0x34,0x35,0x36,0x37,0x38,0x00,0x00,
+ 0x00,0x00,0x00,0x00},
+ Buffer() {0x61,0x62,0x63,0x64,0x65,0x66,0x31,0x32,
+ 0x33,0x34,0x35,0x36,0x37,0x38,0x00,0x00,
+ 0x00,0x00,0x00,0x00},
+ Buffer() {0x61,0x62,0x63,0x64,0x65,0x66,0x31,0x32,
+ 0x33,0x34,0x35,0x36,0x37,0x38,0x00,0x00,
+ 0x00,0x00,0x00,0x00},
+ // Buffer, inside 32-bit Integer
+ Buffer() {0x61,0x62,0x63}, Buffer() {0x61,0x62,0x63},
+ Buffer() {0x61,0x62,0x63}, Buffer() {0x61,0x62,0x63},
+ // Buffer, 32-bit Integer
+ Buffer() {0x61,0x62,0x63,0x64}, Buffer() {0x61,0x62,0x63,0x64},
+ Buffer() {0x61,0x62,0x63,0x64}, Buffer() {0x61,0x62,0x63,0x64},
+ // Buffer, inside 64-bit Integer
+ Buffer() {0x61,0x62,0x63,0x64,0x65}, Buffer() {0x61,0x62,0x63,0x64,0x65},
+ Buffer() {0x61,0x62,0x63,0x64,0x65}, Buffer() {0x61,0x62,0x63,0x64,0x65},
+ // Buffer, 64-bit Integer
+ Buffer() {0x61,0x62,0x63,0x64,0x65,0x66,0x31,0x32},
+ Buffer() {0x61,0x62,0x63,0x64,0x65,0x66,0x31,0x32},
+ Buffer() {0x61,0x62,0x63,0x64,0x65,0x66,0x31,0x32},
+ Buffer() {0x61,0x62,0x63,0x64,0x65,0x66,0x31,0x32},
+ // Buffer, size exceeding result
+ Buffer() {0x61,0x62,0x63,0x64,0x65,0x66,0x31,0x32,
+ 0x33,0x34,0x35,0x36,0x37,0x38,0x00,0x00,
+ 0x00,0x00,0x00,0x00},
+ Buffer() {0x61,0x62,0x63,0x64,0x65,0x66,0x31,0x32,
+ 0x33,0x34,0x35,0x36,0x37,0x38,0x00,0x00,
+ 0x00,0x00,0x00,0x00},
+ Buffer() {0x61,0x62,0x63,0x64,0x65,0x66,0x31,0x32,
+ 0x33,0x34,0x35,0x36,0x37,0x38,0x00,0x00,
+ 0x00,0x00,0x00,0x00},
+ Buffer() {0x61,0x62,0x63,0x64,0x65,0x66,0x31,0x32,
+ 0x33,0x34,0x35,0x36,0x37,0x38,0x00,0x00,
+ 0x00,0x00,0x00,0x00},
+ })
+
+ Name(b000, Buffer() {0x61,0x62,0x63,0x64,0x65,0x66})
+ Name(b001, Buffer() {0x31,0x32,0x33,0x34,0x35,0x36,0x37,0x38})
+
+ Store(b000, Local0)
+ Store(b001, Local1)
+
+ m562(ts, Local0, Local1, p000)
+
+ // Source values are not corrupted
+
+ Store(ObjectType(Local0), Local2)
+ if (LNotEqual(Local2, 3)) {
+ err(ts, z067, 4, 0, 0, Local2, 3)
+ } elseif (LNotEqual(Local0, b000)) {
+ err(ts, z067, 5, 0, 0, Local0, b000)
+ }
+
+ Store(ObjectType(Local1), Local2)
+ if (LNotEqual(Local2, 3)) {
+ err(ts, z067, 6, 0, 0, Local2, 3)
+ } elseif (LNotEqual(Local1, b001)) {
+ err(ts, z067, 7, 0, 0, Local1, b001)
+ }
+}
+
+// arg0 - name of test
+// arg1 - Source1
+// arg2 - Source2
+// arg3 - results
+Method(m562, 4)
+{
+ ts00(arg0)
+
+ // ============= With Result
+ // ii,is,ib,ibf
+ // si,ss,sb,sbf
+ // bi,bs,bb,bbf
+ // bfi,bfs,bfb,bfbf
+
+ // i,i
+ Store(Concatenate(arg1, arg2, ii00), ii10)
+ m4c1(arg0, arg3, 0, 1, 1, ii00, ii10)
+ // i,s
+ Store(Concatenate(arg1, arg2, ii00), ss10)
+ m4c1(arg0, arg3, 1, 1, 1, ii00, ss10)
+ // i,b
+ Store(Concatenate(arg1, arg2, ii00), bb80)
+ m4c1(arg0, arg3, 2, 1, 1, ii00, bb80)
+ // i,bf(i,i)
+ Store(Concatenate(arg1, arg2, ii00), bf10)
+ m4c1(arg0, arg3, 3, 1, 1, ii00, bf10)
+ // i,bf(i,b)
+ Store(Concatenate(arg1, arg2, ii00), bf11)
+ m4c1(arg0, arg3, 4, 1, 1, ii00, bf11)
+
+ // s,i
+ Store(Concatenate(arg1, arg2, ss00), ii10)
+ m4c1(arg0, arg3, 5, 1, 1, ss00, ii10)
+ // s,s
+ Store(Concatenate(arg1, arg2, ss00), ss10)
+ m4c1(arg0, arg3, 6, 1, 1, ss00, ss10)
+ // s,b
+ Store(Concatenate(arg1, arg2, ss00), bb80)
+ m4c1(arg0, arg3, 7, 1, 1, ss00, bb80)
+ // s,bf(i,i)
+ Store(Concatenate(arg1, arg2, ss00), bf10)
+ m4c1(arg0, arg3, 8, 1, 1, ss00, bf10)
+ // s,bf(i,b)
+ Store(Concatenate(arg1, arg2, ss00), bf11)
+ m4c1(arg0, arg3, 9, 1, 1, ss00, bf11)
+
+ // b,i
+ Store(Concatenate(arg1, arg2, bb00), ii10)
+ m4c1(arg0, arg3, 10, 1, 1, bb00, ii10)
+ // b,s
+ Store(Concatenate(arg1, arg2, bb00), ss10)
+ m4c1(arg0, arg3, 11, 1, 1, bb00, ss10)
+ // b,b
+ Store(Concatenate(arg1, arg2, bb00), bb80)
+ m4c1(arg0, arg3, 12, 1, 1, bb00, bb80)
+ // b,bf(i,i)
+ Store(Concatenate(arg1, arg2, bb00), bf10)
+ m4c1(arg0, arg3, 13, 1, 1, bb00, bf10)
+ // b,bf(i,b)
+ Store(Concatenate(arg1, arg2, bb00), bf11)
+ m4c1(arg0, arg3, 14, 1, 1, bb00, bf11)
+
+ // bf(i,i),i
+ Store(Concatenate(arg1, arg2, bf00), ii10)
+ m4c1(arg0, arg3, 15, 1, 1, bf00, ii10)
+ // bf(i,i),s
+ Store(Concatenate(arg1, arg2, bf00), ss10)
+ m4c1(arg0, arg3, 16, 1, 1, bf00, ss10)
+ // bf(i,i),b
+ Store(Concatenate(arg1, arg2, bf00), bb80)
+ m4c1(arg0, arg3, 17, 1, 1, bf00, bb80)
+ // bf(i,i),bf(i,i)
+ Store(Concatenate(arg1, arg2, bf00), bf10)
+ m4c1(arg0, arg3, 18, 1, 1, bf00, bf10)
+ // bf(i,i),bf(i,b)
+ Store(Concatenate(arg1, arg2, bf00), bf11)
+ m4c1(arg0, arg3, 19, 1, 1, bf00, bf11)
+
+ // bf(i,b),i
+ Store(Concatenate(arg1, arg2, bf01), ii10)
+ m4c1(arg0, arg3, 20, 1, 1, bf01, ii10)
+ // bf(i,b),s
+ Store(Concatenate(arg1, arg2, bf01), ss10)
+ m4c1(arg0, arg3, 21, 1, 1, bf01, ss10)
+ // bf(i,b),b
+ Store(Concatenate(arg1, arg2, bf01), bb80)
+ m4c1(arg0, arg3, 22, 1, 1, bf01, bb80)
+ // bf(i,b),bf(i,i)
+ Store(Concatenate(arg1, arg2, bf01), bf10)
+ m4c1(arg0, arg3, 23, 1, 1, bf01, bf10)
+ // bf(i,b),bf(i,b)
+ Store(Concatenate(arg1, arg2, bf01), bf11)
+ m4c1(arg0, arg3, 24, 1, 1, bf01, bf11)
+
+ // ============= Result omited
+ // ,i,s,b,bf
+
+ // ,i
+ Store(Concatenate(arg1, arg2), ii10)
+ m4c1(arg0, arg3, 25, 0, 1, 0, ii10)
+ // ,s
+ Store(Concatenate(arg1, arg2), ss10)
+ m4c1(arg0, arg3, 26, 0, 1, 0, ss10)
+ // ,b
+ Store(Concatenate(arg1, arg2), bb80)
+ m4c1(arg0, arg3, 27, 0, 1, 0, bb80)
+ // ,bf(i,i)
+ Store(Concatenate(arg1, arg2), bf10)
+ m4c1(arg0, arg3, 28, 0, 1, 0, bf10)
+ // b,bf(i,b)
+ Store(Concatenate(arg1, arg2), bf11)
+ m4c1(arg0, arg3, 29, 0, 1, 0, bf11)
+
+ // ============= Store omited
+ // i,s,b,bf,
+
+ // i,
+ Concatenate(arg1, arg2, ii00)
+ m4c1(arg0, arg3, 30, 1, 0, ii00, 0)
+ // s,
+ Concatenate(arg1, arg2, ss00)
+ m4c1(arg0, arg3, 31, 1, 0, ss00, 0)
+ // b,
+ Concatenate(arg1, arg2, bb00)
+ m4c1(arg0, arg3, 32, 1, 0, bb00, 0)
+ // bf(i,i),
+ Concatenate(arg1, arg2, bf00)
+ m4c1(arg0, arg3, 33, 1, 0, bf00, 0)
+ // bf(i,b),
+ Concatenate(arg1, arg2, bf01)
+ m4c1(arg0, arg3, 34, 1, 0, bf01, 0)
+
+ // ============= Particular additional cases
+
+ // Buffer Field, incomplete last byte
+ Store(Concatenate(arg1, arg2, bf02), bf12)
+ m4c1(arg0, arg3, 35, 1, 1, bf02, bf12)
+
+ // Buffer Field, incomplete extra byte
+ Store(Concatenate(arg1, arg2, bf03), bf13)
+ m4c1(arg0, arg3, 36, 1, 1, bf03, bf13)
+
+ // Buffer Field, size exceeding result
+ Store(Concatenate(arg1, arg2, bf04), bf14)
+ m4c1(arg0, arg3, 37, 1, 1, bf04, bf14)
+
+ // Buffer, inside 32-bit Integer
+ Store(Concatenate(arg1, arg2, bb01), bb81)
+ m4c1(arg0, arg3, 38, 1, 1, bb01, bb81)
+
+ // Buffer, 32-bit Integer
+ Store(Concatenate(arg1, arg2, bb02), bb82)
+ m4c1(arg0, arg3, 39, 1, 1, bb02, bb82)
+
+ // Buffer, inside 64-bit Integer
+ Store(Concatenate(arg1, arg2, bb03), bb83)
+ m4c1(arg0, arg3, 40, 1, 1, bb03, bb83)
+
+ // Buffer, 64-bit Integer
+ Store(Concatenate(arg1, arg2, bb04), bb84)
+ m4c1(arg0, arg3, 41, 1, 1, bb04, bb84)
+
+ // Buffer, size exceeding result
+ Store(Concatenate(arg1, arg2, bb05), bb85)
+ m4c1(arg0, arg3, 42, 1, 1, bb05, bb85)
+}
+
+// ConcatenateResTemplate (rtb, rtb, Result) => Buffer
+Method(m504, 1)
+{
+ Name(op, 4)
+
+ Name(ts, "m504")
+
+ ts00(ts)
+
+ if (arg0) {
+ } else {
+ }
+}
+
+// CondRefOf (any, Result) => Boolean
+Method(m505, 1)
+{
+ Name(op, 0)
+
+ Name(ts, "m505")
+
+ ts00(ts)
+
+ if (arg0) {
+ } else {
+ }
+}
+
+// CopyObject (any, Destination) => DataRefObject
+Method(m506, 1)
+{
+ Name(op, 0)
+
+ Name(ts, "m506")
+
+ ts00(ts)
+
+ if (arg0) {
+ } else {
+ }
+}
+
+// Decrement (int) => Integer
+Method(m507, 1)
+{
+ Name(op, 0)
+
+ Name(ts, "m507")
+
+ ts00(ts)
+
+ if (arg0) {
+ } else {
+ }
+}
+
+// DerefOf ({ref|str}) => Object
+Method(m508, 1)
+{
+ Name(op, 0)
+
+ Name(ts, "m508")
+
+ ts00(ts)
+
+ if (arg0) {
+ } else {
+ }
+}
+
+// Divide (int, int, Remainder, Result) => Integer
+Method(m509, 1)
+{
+ Name(op, 0)
+
+ Name(ts, "m509")
+
+ ts00(ts)
+
+ if (arg0) {
+ } else {
+ }
+}
+
+// FindSetLeftBit (int, Result) => Integer
+Method(m511, 1)
+{
+ Name(op, 0)
+
+ Name(ts, "m511")
+
+ ts00(ts)
+
+ if (arg0) {
+ } else {
+ }
+}
+
+// FindSetRightBit (int, Result) => Integer
+Method(m512, 1)
+{
+ Name(op, 0)
+
+ Name(ts, "m512")
+
+ ts00(ts)
+
+ if (arg0) {
+ } else {
+ }
+}
+
+// FromBCD (int, Result) => Integer
+Method(m513, 1)
+{
+ Name(op, 0)
+
+ Name(ts, "m513")
+
+ ts00(ts)
+
+ if (arg0) {
+ } else {
+ }
+}
+
+// Increment (int) => Integer
+Method(m514, 1)
+{
+ Name(op, 0)
+
+ Name(ts, "m514")
+
+ ts00(ts)
+
+ if (arg0) {
+ } else {
+ }
+}
+
+// Index ({str|buf|pkg}, int, Destination) => ObjectReference
+Method(m515, 1)
+{
+ Name(op, 0)
+
+ Name(ts, "m515")
+
+ ts00(ts)
+
+ if (arg0) {
+ } else {
+ }
+}
+
+// LAnd (int, int) => Boolean
+Method(m516, 1)
+{
+ Name(op, 0)
+
+ Name(ts, "m516")
+
+ ts00(ts)
+
+ if (arg0) {
+ } else {
+ }
+}
+
+// LEqual ({int|str|buf}, {int|str|buf}) => Boolean
+Method(m517, 1)
+{
+ Name(op, 0)
+
+ Name(ts, "m517")
+
+ ts00(ts)
+
+ if (arg0) {
+ } else {
+ }
+}
+
+// LGreater ({int|str|buf}, {int|str|buf}) => Boolean
+Method(m518, 1)
+{
+ Name(op, 0)
+
+ Name(ts, "m518")
+
+ ts00(ts)
+
+ if (arg0) {
+ } else {
+ }
+}
+
+// LGreaterEqual ({int|str|buf}, {int|str|buf}) => Boolean
+Method(m519, 1)
+{
+ Name(op, 0)
+
+ Name(ts, "m519")
+
+ ts00(ts)
+
+ if (arg0) {
+ } else {
+ }
+}
+
+// LLess ({int|str|buf}, {int|str|buf}) => Boolean
+Method(m520, 1)
+{
+ Name(op, 0)
+
+ Name(ts, "m520")
+
+ ts00(ts)
+
+ if (arg0) {
+ } else {
+ }
+}
+
+// LLessEqual ({int|str|buf}, {int|str|buf}) => Boolean
+Method(m521, 1)
+{
+ Name(op, 0)
+
+ Name(ts, "m521")
+
+ ts00(ts)
+
+ if (arg0) {
+ } else {
+ }
+}
+
+// LNot (int) => Boolean
+Method(m522, 1)
+{
+ Name(op, 0)
+
+ Name(ts, "m522")
+
+ ts00(ts)
+
+ if (arg0) {
+ } else {
+ }
+}
+
+// LNotEqual ({int|str|buf}, {int|str|buf}) => Boolean
+Method(m523, 1)
+{
+ Name(op, 0)
+
+ Name(ts, "m523")
+
+ ts00(ts)
+
+ if (arg0) {
+ } else {
+ }
+}
+
+// LOr (int, int) => Boolean
+Method(m524, 1)
+{
+ Name(op, 0)
+
+ Name(ts, "m524")
+
+ ts00(ts)
+
+ if (arg0) {
+ } else {
+ }
+}
+
+// Match (pkg, byt, int, byt, int, int) => Ones | Integer
+Method(m525, 1)
+{
+ Name(op, 0)
+
+ Name(ts, "m525")
+
+ ts00(ts)
+
+ if (arg0) {
+ } else {
+ }
+}
+
+// Mid ({str|buf}, int, int, Result) => Buffer or String
+Method(m526, 1)
+{
+ Name(op, 0)
+
+ Name(ts, "m526")
+
+ ts00(ts)
+
+ if (arg0) {
+ } else {
+ }
+}
+
+// Mod (int, int, Result) => Integer
+Method(m527, 1)
+{
+ Name(op, 0)
+
+ Name(ts, "m527")
+
+ ts00(ts)
+
+ if (arg0) {
+ } else {
+ }
+}
+
+// Multiply (int, int, Result) => Integer
+Method(m528, 1)
+{
+ Name(op, 0)
+
+ Name(ts, "m528")
+
+ ts00(ts)
+
+ if (arg0) {
+ } else {
+ }
+}
+
+// NAnd (int, int, Result) => Integer
+Method(m529, 1)
+{
+ Name(op, 0)
+
+ Name(ts, "m529")
+
+ ts00(ts)
+
+ if (arg0) {
+ } else {
+ }
+}
+
+// NOr (int, int, Result) => Integer
+Method(m530, 1)
+{
+ Name(op, 0)
+
+ Name(ts, "m530")
+
+ ts00(ts)
+
+ if (arg0) {
+ } else {
+ }
+}
+
+// Not (int, Result) => Integer
+Method(m531, 1)
+{
+ Name(op, 0)
+
+ Name(ts, "m531")
+
+ ts00(ts)
+
+ if (arg0) {
+ } else {
+ }
+}
+
+// ObjectType (any) => Integer
+Method(m532, 1)
+{
+ Name(op, 0)
+
+ Name(ts, "m532")
+
+ ts00(ts)
+
+ if (arg0) {
+ } else {
+ }
+}
+
+// Or (int, int, Result) => Integer
+Method(m533, 1)
+{
+ Name(op, 0)
+
+ Name(ts, "m533")
+
+ ts00(ts)
+
+ if (arg0) {
+ } else {
+ }
+}
+
+// RefOf (any) => ObjectReference
+Method(m534, 1)
+{
+ Name(op, 0)
+
+ Name(ts, "m534")
+
+ ts00(ts)
+
+ if (arg0) {
+ } else {
+ }
+}
+
+// Return ({any|ref})
+Method(m537, 1)
+{
+ Name(op, 0)
+
+ Name(ts, "m537")
+
+ ts00(ts)
+
+ if (arg0) {
+ } else {
+ }
+}
+
+// ShiftLeft (int, int, Result) => Integer
+Method(m538, 1)
+{
+ Name(op, 0)
+
+ Name(ts, "m538")
+
+ ts00(ts)
+
+ if (arg0) {
+ } else {
+ }
+}
+
+// ShiftRight (int, int, Result) => Integer
+Method(m539, 1)
+{
+ Name(op, 0)
+
+ Name(ts, "m539")
+
+ ts00(ts)
+
+ if (arg0) {
+ } else {
+ }
+}
+
+// SizeOf ({int|str|buf|pkg}) => Integer
+Method(m541, 1)
+{
+ Name(op, 0)
+
+ Name(ts, "m541")
+
+ ts00(ts)
+
+ if (arg0) {
+ } else {
+ }
+}
+
+// Store (any, Destination) => DataRefObject
+Method(m544, 1)
+{
+ Name(ts, "m544")
+
+ ts00(ts)
+
+ Name(ss00, "DEF")
+ Store("ABC", ss00)
+
+ Store(ObjectType(ss00), Local0)
+ if (LNotEqual(Local0, 2)) {
+ err(ts, z067, 8, 0, 0, Local0, 2)
+ } elseif (LNotEqual(ss00, "ABC")) {
+ err(ts, z067, 9, 0, 0, ss00, "ABC")
+ }
+
+ // If the string is shorter than the buffer, the buffer size is reduced.
+
+ Name(b000, Buffer(200) {})
+ Name(b001, Buffer() {0x41,0x42,0x43,0x44,0x45,0x46})
+
+ Store("ABCDEF", b000)
+ Store(ObjectType(b000), Local0)
+ Store(SizeOf(b000), Local1)
+
+ if (LNotEqual(Local0, 3)) {
+ err(ts, z067, 10, 0, 0, Local0, 3)
+ } elseif (LNotEqual(Local1, 6)) {
+ err(ts, z067, 11, 0, 0, Local1, 6)
+ } elseif (LNotEqual(b000, b001)) {
+ err(ts, z067, 12, 0, 0, b000, b001)
+ }
+
+/*
+ Store("================ 000000000:", Debug)
+ Store(Local0, Debug)
+ Store(Local1, Debug)
+
+
+ CopyObject("ABC", b000)
+ Store(SizeOf(b000), Local0)
+ Store(ObjectType(b000), Local1)
+
+ Store("================ 000000000:", Debug)
+ Store(Local0, Debug)
+ Store(Local1, Debug)
+*/
+}
+
+// Subtract (int, int, Result) => Integer
+Method(m545, 1)
+{
+ Name(op, 0)
+
+ Name(ts, "m545")
+
+ ts00(ts)
+
+ if (arg0) {
+ } else {
+ }
+}
+
+// ToBCD (int, Result) => Integer
+Method(m546, 1)
+{
+ Name(op, 0)
+
+ Name(ts, "m546")
+
+ ts00(ts)
+
+ if (arg0) {
+ } else {
+ }
+}
+
+// ToBuffer ({int|str|buf}, Result) => Buffer
+Method(m547, 1)
+{
+ Name(op, 0)
+
+ Name(ts, "m547")
+
+ ts00(ts)
+
+ if (arg0) {
+ } else {
+ }
+}
+
+// ToDecimalString ({int|str|buf}, Result) => String
+Method(m548, 1)
+{
+ Name(op, 0)
+
+ Name(ts, "m548")
+
+ ts00(ts)
+
+ if (arg0) {
+ } else {
+ }
+}
+
+// ToHexString ({int|str|buf}, Result) => String
+Method(m549, 1)
+{
+ Name(op, 0)
+
+ Name(ts, "m549")
+
+ ts00(ts)
+
+ if (arg0) {
+ } else {
+ }
+}
+
+// ToInteger ({int|str|buf}, Result) => Integer
+Method(m550, 1)
+{
+ Name(op, 0)
+
+ Name(ts, "m550")
+
+ ts00(ts)
+
+ if (arg0) {
+ } else {
+ }
+}
+
+// ToString (buf, int, Result) => String
+Method(m551, 1)
+{
+ Name(op, 0)
+
+ Name(ts, "m551")
+
+ ts00(ts)
+
+ if (arg0) {
+ } else {
+ }
+}
+
+// Wait (evt, int) => Boolean
+Method(m552, 1)
+{
+ Name(op, 0)
+
+ Name(ts, "m552")
+
+ ts00(ts)
+
+ if (arg0) {
+ } else {
+ }
+}
+
+// XOr (int, int, Result) => Integer
+Method(m553, 1)
+{
+ Name(op, 0)
+
+ Name(ts, "m553")
+
+ ts00(ts)
+
+ if (arg0) {
+ } else {
+ }
+}
+
+Method(m560, 1)
+{
+/*
+ m500(arg0)
+ m501(arg0)
+ m502(arg0)
+ m503(arg0)
+ m504(arg0)
+ m505(arg0)
+ m506(arg0)
+ m507(arg0)
+ m508(arg0)
+ m509(arg0)
+ m511(arg0)
+ m512(arg0)
+ m513(arg0)
+ m514(arg0)
+ m515(arg0)
+ m516(arg0)
+ m517(arg0)
+ m518(arg0)
+ m519(arg0)
+ m520(arg0)
+ m521(arg0)
+ m522(arg0)
+ m523(arg0)
+ m524(arg0)
+ m525(arg0)
+ m526(arg0)
+ m527(arg0)
+ m528(arg0)
+ m529(arg0)
+ m530(arg0)
+ m531(arg0)
+ m532(arg0)
+ m533(arg0)
+ m534(arg0)
+ m537(arg0)
+ m538(arg0)
+ m539(arg0)
+ m541(arg0)
+ m544(arg0)
+ m545(arg0)
+ m546(arg0)
+ m547(arg0)
+ m548(arg0)
+ m549(arg0)
+ m550(arg0)
+ m551(arg0)
+ m552(arg0)
+ m553(arg0)
+*/
+
+ m500(arg0)
+ m501(arg0)
+ m502(arg0)
+ m503(arg0)
+ m544(arg0)
+}