1/* 2 * Some or all of this work - Copyright (c) 2006 - 2021, 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 execution control 31 * 32 * Switch, Case(Package), Default operators 33 */ 34 35/* 36SEE: why exception doesn't occur for uninitialized elements there?????? 37SEE: use all the specific cases specified in DOCUMENT 1. 38SEE: add the tests for "Specification of Match should explicitly say 39 that no exceptions occur while this "cruising through the package"" 40*/ 41 42Name(z072, 72) 43 44// The same as m0df and m0e0 but with Packages 45Method(m0e7, 1) 46{ 47 Switch (arg0) { 48 49 // Buffer 50 51 Case (Package(1) {Buffer(1){10}}) { 52 Store(0, Local7) 53 } 54 Case (Package() {Buffer(2){11,12}}) { 55 Store(1, Local7) 56 } 57 Case (Package() {Buffer() {13,14,15}}) { 58 Store(2, Local7) 59 } 60 Case (Package() {Buffer(2){16,17,18}}) { 61 Store(3, Local7) 62 } 63 Case (Package() {Buffer(3){19,20}}) { 64 Store(4, Local7) 65 } 66 Case (Package() {Buffer(3){21,22,23}}) { 67 Store(5, Local7) 68 } 69 Case (Package() {Buffer(4){24,25,26,27}}) { 70 Store(6, Local7) 71 } 72 Case (Package() {Buffer(5){28,29,30,31,32}}) { 73 Store(7, Local7) 74 } 75 Case (Package() {Buffer(8){33,34,35,36,37,38,39,40}}) { 76 Store(8, Local7) 77 } 78 Case (Package() {Buffer(){0x12,0x34,0x56,0x78,0x9a,0xbc,0xde,0xf0}}) { 79 Store(9, Local7) 80 } 81 Case (Package() {Buffer(9){41,42,43,44,45,46,47,48,49}}) { 82 Store(10, Local7) 83 } 84 Case (Package() {Buffer(67){0x7d}}) { 85 Store(11, Local7) 86 } 87 Case (Package() {Buffer() { 88 0x00,0x00,0x02,0x03,0x04,0x05,0x06,0x07, 89 0x08,0x09,0x0a,0x0b,0x0c,0x0d,0x0e,0x0f, 90 0x00,0x11,0x12,0x13,0x14,0x15,0x16,0x17, 91 0x18,0x19,0x1a,0x1b,0x1c,0x1d,0x1e,0x1f, 92 0x10,0x21,0x22,0x23,0x24,0x25,0x26,0x27, 93 0x28,0x29,0x2a,0x2b,0x2c,0x2d,0x2e,0x2f, 94 0x20,0x31,0x32,0x33,0x34,0x35,0x36,0x37, 95 0x38,0x39,0x3a,0x3b,0x3c,0x3d,0x3e,0x3f, 96 0x30,0x41,0x42}}) { 97 Store(12, Local7) 98 } 99 Case (Package() {Buffer(67) { 100 0x00,0x00,0x02,0x03,0x04,0x05,0x06,0x07, 101 0x08,0x09,0x0a,0x0b,0x0c,0x0d,0x0e,0x0f, 102 0x00,0x11,0x12,0x13,0x14,0x15,0x16,0x17, 103 0x18,0x19,0x1a,0x1b,0x1c,0x1d,0x1e,0x1f, 104 0x10,0x21,0x22,0x23,0x24,0x25,0x26,0x27, 105 0x28,0x29,0x2a,0x2b,0x2c,0x2d,0x2e,0x2f, 106 0x20,0x31,0x32,0x33,0x34,0x35,0x36,0x37, 107 0x38,0x39,0x3a,0x3b,0x3c,0x3d,0x3e,0x3f, 108 0x30,0x41,0x42}}) { 109 Store(13, Local7) 110 } 111 Case (Package() {Buffer(4){0,0,0,0}}) { 112 Store(14, Local7) 113 } 114 Case (Package() {Buffer(8){0,0,0,0,0,0,0,0}}) { 115 Store(15, Local7) 116 } 117 Case (Package() {Buffer(4){0xff,0xff,0xff,0xff}}) { 118 Store(16, Local7) 119 } 120 Case (Package() {Buffer(9){0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff}}) { 121 Store(17, Local7) 122 } 123 Case (Package() {Buffer(8){0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff}}) { 124 Store(18, Local7) 125 } 126 Case (Package() {Buffer(5){0xff,0xff,0xff,0xff,0xff}}) { 127 Store(19, Local7) 128 } 129 Case (Package() {Buffer(1){0xff}}) { 130 Store(20, Local7) 131 } 132 Case (Package() {Buffer(1){}}) { 133 Store(21, Local7) 134 } 135 Case (Package() {Buffer(5){}}) { 136 Store(22, Local7) 137 } 138 Case (Package() {Buffer(9){}}) { 139 Store(23, Local7) 140 } 141 Case (Package() {Buffer(9){0xab, 0xcd, 0xef}}) { 142 Store(24, Local7) 143 } 144 145 // String 146 147 Case (Package() {"0321"}) { 148 Store(25, Local7) 149 } 150 Case (Package() {"321"}) { 151 Store(26, Local7) 152 } 153 Case (Package() {"ba9876"}) { 154 Store(27, Local7) 155 } 156 Case (Package() {"c179b3fe"}) { 157 Store(28, Local7) 158 } 159 Case (Package() {"fe7cb391d650a284"}) { 160 Store(29, Local7) 161 } 162 Case (Package() {"ffffffff"}) { 163 Store(30, Local7) 164 } 165 Case (Package() {"ffffffffffffffff"}) { 166 Store(31, Local7) 167 } 168 Case (Package() {"ffffffffff"}) { 169 Store(32, Local7) 170 } 171 Case (Package() {"ff"}) { 172 Store(33, Local7) 173 } 174 Case (Package() {"987654321"}) { 175 Store(34, Local7) 176 } 177 Case (Package() {"0xfe7cb3"}) { 178 Store(35, Local7) 179 } 180 181 // Integer 182 183 Case (Package() {0321}) { 184 Store(36, Local7) 185 } 186 Case (Package() {9876543210}) { 187 Store(37, Local7) 188 } 189 Case (Package() {0xc179b3fe}) { 190 Store(38, Local7) 191 } 192 Case (Package() {0xfe7cb391d650a284}) { 193 Store(39, Local7) 194 } 195 Case (Package() {0}) { 196 Store(40, Local7) 197 } 198 Case (Package() {0xffffffff}) { 199 Store(41, Local7) 200 } 201 Case (Package() {0xffffffffffffffff}) { 202 Store(42, Local7) 203 } 204 Case (Package() {0xff}) { 205 Store(43, Local7) 206 } 207 Case (Package() {0xabcdef}) { 208 Store(44, Local7) 209 } 210 211 Default { 212 Store(45, Local7) 213 } 214 } 215 216 return (Local7) 217} 218 219Method(m0e8, 1) 220{ 221 // Integer 222 223 Store(m0e7(0321), Local0) 224 if (LNotEqual(Local0, 36)) { 225 err(arg0, z072, __LINE__, 0, 0, Local0, 36) 226 } 227 Store(m0e7(0xd1), Local0) 228 if (LNotEqual(Local0, 36)) { 229 err(arg0, z072, __LINE__, 0, 0, Local0, 36) 230 } 231 Store(m0e7(9876543210), Local0) 232 if (LNotEqual(Local0, 37)) { 233 err(arg0, z072, __LINE__, 0, 0, Local0, 37) 234 } 235 Store(m0e7(0xc179b3fe), Local0) 236 if (LNotEqual(Local0, 28)) { 237 err(arg0, z072, __LINE__, 0, 0, Local0, 28) 238 } 239 Store(m0e7(0xfe7cb391d650a284), Local0) 240 if (F64) { 241 if (LNotEqual(Local0, 29)) { 242 err(arg0, z072, __LINE__, 0, 0, Local0, 29) 243 } 244 } else { 245 if (LNotEqual(Local0, 39)) { 246 err(arg0, z072, __LINE__, 0, 0, Local0, 39) 247 } 248 } 249 Store(m0e7(0), Local0) 250 if (LNotEqual(Local0, 14)) { 251 err(arg0, z072, __LINE__, 0, 0, Local0, 14) 252 } 253 Store(m0e7(0xffffffff), Local0) 254 if (LNotEqual(Local0, 16)) { 255 err(arg0, z072, __LINE__, 0, 0, Local0, 16) 256 } 257 Store(m0e7(0xffffffffffffffff), Local0) 258 if (F64) { 259 if (LNotEqual(Local0, 17)) { 260 err(arg0, z072, __LINE__, 0, 0, Local0, 17) 261 } 262 } else { 263 if (LNotEqual(Local0, 16)) { 264 err(arg0, z072, __LINE__, 0, 0, Local0, 16) 265 } 266 } 267 Store(m0e7(0xff), Local0) 268 if (LNotEqual(Local0, 20)) { 269 err(arg0, z072, __LINE__, 0, 0, Local0, 20) 270 } 271 Store(m0e7(0xabcdef), Local0) 272 if (LNotEqual(Local0, 44)) { 273 err(arg0, z072, __LINE__, 0, 0, Local0, 44) 274 } 275} 276 277// The same as m0e3 and m0e4 but with Packages 278Method(m0e9, 1) 279{ 280 Switch (ToString(arg0)) { 281 282 // Integer 283 284 Case (Package() {0321}) { 285 Store(0, Local7) 286 } 287 Case (Package() {9876543210}) { 288 Store(1, Local7) 289 } 290 Case (Package() {0xc179b3fe}) { 291 Store(2, Local7) 292 } 293 Case (Package() {0xfe7cb391d650a284}) { 294 Store(3, Local7) 295 } 296 Case (Package() {0}) { 297 Store(4, Local7) 298 } 299 Case (Package() {0xffffffff}) { 300 Store(5, Local7) 301 } 302 Case (Package() {0xffffffffffffffff}) { 303 Store(6, Local7) 304 } 305 Case (Package() {0xff}) { 306 Store(7, Local7) 307 } 308 Case (Package() {0xabcdef}) { 309 Store(8, Local7) 310 } 311 312 // Buffer 313 314 Case (Package() {Buffer(1){10}}) { 315 Store(9, Local7) 316 } 317 Case (Package() {Buffer(2){11,12}}) { 318 Store(10, Local7) 319 } 320 Case (Package() {Buffer() {13,14,15}}) { 321 Store(11, Local7) 322 } 323 Case (Package() {Buffer(2){16,17,18}}) { 324 Store(12, Local7) 325 } 326 Case (Package() {Buffer(3){19,20}}) { 327 Store(13, Local7) 328 } 329 Case (Package() {Buffer(3){21,22,23}}) { 330 Store(14, Local7) 331 } 332 Case (Package() {Buffer(4){24,25,26,27}}) { 333 Store(15, Local7) 334 } 335 Case (Package() {Buffer(5){28,29,30,31,32}}) { 336 Store(16, Local7) 337 } 338 Case (Package() {Buffer(8){33,34,35,36,37,38,39,40}}) { 339 Store(17, Local7) 340 } 341 Case (Package() {Buffer(){0x12,0x34,0x56,0x78,0x9a,0xbc,0xde,0xf0}}) { 342 Store(18, Local7) 343 } 344 Case (Package() {Buffer(9){41,42,43,44,45,46,47,48,49}}) { 345 Store(19, Local7) 346 } 347 Case (Package() {Buffer(67){0x7d}}) { 348 Store(20, Local7) 349 } 350 Case (Package() {Buffer() { 351 0x00,0x00,0x02,0x03,0x04,0x05,0x06,0x07, 352 0x08,0x09,0x0a,0x0b,0x0c,0x0d,0x0e,0x0f, 353 0x00,0x11,0x12,0x13,0x14,0x15,0x16,0x17, 354 0x18,0x19,0x1a,0x1b,0x1c,0x1d,0x1e,0x1f, 355 0x10,0x21,0x22,0x23,0x24,0x25,0x26,0x27, 356 0x28,0x29,0x2a,0x2b,0x2c,0x2d,0x2e,0x2f, 357 0x20,0x31,0x32,0x33,0x34,0x35,0x36,0x37, 358 0x38,0x39,0x3a,0x3b,0x3c,0x3d,0x3e,0x3f, 359 0x30,0x41,0x42}}) { 360 Store(21, Local7) 361 } 362 Case (Package() {Buffer(67) { 363 0x00,0x00,0x02,0x03,0x04,0x05,0x06,0x07, 364 0x08,0x09,0x0a,0x0b,0x0c,0x0d,0x0e,0x0f, 365 0x00,0x11,0x12,0x13,0x14,0x15,0x16,0x17, 366 0x18,0x19,0x1a,0x1b,0x1c,0x1d,0x1e,0x1f, 367 0x10,0x21,0x22,0x23,0x24,0x25,0x26,0x27, 368 0x28,0x29,0x2a,0x2b,0x2c,0x2d,0x2e,0x2f, 369 0x20,0x31,0x32,0x33,0x34,0x35,0x36,0x37, 370 0x38,0x39,0x3a,0x3b,0x3c,0x3d,0x3e,0x3f, 371 0x30,0x41,0x42}}) { 372 Store(22, Local7) 373 } 374 Case (Package() {Buffer(4){0,0,0,0}}) { 375 Store(23, Local7) 376 } 377 Case (Package() {Buffer(8){0,0,0,0,0,0,0,0}}) { 378 Store(24, Local7) 379 } 380 Case (Package() {Buffer(4){0xff,0xff,0xff,0xff}}) { 381 Store(25, Local7) 382 } 383 Case (Package() {Buffer(9){0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff}}) { 384 Store(26, Local7) 385 } 386 Case (Package() {Buffer(8){0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff}}) { 387 Store(27, Local7) 388 } 389 Case (Package() {Buffer(5){0xff,0xff,0xff,0xff,0xff}}) { 390 Store(28, Local7) 391 } 392 Case (Package() {Buffer(1){0xff}}) { 393 Store(29, Local7) 394 } 395 Case (Package() {Buffer(1){}}) { 396 Store(30, Local7) 397 } 398 Case (Package() {Buffer(5){}}) { 399 Store(31, Local7) 400 } 401 Case (Package() {Buffer(9){}}) { 402 Store(32, Local7) 403 } 404 Case (Package() {Buffer(9){0xab, 0xcd, 0xef}}) { 405 Store(33, Local7) 406 } 407 408 // String 409 410 Case (Package() {"0321"}) { 411 Store(34, Local7) 412 } 413 Case (Package() {"321"}) { 414 Store(35, Local7) 415 } 416 Case (Package() {"ba9876"}) { 417 Store(36, Local7) 418 } 419 Case (Package() {"c179b3fe"}) { 420 Store(37, Local7) 421 } 422 Case (Package() {"fe7cb391d650a284"}) { 423 Store(38, Local7) 424 } 425 Case (Package() {"ffffffff"}) { 426 Store(39, Local7) 427 } 428 Case (Package() {"ffffffffffffffffff"}) { 429 Store(40, Local7) 430 } 431 Case (Package() {"ffffffffffffffff"}) { 432 Store(41, Local7) 433 } 434 Case (Package() {"ffffffffff"}) { 435 Store(42, Local7) 436 } 437 Case (Package() {"ff"}) { 438 Store(43, Local7) 439 } 440 Case (Package() {"fe7cb391d650a2841"}) { 441 Store(44, Local7) 442 } 443 Case (Package() {"987654321"}) { 444 Store(45, Local7) 445 } 446 Case (Package() {"0xfe7cb3"}) { 447 Store(46, Local7) 448 } 449 Case (Package() {"1234q"}) { 450 Store(47, Local7) 451 } 452 Case (Package() {"qwertyuiopasdfghjklzxcvbnm1234567890QWERTYUIOPASDFGHJKLZXCVBNMqwertyuiopasdfghjklzxcvbnm1234567890QWERTYUIOPASDFGHJKLZXCVBNMqwertyuiopasdfghjklzxcvbnm1234567890QWERTYUIOPASDFGHJKLZXCVBNMqwertyuiopasdf"}) { 453 Store(48, Local7) 454 } 455 Case (Package() {""}) { 456 Store(49, Local7) 457 } 458 Case (Package() {" "}) { 459 Store(50, Local7) 460 } 461 Case (Package() {"`1234567890-=qwertyuiop[]\\asdfghjkl;'zxcvbnm,./~!@#$%^&*()_+QWERTYUIOP{}|ASDFGHJKL:\"ZXCVBNM<>?"}) { 462 Store(51, Local7) 463 } 464 Case (Package() {"abcdef"}) { 465 Store(52, Local7) 466 } 467 Case (Package() {"ABCDEF"}) { 468 Store(53, Local7) 469 } 470 471 Default { 472 Store(54, Local7) 473 } 474 } 475 476 return (Local7) 477} 478 479Method(m0ea, 1) 480{ 481 // String 482 483 Store(m0e9("0321"), Local0) 484 if (LNotEqual(Local0, 34)) { 485 err(arg0, z072, __LINE__, 0, 0, Local0, 34) 486 } 487 Store(m0e9("321"), Local0) 488 if (LNotEqual(Local0, 35)) { 489 err(arg0, z072, __LINE__, 0, 0, Local0, 35) 490 } 491 Store(m0e9("ba9876"), Local0) 492 if (LNotEqual(Local0, 36)) { 493 err(arg0, z072, __LINE__, 0, 0, Local0, 36) 494 } 495 Store(m0e9("c179b3fe"), Local0) 496 if (LNotEqual(Local0, 37)) { 497 err(arg0, z072, __LINE__, 0, 0, Local0, 37) 498 } 499 Store(m0e9("fe7cb391d650a284"), Local0) 500 if (LNotEqual(Local0, 38)) { 501 err(arg0, z072, __LINE__, 0, 0, Local0, 38) 502 } 503 Store(m0e9("ffffffff"), Local0) 504 if (LNotEqual(Local0, 39)) { 505 err(arg0, z072, __LINE__, 0, 0, Local0, 39) 506 } 507 Store(m0e9("ffffffffffffffffff"), Local0) 508 if (LNotEqual(Local0, 40)) { 509 err(arg0, z072, __LINE__, 0, 0, Local0, 40) 510 } 511 Store(m0e9("ffffffffffffffff"), Local0) 512 if (LNotEqual(Local0, 41)) { 513 err(arg0, z072, __LINE__, 0, 0, Local0, 41) 514 } 515 Store(m0e9("ffffffffff"), Local0) 516 if (LNotEqual(Local0, 42)) { 517 err(arg0, z072, __LINE__, 0, 0, Local0, 42) 518 } 519 Store(m0e9("ff"), Local0) 520 if (LNotEqual(Local0, 43)) { 521 err(arg0, z072, __LINE__, 0, 0, Local0, 43) 522 } 523 Store(m0e9("fe7cb391d650a2841"), Local0) 524 if (LNotEqual(Local0, 44)) { 525 err(arg0, z072, __LINE__, 0, 0, Local0, 44) 526 } 527 Store(m0e9("987654321"), Local0) 528 if (LNotEqual(Local0, 45)) { 529 err(arg0, z072, __LINE__, 0, 0, Local0, 45) 530 } 531 Store(m0e9("0xfe7cb3"), Local0) 532 if (LNotEqual(Local0, 46)) { 533 err(arg0, z072, __LINE__, 0, 0, Local0, 46) 534 } 535 Store(m0e9("1234q"), Local0) 536 if (LNotEqual(Local0, 47)) { 537 err(arg0, z072, __LINE__, 0, 0, Local0, 47) 538 } 539 Store(m0e9(BIG0), Local0) 540 if (LNotEqual(Local0, 48)) { 541 err(arg0, z072, __LINE__, 0, 0, Local0, 48) 542 } 543 Store(m0e9(""), Local0) 544 if (LNotEqual(Local0, 49)) { 545 err(arg0, z072, __LINE__, 0, 0, Local0, 49) 546 } 547 Store(m0e9(" "), Local0) 548 if (LNotEqual(Local0, 50)) { 549 err(arg0, z072, __LINE__, 0, 0, Local0, 50) 550 } 551 Store(m0e9(ALL0), Local0) 552 if (LNotEqual(Local0, 51)) { 553 err(arg0, z072, __LINE__, 0, 0, Local0, 51) 554 } 555 Store(m0e9("abcdef"), Local0) 556 if (LNotEqual(Local0, 52)) { 557 err(arg0, z072, __LINE__, 0, 0, Local0, 52) 558 } 559 Store(m0e9("ABCDEF"), Local0) 560 if (LNotEqual(Local0, 53)) { 561 err(arg0, z072, __LINE__, 0, 0, Local0, 53) 562 } 563} 564 565// The same as m0e5 and m0e6 but with Packages 566Method(m0eb, 1) 567{ 568 Switch (ToBuffer(arg0)) { 569 570 // Integer 571 572 Case (Package() {0321}) { 573 Store(0, Local7) 574 } 575 Case (Package() {9876543210}) { 576 Store(1, Local7) 577 } 578 Case (Package() {0xc179b3fe}) { 579 Store(2, Local7) 580 } 581 Case (Package() {0xfe7cb391d650a284}) { 582 Store(3, Local7) 583 } 584 Case (Package() {0}) { 585 Store(4, Local7) 586 } 587 Case (Package() {0xffffffff}) { 588 Store(5, Local7) 589 } 590 Case (Package() {0xffffffffffffffff}) { 591 Store(6, Local7) 592 } 593 Case (Package() {0xff}) { 594 Store(7, Local7) 595 } 596 Case (Package() {0xabcdef}) { 597 Store(8, Local7) 598 } 599 600 // String 601 602 Case (Package() {"0321"}) { 603 Store(9, Local7) 604 } 605 Case (Package() {"321"}) { 606 Store(10, Local7) 607 } 608 Case (Package() {"ba9876"}) { 609 Store(11, Local7) 610 } 611 Case (Package() {"c179b3fe"}) { 612 Store(12, Local7) 613 } 614 Case (Package() {"fe7cb391d650a284"}) { 615 Store(13, Local7) 616 } 617 Case (Package() {"ffffffff"}) { 618 Store(14, Local7) 619 } 620 Case (Package() {"ffffffffffffffffff"}) { 621 Store(15, Local7) 622 } 623 Case (Package() {"ffffffffffffffff"}) { 624 Store(16, Local7) 625 } 626 Case (Package() {"ffffffffff"}) { 627 Store(17, Local7) 628 } 629 Case (Package() {"ff"}) { 630 Store(18, Local7) 631 } 632 Case (Package() {"fe7cb391d650a2841"}) { 633 Store(19, Local7) 634 } 635 Case (Package() {"987654321"}) { 636 Store(20, Local7) 637 } 638 Case (Package() {"0xfe7cb3"}) { 639 Store(21, Local7) 640 } 641 Case (Package() {"1234q"}) { 642 Store(22, Local7) 643 } 644 Case (Package() {"qwertyuiopasdfghjklzxcvbnm1234567890QWERTYUIOPASDFGHJKLZXCVBNMqwertyuiopasdfghjklzxcvbnm1234567890QWERTYUIOPASDFGHJKLZXCVBNMqwertyuiopasdfghjklzxcvbnm1234567890QWERTYUIOPASDFGHJKLZXCVBNMqwertyuiopasdf"}) { 645 Store(23, Local7) 646 } 647 Case (Package() {""}) { 648 Store(24, Local7) 649 } 650 Case (Package() {" "}) { 651 Store(25, Local7) 652 } 653 Case (Package() {"`1234567890-=qwertyuiop[]\\asdfghjkl;'zxcvbnm,./~!@#$%^&*()_+QWERTYUIOP{}|ASDFGHJKL:\"ZXCVBNM<>?"}) { 654 Store(26, Local7) 655 } 656 Case (Package() {"abcdef"}) { 657 Store(27, Local7) 658 } 659 Case (Package() {"ABCDEF"}) { 660 Store(28, Local7) 661 } 662 663 // Buffer 664 665 Case (Package() {Buffer(1){10}}) { 666 Store(29, Local7) 667 } 668 Case (Package() {Buffer(2){11,12}}) { 669 Store(30, Local7) 670 } 671 Case (Package() {Buffer() {13,14,15}}) { 672 Store(31, Local7) 673 } 674 Case (Package() {Buffer(2){16,17,18}}) { 675 Store(32, Local7) 676 } 677 Case (Package() {Buffer(3){19,20}}) { 678 Store(33, Local7) 679 } 680 Case (Package() {Buffer(3){21,22,23}}) { 681 Store(34, Local7) 682 } 683 Case (Package() {Buffer(4){24,25,26,27}}) { 684 Store(35, Local7) 685 } 686 Case (Package() {Buffer(5){28,29,30,31,32}}) { 687 Store(36, Local7) 688 } 689 Case (Package() {Buffer(8){33,34,35,36,37,38,39,40}}) { 690 Store(37, Local7) 691 } 692 Case (Package() {Buffer(){0x12,0x34,0x56,0x78,0x9a,0xbc,0xde,0xf0}}) { 693 Store(38, Local7) 694 } 695 Case (Package() {Buffer(9){41,42,43,44,45,46,47,48,49}}) { 696 Store(39, Local7) 697 } 698 Case (Package() {Buffer(257){0x7d}}) { 699 Store(40, Local7) 700 } 701 Case (Package() {Buffer(257) { 702 // 0-127 703 0x00,0x00,0x02,0x03,0x04,0x05,0x06,0x07, 704 0x08,0x09,0x0a,0x0b,0x0c,0x0d,0x0e,0x0f, 705 0x00,0x11,0x12,0x13,0x14,0x15,0x16,0x17, 706 0x18,0x19,0x1a,0x1b,0x1c,0x1d,0x1e,0x1f, 707 0x10,0x21,0x22,0x23,0x24,0x25,0x26,0x27, 708 0x28,0x29,0x2a,0x2b,0x2c,0x2d,0x2e,0x2f, 709 0x20,0x31,0x32,0x33,0x34,0x35,0x36,0x37, 710 0x38,0x39,0x3a,0x3b,0x3c,0x3d,0x3e,0x3f, 711 0x30,0x41,0x42,0x43,0x44,0x45,0x46,0x47, 712 0x48,0x49,0x4a,0x4b,0x4c,0x4d,0x4e,0x4f, 713 0x40,0x51,0x52,0x53,0x54,0x55,0x56,0x57, 714 0x58,0x59,0x5a,0x5b,0x5c,0x5d,0x5e,0x5f, 715 0x50,0x61,0x62,0x63,0x64,0x65,0x66,0x67, 716 0x68,0x69,0x6a,0x6b,0x6c,0x6d,0x6e,0x6f, 717 0x60,0x71,0x72,0x73,0x74,0x75,0x76,0x77, 718 0x78,0x79,0x7a,0x7b,0x7c,0x7d,0x7e,0x7f, 719 720 // 128-255 721 0x80,0x81,0x82,0x83,0x84,0x85,0x86,0x87, 722 0x88,0x89,0x8a,0x8b,0x8c,0x8d,0x8e,0x8f, 723 0x90,0x91,0x92,0x93,0x94,0x95,0x96,0x97, 724 0x98,0x99,0x9a,0x9b,0x9c,0x9d,0x9e,0x9f, 725 0xa0,0xa1,0xa2,0xa3,0xa4,0xa5,0xa6,0xa7, 726 0xa8,0xa9,0xaa,0xab,0xac,0xad,0xae,0xaf, 727 0xb0,0xb1,0xb2,0xb3,0xb4,0xb5,0xb6,0xb7, 728 0xb8,0xb9,0xba,0xbb,0xbc,0xbd,0xbe,0xbf, 729 0xc0,0xc1,0xc2,0xc3,0xc4,0xc5,0xc6,0xc7, 730 0xc8,0xc9,0xca,0xcb,0xcc,0xcd,0xce,0xcf, 731 0xd0,0xd1,0xd2,0xd3,0xd4,0xd5,0xd6,0xd7, 732 0xd8,0xd9,0xda,0xdb,0xdc,0xdd,0xde,0xdf, 733 0xe0,0xe1,0xe2,0xe3,0xe4,0xe5,0xe6,0xe7, 734 0xe8,0xe9,0xea,0xeb,0xec,0xed,0xee,0xef, 735 0xf0,0xf1,0xf2,0xf3,0xf4,0xf5,0xf6,0xf7, 736 0xf8,0xf9,0xfa,0xfb,0xfc,0xfd,0xfe,0xff, 737 // 256 738 0x01}}) { 739 Store(41, Local7) 740 } 741 Case (Package() {Buffer() { 742 // 0-127 743 0x00,0x00,0x02,0x03,0x04,0x05,0x06,0x07, 744 0x08,0x09,0x0a,0x0b,0x0c,0x0d,0x0e,0x0f, 745 0x00,0x11,0x12,0x13,0x14,0x15,0x16,0x17, 746 0x18,0x19,0x1a,0x1b,0x1c,0x1d,0x1e,0x1f, 747 0x10,0x21,0x22,0x23,0x24,0x25,0x26,0x27, 748 0x28,0x29,0x2a,0x2b,0x2c,0x2d,0x2e,0x2f, 749 0x20,0x31,0x32,0x33,0x34,0x35,0x36,0x37, 750 0x38,0x39,0x3a,0x3b,0x3c,0x3d,0x3e,0x3f, 751 0x30,0x41,0x42,0x43,0x44,0x45,0x46,0x47, 752 0x48,0x49,0x4a,0x4b,0x4c,0x4d,0x4e,0x4f, 753 0x40,0x51,0x52,0x53,0x54,0x55,0x56,0x57, 754 0x58,0x59,0x5a,0x5b,0x5c,0x5d,0x5e,0x5f, 755 0x50,0x61,0x62,0x63,0x64,0x65,0x66,0x67, 756 0x68,0x69,0x6a,0x6b,0x6c,0x6d,0x6e,0x6f, 757 0x60,0x71,0x72,0x73,0x74,0x75,0x76,0x77, 758 0x78,0x79,0x7a,0x7b,0x7c,0x7d,0x7e,0x7f, 759 760 // 128-255 761 0x80,0x81,0x82,0x83,0x84,0x85,0x86,0x87, 762 0x88,0x89,0x8a,0x8b,0x8c,0x8d,0x8e,0x8f, 763 0x90,0x91,0x92,0x93,0x94,0x95,0x96,0x97, 764 0x98,0x99,0x9a,0x9b,0x9c,0x9d,0x9e,0x9f, 765 0xa0,0xa1,0xa2,0xa3,0xa4,0xa5,0xa6,0xa7, 766 0xa8,0xa9,0xaa,0xab,0xac,0xad,0xae,0xaf, 767 0xb0,0xb1,0xb2,0xb3,0xb4,0xb5,0xb6,0xb7, 768 0xb8,0xb9,0xba,0xbb,0xbc,0xbd,0xbe,0xbf, 769 0xc0,0xc1,0xc2,0xc3,0xc4,0xc5,0xc6,0xc7, 770 0xc8,0xc9,0xca,0xcb,0xcc,0xcd,0xce,0xcf, 771 0xd0,0xd1,0xd2,0xd3,0xd4,0xd5,0xd6,0xd7, 772 0xd8,0xd9,0xda,0xdb,0xdc,0xdd,0xde,0xdf, 773 0xe0,0xe1,0xe2,0xe3,0xe4,0xe5,0xe6,0xe7, 774 0xe8,0xe9,0xea,0xeb,0xec,0xed,0xee,0xef, 775 0xf0,0xf1,0xf2,0xf3,0xf4,0xf5,0xf6,0xf7, 776 0xf8,0xf9,0xfa,0xfb,0xfc,0xfd,0xfe,0xff, 777 // 256 778 0x02}}) { 779 Store(42, Local7) 780 } 781 Case (Package() {Buffer(4){0,0,0,0}}) { 782 Store(43, Local7) 783 } 784 Case (Package() {Buffer(8){0,0,0,0,0,0,0,0}}) { 785 Store(44, Local7) 786 } 787 Case (Package() {Buffer(4){0xff,0xff,0xff,0xff}}) { 788 Store(45, Local7) 789 } 790 Case (Package() {Buffer(9){0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff}}) { 791 Store(46, Local7) 792 } 793 Case (Package() {Buffer(8){0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff}}) { 794 Store(47, Local7) 795 } 796 Case (Package() {Buffer(5){0xff,0xff,0xff,0xff,0xff}}) { 797 Store(48, Local7) 798 } 799 Case (Package() {Buffer(1){0xff}}) { 800 Store(49, Local7) 801 } 802 Case (Package() {Buffer(1){}}) { 803 Store(50, Local7) 804 } 805 Case (Package() {Buffer(5){}}) { 806 Store(51, Local7) 807 } 808 Case (Package() {Buffer(9){}}) { 809 Store(52, Local7) 810 } 811 Case (Package() {Buffer(9){0xab, 0xcd, 0xef}}) { 812 Store(53, Local7) 813 } 814 815 Default { 816 Store(54, Local7) 817 } 818 } 819 820 return (Local7) 821} 822 823Method(m0ec, 1) 824{ 825 // Buffer 826 827 Store(m0eb(Buffer(1){10}), Local0) 828 if (LNotEqual(Local0, 29)) { 829 err(arg0, z072, __LINE__, 0, 0, Local0, 29) 830 } 831 Store(m0eb(Buffer(2){11,12}), Local0) 832 if (LNotEqual(Local0, 30)) { 833 err(arg0, z072, __LINE__, 0, 0, Local0, 30) 834 } 835 Store(m0eb(Buffer() {13,14,15}), Local0) 836 if (LNotEqual(Local0, 31)) { 837 err(arg0, z072, __LINE__, 0, 0, Local0, 31) 838 } 839 Store(m0eb(Buffer(2){16,17,18}), Local0) 840 if (LNotEqual(Local0, 32)) { 841 err(arg0, z072, __LINE__, 0, 0, Local0, 32) 842 } 843 Store(m0eb(Buffer(3){19,20}), Local0) 844 if (LNotEqual(Local0, 33)) { 845 err(arg0, z072, __LINE__, 0, 0, Local0, 33) 846 } 847 Store(m0eb(Buffer(3){21,22,23}), Local0) 848 if (LNotEqual(Local0, 34)) { 849 err(arg0, z072, __LINE__, 0, 0, Local0, 34) 850 } 851 Store(m0eb(Buffer(4){24,25,26,27}), Local0) 852 if (LNotEqual(Local0, 35)) { 853 err(arg0, z072, __LINE__, 0, 0, Local0, 35) 854 } 855 Store(m0eb(Buffer(5){28,29,30,31,32}), Local0) 856 if (LNotEqual(Local0, 36)) { 857 err(arg0, z072, __LINE__, 0, 0, Local0, 36) 858 } 859 Store(m0eb(Buffer(8){33,34,35,36,37,38,39,40}), Local0) 860 if (LNotEqual(Local0, 37)) { 861 err(arg0, z072, __LINE__, 0, 0, Local0, 37) 862 } 863 Store(m0eb(Buffer(){0x12,0x34,0x56,0x78,0x9a,0xbc,0xde,0xf0}), Local0) 864 if (LNotEqual(Local0, 38)) { 865 err(arg0, z072, __LINE__, 0, 0, Local0, 38) 866 } 867 Store(m0eb(Buffer(9){41,42,43,44,45,46,47,48,49}), Local0) 868 if (LNotEqual(Local0, 39)) { 869 err(arg0, z072, __LINE__, 0, 0, Local0, 39) 870 } 871 Store(m0eb(Buffer(257){0x7d}), Local0) 872 if (LNotEqual(Local0, 40)) { 873 err(arg0, z072, __LINE__, 0, 0, Local0, 40) 874 } 875 Store(m0eb(Buffer(257) { 876 // 0-127 877 0x00,0x00,0x02,0x03,0x04,0x05,0x06,0x07, 878 0x08,0x09,0x0a,0x0b,0x0c,0x0d,0x0e,0x0f, 879 0x00,0x11,0x12,0x13,0x14,0x15,0x16,0x17, 880 0x18,0x19,0x1a,0x1b,0x1c,0x1d,0x1e,0x1f, 881 0x10,0x21,0x22,0x23,0x24,0x25,0x26,0x27, 882 0x28,0x29,0x2a,0x2b,0x2c,0x2d,0x2e,0x2f, 883 0x20,0x31,0x32,0x33,0x34,0x35,0x36,0x37, 884 0x38,0x39,0x3a,0x3b,0x3c,0x3d,0x3e,0x3f, 885 0x30,0x41,0x42,0x43,0x44,0x45,0x46,0x47, 886 0x48,0x49,0x4a,0x4b,0x4c,0x4d,0x4e,0x4f, 887 0x40,0x51,0x52,0x53,0x54,0x55,0x56,0x57, 888 0x58,0x59,0x5a,0x5b,0x5c,0x5d,0x5e,0x5f, 889 0x50,0x61,0x62,0x63,0x64,0x65,0x66,0x67, 890 0x68,0x69,0x6a,0x6b,0x6c,0x6d,0x6e,0x6f, 891 0x60,0x71,0x72,0x73,0x74,0x75,0x76,0x77, 892 0x78,0x79,0x7a,0x7b,0x7c,0x7d,0x7e,0x7f, 893 894 // 128-255 895 0x80,0x81,0x82,0x83,0x84,0x85,0x86,0x87, 896 0x88,0x89,0x8a,0x8b,0x8c,0x8d,0x8e,0x8f, 897 0x90,0x91,0x92,0x93,0x94,0x95,0x96,0x97, 898 0x98,0x99,0x9a,0x9b,0x9c,0x9d,0x9e,0x9f, 899 0xa0,0xa1,0xa2,0xa3,0xa4,0xa5,0xa6,0xa7, 900 0xa8,0xa9,0xaa,0xab,0xac,0xad,0xae,0xaf, 901 0xb0,0xb1,0xb2,0xb3,0xb4,0xb5,0xb6,0xb7, 902 0xb8,0xb9,0xba,0xbb,0xbc,0xbd,0xbe,0xbf, 903 0xc0,0xc1,0xc2,0xc3,0xc4,0xc5,0xc6,0xc7, 904 0xc8,0xc9,0xca,0xcb,0xcc,0xcd,0xce,0xcf, 905 0xd0,0xd1,0xd2,0xd3,0xd4,0xd5,0xd6,0xd7, 906 0xd8,0xd9,0xda,0xdb,0xdc,0xdd,0xde,0xdf, 907 0xe0,0xe1,0xe2,0xe3,0xe4,0xe5,0xe6,0xe7, 908 0xe8,0xe9,0xea,0xeb,0xec,0xed,0xee,0xef, 909 0xf0,0xf1,0xf2,0xf3,0xf4,0xf5,0xf6,0xf7, 910 0xf8,0xf9,0xfa,0xfb,0xfc,0xfd,0xfe,0xff, 911 // 256 912 0x01}), Local0) 913 if (LNotEqual(Local0, 41)) { 914 err(arg0, z072, __LINE__, 0, 0, Local0, 41) 915 } 916 Store(m0eb(Buffer() { 917 // 0-127 918 0x00,0x00,0x02,0x03,0x04,0x05,0x06,0x07, 919 0x08,0x09,0x0a,0x0b,0x0c,0x0d,0x0e,0x0f, 920 0x00,0x11,0x12,0x13,0x14,0x15,0x16,0x17, 921 0x18,0x19,0x1a,0x1b,0x1c,0x1d,0x1e,0x1f, 922 0x10,0x21,0x22,0x23,0x24,0x25,0x26,0x27, 923 0x28,0x29,0x2a,0x2b,0x2c,0x2d,0x2e,0x2f, 924 0x20,0x31,0x32,0x33,0x34,0x35,0x36,0x37, 925 0x38,0x39,0x3a,0x3b,0x3c,0x3d,0x3e,0x3f, 926 0x30,0x41,0x42,0x43,0x44,0x45,0x46,0x47, 927 0x48,0x49,0x4a,0x4b,0x4c,0x4d,0x4e,0x4f, 928 0x40,0x51,0x52,0x53,0x54,0x55,0x56,0x57, 929 0x58,0x59,0x5a,0x5b,0x5c,0x5d,0x5e,0x5f, 930 0x50,0x61,0x62,0x63,0x64,0x65,0x66,0x67, 931 0x68,0x69,0x6a,0x6b,0x6c,0x6d,0x6e,0x6f, 932 0x60,0x71,0x72,0x73,0x74,0x75,0x76,0x77, 933 0x78,0x79,0x7a,0x7b,0x7c,0x7d,0x7e,0x7f, 934 935 // 128-255 936 0x80,0x81,0x82,0x83,0x84,0x85,0x86,0x87, 937 0x88,0x89,0x8a,0x8b,0x8c,0x8d,0x8e,0x8f, 938 0x90,0x91,0x92,0x93,0x94,0x95,0x96,0x97, 939 0x98,0x99,0x9a,0x9b,0x9c,0x9d,0x9e,0x9f, 940 0xa0,0xa1,0xa2,0xa3,0xa4,0xa5,0xa6,0xa7, 941 0xa8,0xa9,0xaa,0xab,0xac,0xad,0xae,0xaf, 942 0xb0,0xb1,0xb2,0xb3,0xb4,0xb5,0xb6,0xb7, 943 0xb8,0xb9,0xba,0xbb,0xbc,0xbd,0xbe,0xbf, 944 0xc0,0xc1,0xc2,0xc3,0xc4,0xc5,0xc6,0xc7, 945 0xc8,0xc9,0xca,0xcb,0xcc,0xcd,0xce,0xcf, 946 0xd0,0xd1,0xd2,0xd3,0xd4,0xd5,0xd6,0xd7, 947 0xd8,0xd9,0xda,0xdb,0xdc,0xdd,0xde,0xdf, 948 0xe0,0xe1,0xe2,0xe3,0xe4,0xe5,0xe6,0xe7, 949 0xe8,0xe9,0xea,0xeb,0xec,0xed,0xee,0xef, 950 0xf0,0xf1,0xf2,0xf3,0xf4,0xf5,0xf6,0xf7, 951 0xf8,0xf9,0xfa,0xfb,0xfc,0xfd,0xfe,0xff, 952 // 256 953 0x02}), Local0) 954 if (LNotEqual(Local0, 42)) { 955 err(arg0, z072, __LINE__, 0, 0, Local0, 42) 956 } 957 if (F64) { 958 Store(m0eb(Buffer(4){0,0,0,0}), Local0) 959 if (LNotEqual(Local0, 43)) { 960 err(arg0, z072, __LINE__, 0, 0, Local0, 43) 961 } 962 Store(m0eb(Buffer(8){0,0,0,0,0,0,0,0}), Local0) 963 if (LNotEqual(Local0, 4)) { 964 err(arg0, z072, __LINE__, 0, 0, Local0, 4) 965 } 966 Store(m0eb(Buffer(4){0xff,0xff,0xff,0xff}), Local0) 967 if (LNotEqual(Local0, 45)) { 968 err(arg0, z072, __LINE__, 0, 0, Local0, 45) 969 } 970 Store(m0eb(Buffer(8){0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff}), Local0) 971 if (LNotEqual(Local0, 6)) { 972 err(arg0, z072, __LINE__, 0, 0, Local0, 6) 973 } 974 } else { 975 Store(m0eb(Buffer(4){0,0,0,0}), Local0) 976 if (LNotEqual(Local0, 4)) { 977 err(arg0, z072, __LINE__, 0, 0, Local0, 4) 978 } 979 Store(m0eb(Buffer(8){0,0,0,0,0,0,0,0}), Local0) 980 if (LNotEqual(Local0, 44)) { 981 err(arg0, z072, __LINE__, 0, 0, Local0, 44) 982 } 983 Store(m0eb(Buffer(4){0xff,0xff,0xff,0xff}), Local0) 984 if (LNotEqual(Local0, 5)) { 985 err(arg0, z072, __LINE__, 0, 0, Local0, 5) 986 } 987 Store(m0eb(Buffer(8){0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff}), Local0) 988 if (LNotEqual(Local0, 47)) { 989 err(arg0, z072, __LINE__, 0, 0, Local0, 47) 990 } 991 } 992 993 Store(m0eb(Buffer(9){0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff}), Local0) 994 if (LNotEqual(Local0, 46)) { 995 err(arg0, z072, __LINE__, 0, 0, Local0, 46) 996 } 997 Store(m0eb(Buffer(5){0xff,0xff,0xff,0xff,0xff}), Local0) 998 if (LNotEqual(Local0, 48)) { 999 err(arg0, z072, __LINE__, 0, 0, Local0, 48) 1000 } 1001 Store(m0eb(Buffer(1){0xff}), Local0) 1002 if (LNotEqual(Local0, 49)) { 1003 err(arg0, z072, __LINE__, 0, 0, Local0, 49) 1004 } 1005 Store(m0eb(Buffer(1){}), Local0) 1006 if (LNotEqual(Local0, 24)) { 1007 err(arg0, z072, __LINE__, 0, 0, Local0, 24) 1008 } 1009 Store(m0eb(Buffer(5){}), Local0) 1010 if (LNotEqual(Local0, 51)) { 1011 err(arg0, z072, __LINE__, 0, 0, Local0, 51) 1012 } 1013 Store(m0eb(Buffer(9){}), Local0) 1014 if (LNotEqual(Local0, 52)) { 1015 err(arg0, z072, __LINE__, 0, 0, Local0, 52) 1016 } 1017 Store(m0eb(Buffer(9){0xab, 0xcd, 0xef}), Local0) 1018 if (LNotEqual(Local0, 53)) { 1019 err(arg0, z072, __LINE__, 0, 0, Local0, 53) 1020 } 1021} 1022 1023// Run-method 1024Method(SW09,, Serialized) 1025{ 1026 Store("TEST: SW09, Switch, Case, Default operators", Debug) 1027 1028 Name(ts, "SW09") 1029 1030 m0e8(ts) 1031 m0ea(ts) 1032 m0ec(ts) 1033 1034 return (0) 1035} 1036